Bismuth - минималистичный (не в плане ресурсов) аудио плейер с терминальным интерфейсом, написанный на Node.js.
Плеер находится в разработке! Многие функцию пока не работают/работают не так, как должны.
-
Воспроизведение аудио файлов различных форматов (MP3, OGG, WAV и другие), с помощью ffmpeg
-
Воспроизведение аудио производится с помощью node-speaker
-
Терминальный интерфейс, построенный на reblessed (fork blessed), с поддержкой мыши
-
Возможность самостоятельной настройки интерфейса (конфигурационными файлы в папке ui-options/)
-
Просмотр информации об аудио-файле, с помощью music-metadata
-
Поддержка Windows, Linux и macOS (я надеюсь)
-
В будущем планируется прямое скачивание треков через Yandex Music API (с помощью пользовательского токена)
-
Установите Node.js (>= 16)
-
Клонируйте репозиторий:
git clone https://github.com/SuperJaba2000/bismuth cd bismuth -
Установите зависимости:
npm install
npm start
-
Запустите скрипт сборки webpack:
npm run prebuild -
Запустите скрипт сборки:
npm run buildпо дефолту сборка для node16-windows-x64, можете изменить в package.json или вызывать pkg самостоятельно:
pkg . -t <платформа1> <платформа2> и т.д.
src/index.js- основной файл приложенияsrc/filemanager.js- изменённый filemanager из reblessed (для выделения аудио-файлов в списке), требуется замена вручнуюsrc/logger.js- логированиеsrc/ui.js- пользовательский интерфейсsrc/audio/- модули для работы с аудиоsrc/ui/- компоненты интерфейсаui-options/- конфигурационные файлы интерфейса
@descript/web-audio-js- для работы с веб-аудиоaudio-decode- декодирование аудио (сейчас не используется)ffmpeg-static- статическая сборка FFmpegfluent-ffmpeg- обертка для FFmpegjson5- парсер JSON5 для файлов конфигурации интерфейсаmusic-metadata- чтение метаданных аудиофайловreblessed- терминальный UI (форк blessed)speaker- вывод аудио через Speakerwinston- логирование
superjaba2000
ISC


