Об этом проекте

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.