15 августа 2026 автор Jaxx497 опубликовал NoctaVox 0.3.4. Это локальный музыкальный плеер с текстовым интерфейсом в терминале. Репозиторий на GitHub, пакет на crates.io, лицензия MIT. Команда после установки: vox.
Это не стриминг и не клиент с аккаунтом. Плеер читает файлы с диска, сами треки не переписывает, в сеть не ходит и телеметрию не собирает. Состояние лежит в клиентской SQLite в каталоге конфигурации.
Зачем это, если есть обычный плеер
У части людей библиотека уже лежит на диске: FLAC, Opus, MP3, иногда ALAC с айфона. Облачный сервис тут лишний. GUI-плееры часто тянут плагины, сканеры, сетевые «фичи» и отдельный аккаунт. NoctaVox рассчитан на другой сценарий: открыл терминал, запустил vox, слушает свои файлы.
Управление в духе Vim: j/k, поиск через /, в очередь по q. Есть очередь, плейлисты, ReplayGain, бесшовное воспроизведение, системные медиакнопки, минимальный вид и визуализации (waveform, осциллограф, спектр). Автор прямо пишет, что это хобби-проект, в первую очередь учебный. Ждать от него уровень коммерческого клиента не стоит, зато границы понятные: локально, read-only к вашей музыке, без онлайна.
Что умеет
Форматы из README: mp3, m4a, wav, flac, ogg, opus, aiff, alac, webm. Для webm в changelog отдельно сказано, что поддержка может быть нестабильной из-за метаданных.
Аудиодвижок свой: Voxio. Автор объясняет, зачем его написал: готовые Rust-решения не давали сразу gapless, Opus, отвод сэмплов под визуализации и нормальный API. С 0.3.0 движок переписан, смена аудиоустройства больше не должна ронять поток. С 0.3.1 волны строятся самим Voxio, без вызовов ffmpeg.
Интерфейс на Ratatui. С 0.3.3 сайдбар стал деревом: альбомы и плейлисты в одной панели, заголовки сворачиваются. 0.3.4 как раз подчищает эту картинку и очередь.
Как поставить
Для повседневного запуска проще взять готовый архив со страницы релиза v0.3.4. На 15 августа 2026 там есть linux-x64, linux-arm64, macos-x64, macos-arm64 и windows-x64. Бинарник называется vox. Его достаточно положить в каталог из PATH.
Если собираете из crates.io, в Cargo.toml указано rust-version = "1.95". Старый rustc из репозитория дистрибутива, скорее всего, не подойдёт. Нужен актуальный rustup, затем:
cargo install noctavox --locked
После установки:
vox
Сборка из git тоже есть в README: cargo run --release или cargo install --path .. Для звука автор советует именно release-профиль.
Первый запуск
При старте программа просит указать корневой каталог библиотеки. Корни потом добавляются и убираются клавишами ` и ~. Плеер не правит теги и не раскладывает файлы. Если в треках пустой ID3/Vorbis, в интерфейсе будет каша. Для разметки библиотеки автор отсылает к beets или Mp3tag, внутри NoctaVox редактора тегов нет и не планируется без отдельного opt-in.
Клавиши
Карта зависит от режима (библиотека, очередь, поиск) и от панели. Глобальные клавиши и управление воспроизведением работают почти везде, кроме поля поиска: чтобы не ломать набор запроса. Регистр важен: s и S это разные действия. Внутри плеера справка открывается по ?. Ниже сводка по docs/keymaps.md для 0.3.4. С 0.3.2 ? это карта клавиш, статистика переехала на обратный слэш.
Навигация
| Действие | Клавиши |
|---|---|
| Выбор / подтверждение | Enter |
| Вверх / вниз | k ↑ / j ↓ |
| На 5 / 25 пунктов | u U / d D |
| В начало / в конец списка | g / G |
| Альбом текущего трека | = |
| Между панелями | h l или стрелки влево/вправо |
Воспроизведение
| Действие | Клавиши |
|---|---|
| Пауза | пробел |
| Перемотка вперёд 5 с / 30 с | n / N |
| Перемотка назад 5 с / 30 с | p / P |
| Следующий в очереди | Ctrl+n |
| Предыдущий из истории | Ctrl+p |
| Стоп и очистка очереди | Ctrl+s |
| Повтор трека | Ctrl+r |
| Громкость | + - |
Ctrl+n и Ctrl+p работают даже в поиске и попапах. Шаги перемотки задаются в config.toml: seek_small и seek_large (по умолчанию 5 и 30 секунд).
Виды
| Действие | Клавиши |
|---|---|
| К плейлистам | Ctrl+t |
| Очередь | Ctrl+q |
| Ширина сайдбара | [ ] |
| Минимальный вид | m |
| Полноэкранный прогресс | f |
| Цикл виджетов | w |
| Progress bar / осциллограф / спектр / волна | B / O / S / W |
| Сглаживание волны | { } |
Общее
| Действие | Клавиши |
|---|---|
| Поиск | / |
| Карта клавиш | ? |
| Статистика | |
| Настройки (корни библиотеки) | ` или ~ |
| Закрыть попап / выйти из поиска | Esc |
| Перескан библиотеки | F5 или Ctrl+u |
| Перезагрузить тему | F6 |
| Менеджер тем | C |
| Цикл тем | < > или , . |
| Выход | Ctrl+c |
Правая панель (треки)
| Действие | Клавиши |
|---|---|
| Играть | Enter |
| В очередь | q |
| В плейлист | a |
| В последний плейлист, без попапа | aa |
| К альбому | Ctrl+a |
| Назад в сайдбар | h ← |
| Мультивыбор / все / сброс | v / V / Ctrl+v |
| Убрать из плейлиста или очереди | x |
| Сдвинуть трек вниз / вверх | J / K |
| Перемешать очередь (только режим очереди) | s |
Порядок мультивыбора сохраняется. С 0.3.4: мультивыбор плюс s в треклисте перемешивает выбранное и кладёт в очередь.
Сайдбар
Одно дерево: заголовки ALBUMS и PLAYLISTS. При сортировке по артисту альбомы вложены ещё на уровень. h сначала сворачивает открытый заголовок, потом прыгает к родителю.
| Действие | Клавиши |
|---|---|
| Свернуть/открыть заголовок, открыть альбом или плейлист | Enter |
| Раскрыть / открыть лист | l → Tab |
| Свернуть или к родителю | h ← |
| Раскрыть всё | L |
| В очередь весь альбом или плейлист | q |
| В очередь с перемешиванием | s |
| Сортировка альбомов (артист / название / год) | Ctrl+h / Ctrl+l |
| Новый плейлист | c |
| Переименовать плейлист | r |
| Удалить плейлист | x |
c работает из любой строки сайдбара. Если очередь пустая, q по альбому или плейлисту сразу запускает первый трек.
Числовой префикс
Как в Vim: перед частью команд можно набрать число. Буфер держит последние 3 цифры, сброс Esc или Backspace. Работает для прокрутки, мультивыбора и запуска трека. Выход за границы списка даёт ошибку, кроме прокрутки.
11jвниз на 11 строк;23gна 23-ю строку текущего списка;8vвыбрать текущую и ещё 8 (если уже все выбраны, снимет выбор);12затемEnterиграть 12-й трек альбома, плейлиста, очереди или поиска.
Флаги vox
Без аргументов открывается TUI. Остальные флаги взаимоисключающие:
vox vox --version vox --import-playlist vox --export-playlist vox --list vox --reset
Импорт, экспорт и список плейлистов требуют аддон Transpose в $CONFIG/noctavox/addons. vox --reset уничтожает базу, это не «перезапуск».
Конфиг и база
На Linux каталог обычно ~/.config/noctavox (в README это $CONFIG/noctavox). На Windows: %APPDATA%noctavox. Там же SQLite noctavox.db и, если появился, config.toml.
Конфиг автор помечает как незавершённый, возможны ломающие правки. Незнакомое имя поля или неверный тип сбрасывает весь файл на значения по умолчанию, ошибка пишется в строку буфера при запуске. Темы в этом месте мягче: неизвестные ключи игнорируются.
Минимальный пример, только то, что чаще всего меняют:
[general] framerate = 60 update_on_start = true auto_resume = false replay_gain = "off" broadcast = false
replay_gain принимает off, track или album. broadcast = true нужен, если сами читаете представление now_playing_v1 из базы (для самодельного scrobbling или Discord). Официальных аддонов на это пока нет.
Часть глифов по умолчанию из Nerd Font. Если в терминале квадраты, либо поставьте пропатченный шрифт, либо переопределите иконки в [icons] обычным Unicode.
Что изменилось в 0.3.4
Релиз на GitHub: 15 августа 2026, 20:51 UTC. Тот же день пакет попал на crates.io. Заголовок: «Tighter Visual Buffs + More bug fixes». По CHANGELOG это не новая архитектура, а полировка после перестройки интерфейса в 0.3.3:
- нормальнее обрезка bufferline на узком терминале и shimmer у этой строки;
- починен переход к плейлисту;
- вертикальные отступы прогресса в полноэкранном виде;
- в режиме очереди
sснова перемешивает очередь; - мультивыбор в треклисте плюс
sперемешивает выбранное и кладёт в очередь; - плотнее подсветка поиска, слайдер громкости спрятан в fullscreen;
- мелочи и обновление зависимостей.
Импорт и экспорт плейлистов по-прежнему не в ядре. Нужен аддон Transpose из NoctaVox-Plugins: бинарник кладётся в $CONFIG/noctavox/addons, дальше vox --import-playlist и vox --export-playlist. В README прямо сказано, что аддоны собираются выпилить и влить в основную программу.
Где обычно спотыкаются
Библиотека «в кучу»: нет тегов. Плеер тут ни при чём, он показывает то, что прочитал из файла.
После правки config.toml настройка «не применяется»: ищите опечатку в другом поле. Один битый ключ обнуляет весь файл.
Темы. В README есть однострочник curl ... | sh. Так ставить скрипты с GitHub не стоит, даже если репозиторий выглядит прилично. Скачайте scripts/get-themes.sh, прочитайте, затем запускайте локальную копию. Сами темы не обязательны для прослушивания.
Сборка через cargo install на старом Rust. Смотрите MSRV 1.95 или берите готовый архив с Releases.
Аварийный сброс. Если после падения vox больше не стартует, в FAQ предлагают vox --reset. Команда уничтожает базу и внутренние настройки: плейлисты, историю, кэш волн, представление библиотеки. Файлы музыки программа не трогает, но служебное состояние пропадёт. Сначала имеет смысл скопировать noctavox.db.
vox --reset
Как проверить, что всё на месте
В PATH должна появиться команда vox. У CLI есть флаг версии через clap:
vox --version
Ожидаемая версия на момент материала: 0.3.4. Первый запуск без аргументов открывает TUI и спрашивает корень библиотеки. После скана в списке должны быть альбомы с нормальными тегами. F5 подхватывает новые файлы без перезапуска.
Коротко
NoctaVox 0.3.4: локальный TUI-плеер для своей музыки, без сети и без телеметрии. Для жизни это простой ответ на вопрос «хочу слушать свои FLAC из терминала, без аккаунта». Ставить лучше бинарником с GitHub Releases либо через cargo install noctavox --locked на свежем Rust. Не кормите его curl | sh и не жмите vox --reset, пока не сохранили базу.