Об этом проекте
Mousiki — музыкальный плеер для терминала (TUI), предназначенный для пользователей, предпочитающих управление с клавиатуры и минимальный интерфейс. Он создан для скорости и легкости работы, с особым акцентом на кастомизацию и рабочий процесс, полностью остающийся в терминале.
**Основные возможности:**
- **Локальное воспроизведение музыки:** Просматривайте и воспроизводите музыкальные файлы из локальной библиотеки.
- **Онлайн-поиск и стриминг:** Ищите и транслируйте треки напрямую из онлайн-источников с помощью yt-dlp.
- **Синхронизированные тексты:** Выделение активных слов текста в реальном времени, получаемое через Python-скрипт из Better Lyrics (основной источник) и LRCLIB (резервный).
- **Визуализаторы:** Спектр FFT в реальном времени (с использованием kissfft), отрисовка волновой формы и вращающаяся обложка диска с настраиваемой плавностью.
- **Управление очередью:** Эффективное добавление в очередь, перемешивание, повтор и фильтрация по папкам.
- **Высокая настраиваемость:** Настройка цветов, поведения визуализатора, анимаций и горячих клавиш через текстовый конфигурационный файл `$HOME/.config/mousiki/config.txt`.
**Поддерживаемые платформы:**
- Нативная поддержка Linux, macOS и Android (через Termux).
- Поддержка Windows не проверена автором, но может работать; приветствуются вклады.
**Начало работы:**
- Клонируйте репозиторий и выполните `bash setup.sh` (для macOS с Homebrew, Linux на базе Debian или Termux) для установки зависимостей, генерации конфигурации по умолчанию и сборки приложения.
- Для ручной сборки требуются `cmake`, компилятор C++17, `ffmpeg`, `yt-dlp` и Python-пакет `requests`.
- После сборки запустите `./build/mousiki`.
**Горячие клавиши по умолчанию (настраиваемые):**
- Поиск: `/` (локальный), `/s: <запрос>` (онлайн-стриминг)
- Скачать текущий поток: `y`
- Воспроизведение/Пауза: `p` или `ENTER`
- Следующий/Предыдущий: `n` / `b`
- Перемотка: `ARROW_LEFT` / `ARROW_RIGHT`
- Громкость: `1` / `2`
- Перемешивание/Повтор: `m` / `r`
- Навигация: `ARROW_UP` / `ARROW_DOWN`
- Переключение вкладок: `TAB`
- Добавить/Удалить из очереди: `a` / `d`
- Фильтр по папкам: `f`
- Очистить фильтр: `c`
- Выход: `q`
**Конфигурация:**
Конфигурационный файл генерируется автоматически. Вы можете добавить пользовательские пути к музыке, добавив несколько записей `LocalMusicPath`. Все горячие клавиши и визуальные настройки редактируются там.
**Зависимости и атрибуция:**
Mousiki использует miniaudio (воспроизведение звука), kissfft (FFT для визуализаторов), yt-dlp (онлайн-стриминг), FFmpeg (обработка мультимедиа) и Python-пакет `requests` для текстов песен. Выпускается под лицензией Apache License 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.