このプロジェクトについて

Mousikiは、キーボード操作と最小限のインターフェース層を好むユーザー向けに設計されたターミナル(TUI)音楽プレイヤーです。速度と軽量動作を重視して構築されており、カスタマイズ性とターミナル内で完結するワークフローに重点を置いています。 **主な機能:** - **ローカル音楽再生:** ローカルライブラリの音楽ファイルを簡単に閲覧・再生できます。 - **オンライン検索とストリーミング:** yt-dlpを利用して、オンラインソースから直接トラックを検索・ストリーミングできます。 - **同期歌詞:** Better Lyrics(優先)とLRCLIB(フォールバック)からPythonスクリプトで取得した、リアルタイムの単語単位のアクティブ歌詞ハイライト。 - **ビジュアライザー:** リアルタイムFFTスペクトラム(kissfft使用)、波形レンダリング、回転ディスクアート、設定可能な流動性。 - **キュー管理:** 効率的なキューイング、シャッフル、リピート、フォルダベースのフィルタリング。 - **高度なカスタマイズ:** `$HOME/.config/mousiki/config.txt`のテキスト設定ファイルで、色、ビジュアライザーの動作、アニメーション、ホットキーを調整できます。 **対応プラットフォーム:** - Linux、macOS、Android(Termux経由)をネイティブサポート。 - Windowsサポートは作者によって未検証ですが、動作する可能性があります。コントリビューションを歓迎します。 **はじめに:** - リポジトリをクローンし、`bash setup.sh`を実行します(Homebrew入りのmacOS、Debian系Linux、またはTermux向け)。これにより依存関係のインストール、デフォルト設定の生成、アプリのビルドが行われます。 - 手動ビルドには`cmake`、C++17コンパイラ、`ffmpeg`、`yt-dlp`、Pythonの`requests`パッケージが必要です。 - ビルド後、`./build/mousiki`を実行します。 **デフォルトのキーバインド(設定可能):** - 検索: `/`(ローカル)、`/s: <query>`(オンラインストリーム) - 現在のストリームをダウンロード: `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の下でリリースされています。