cli-modplayer

Play tracker music in your terminal

Слушай трекерную музыку в терминале

What is this?

Что это?

A terminal-based player for MOD tracker files. Runs on Linux, plays your .mod, .xm, .s3m, and .it files with a live pattern view like the old ProTracker and Fasttracker days.

Shows notes scrolling past, VU meters for each channel, FFT spectrum analyzer, and a real-time oscilloscope. Everything runs in your terminal.

Плеер для MOD-файлов прямо в терминале. Работает на Linux, запускает .mod, .xm, .s3m и .it с живым видом паттернов — как в старых добрых Protracker и Fasttracker.

Показывает прокручивающиеся ноты, VU-метры для каждого канала, FFT-спектр и осциллограф в реальном времени. Всё это в твоём терминале.

cli-modplayer screenshot

Quick features

Фичи

Installation

Установка

Arch Linux (AUR)

Install directly from AUR using your favorite AUR helper:

Установить программу можно через любой AUR-хелпер:

yay -S cli-modplayer
# or
# или
paru -S cli-modplayer

Build from source

Собери из исходников

You need these packages (Debian/Ubuntu example):

Нужны эти пакеты (пример для Debian/Ubuntu):

sudo apt install g++ cmake libopenmpt-dev portaudio19-dev

Optional for export formats:

Если нужен экспорт в разные форматы:

sudo apt install libmp3lame-dev libflac-dev

Build it:

Собери:

cmake -S . -B build
cmake --build build

Run it:

Запусти:

./build/cli-modplayer
# or# или
./build/cli-modplayer /path/to/song.mod

How to use it

Как пользоваться

Space - pause/resume
← → - jump orders
+ - - volume up/down
M - mute toggle
E - cycle audio effects
X - export dialog
N - module info (scrollable)
A - about page
Q - quit
Пробел - пауза/продолжить
← → - прыгнуть по ордерам
+ - - громкость вверх/вниз
M - выключить звук
E - переключить эффект
X - экспорт
N - инфо о модуле
A - о программе
Q - выход

What's new in 1.3.0

Что нового в 1.3.0

Added About page (press A) with ASCII art, version info, and credits. Module info overlay (press N) now shows everything without limits - all instruments and messages with proper scrolling using arrow keys, j/k, or PageUp/PageDown. Module info and export dialogs dim the background now and info window adapts to content size. Fixed playhead centering (was off by one), export thread doesn't hold mutex for entire duration anymore, arrow keys work properly in overlays, and info shows actual content height. Added file browser that starts when you run the program without arguments - shows only module files (.mod, .xm, .s3m, .it) with file sizes, navigate with arrow keys or j/k, Enter to select, Backspace for parent directory, Home/End to jump around, PgUp/PgDn to scroll fast, Q to quit. Built real-time oscilloscope with separate left (cyan) and right (green) waveforms using 512 samples per channel, updates live from audio stream and sits next to the FFT spectrum analyzer. Renamed project from cli-tracker to cli-modplayer so the executable is now called cli-modplayer. Added FileBrowser class for filesystem stuff, update_waveform() method in Player for capturing audio data, waveform_left and waveform_right fields in TransportState with thread-safe buffer handling. FFT spectrum analyzer with 20 logarithmic bands, audio effects (Bass Boost, Echo, Reverb, Flanger, Phaser, Chorus), export to WAV/MP3/FLAC

Добавил страницу «О программе» (жми A) с ASCII-артом, версией и авторами. Сделал инфо о модуле (жми N) — теперь показывает всё без ограничений: все инструменты и сообщения, можно скроллить стрелками, j/k или PageUp/PageDown. Окна инфо и экспорта затемняют фон, размер окна подстраивается под контент. Починил центровку курсора воспроизведения (была на единицу смещена), поток экспорта не держит мьютекс всё время, стрелки нормально работают в окнах, инфо показывает реальную высоту контента. Добавил браузер файлов — запускается, если программу запустить без аргументов, показывает только модульные файлы (.mod, .xm, .s3m, .it) с размерами, управление стрелками или j/k, Enter чтобы выбрать, Backspace для родительской папки, Home/End чтобы прыгнуть, PgUp/PgDn для быстрой прокрутки, Q чтобы выйти. Сделал осциллограф в реальном времени с отдельными левым (голубой) и правым (зелёный) каналами по 512 сэмплов, обновляется живьём из аудиопотока рядом с FFT-спектром. Переименовал проект из cli-tracker в cli-modplayer, теперь исполняемый файл называется cli-modplayer. Добавил класс FileBrowser для файловой системы, метод update_waveform() в Player для захвата аудио, поля waveform_left и waveform_right в TransportState с потокобезопасной работой с буферами. Сделал FFT-спектр с 20 логарифмическими полосами, аудиоэффекты (усиление баса, эхо, реверб, фленжер, фазер, хорус), экспорт в WAV/MP3/FLAC.

View on GitHub Download Release Проект на GitHub Скачать релиз