Back to main

Терминальный музыкальный плеер

TDCMPR

Кроссплатформенный терминальный музыкальный плеер на Rust с TUI, локальной медиатекой и интеграцией с Yandex Music.

Обзор

TDCMPR — кроссплатформенный терминальный музыкальный плеер на Rust с полноэкранным TUI-интерфейсом. Проект объединяет локальную медиатеку и Yandex Music, синхронизирует треки, кэширует аудио, обложки и тексты песен и работает как автономный CLI-клиент.

Архитектура

Плеер построен вокруг ratatui и crossterm, использует собственный аудиопайплайн на базе cpal и ffmpeg, хранит метаданные в SQLite и загружает контент через Yandex Music API.

Внутри интерфейса предусмотрены поиск, управление плейлистом, режим лирики, ASCII- и палитровое отображение обложек, FFT-визуализация и встроенная командная строка.

Ключевые особенности

  • Спроектирован как desktop-first CLI-плеер с полноценным TUI-сценарием работы.
  • Интегрирован с Yandex Music: поиск, синхронизация лайков, загрузка треков, обложек и текстов.
  • Имеет собственный аудиомодуль на ffmpeg + cpal с визуализацией спектра.
  • Использует локальное хранение и кэширование через SQLite и файловую структуру content/.
  • Поддерживает автообновление через отдельный updater-сервис TDCUPD.
  • Включает расширяемую внутреннюю командную подсистему.

Стек

Rust, Tokio, Ratatui, Crossterm, FFmpeg, CPAL, Rusqlite, SQLite, Reqwest, Yandex Music API, Rayon, RealFFT.