このプロジェクトについて
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の下でリリースされています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.