InfiniteRadioは、人工知能技術によって無限の音楽ストリームを生成し、ユーザーの現在の状況に音楽スタイルを動的に適応させることを目的としたオープンソースプロジェクトである。LaurieWiredによって開発されたこのプロジェクトは、Magenta RealTime音楽モデリングとInternVL3またはシステムプロセスモニタリングを組み合わせ、音楽ジャンルを自動的に切り替えます。ユーザーは、活動や環境に応じて変化するパーソナライズされた音楽体験を、ローカルまたはMacアプリケーション経由で楽しむことができる。コードはGitHubで公開されており、音楽生成やAI技術に興味のある開発者やユーザーのために公開されている。
機能一覧
- Magenta RealTimeモデルに基づいて、無制限の音楽ストリームを自動生成。
- InternVL3またはシステムプロセスに基づいて、コンテキストを意識したダイナミックな音楽タイプの選択をサポート。
- Macのトレイ・アプリケーションを使えば、音楽再生の設定やコントロールが簡単にできる。
- Dockerコンテナの設定が必要です。
- ブラウザーからミュージック・コントロール・インターフェースにアクセスできるようにする。
- LLM DJモードとプロセスDJモードの両方をサポートし、それぞれ言語モデリングまたはプロセスモニタリングによって音楽を調整します。
ヘルプの使用
設置プロセス
InfiniteRadioを使用するには、ユーザーはローカルまたはMacアプリケーションを介してプロジェクトを実行する必要があります。以下は詳細なインストールと使用手順です:
ローカルオペレーション
- 環境準備
- 音楽モデルの実行にはコンテナ化が必要なので、Dockerがインストールされていることを確認する。
- 関連スクリプトを実行するためにPython(推奨バージョン3.8以上)をインストールする。
- LLM DJを使用する場合、Language Model Serverを実行するためにLM Studioをインストールする必要があります。
- クローンプロジェクト
ターミナルで以下のコマンドを実行し、InfiniteRadioプロジェクトをローカルにクローンする:git clone https://github.com/LaurieWired/InfiniteRadio.git cd InfiniteRadio
- Dockerコンテナの設定
- プロジェクト・ディレクトリに移動し、Dockerfileを見つけ、以下のコマンドを実行してコンテナをビルドする:
docker build -t infiniteradio .
- コンテナをスタートさせる:
docker run -p 8080:8080 infiniteradio
- コンテナを起動したら、ブラウザーを開き、以下のサイトにアクセスする。
http://127.0.0.1:8080
またはコンテナのIPアドレスでミュージック・コントロール・インターフェイスにアクセスする。
- プロジェクト・ディレクトリに移動し、Dockerfileを見つけ、以下のコマンドを実行してコンテナをビルドする:
- LLM DJの設定(オプション)
- LM Studioで言語モデルサーバを起動します.
- サーバーが正常に動作していることを確認し、InfiniteRadioがAPI経由でモデルを呼び出し、動的に音楽ジャンルを選択します。
- Macのアプリケーションを使用している場合は、Pythonの設定を省略し、トレイアプリケーションから直接LLM DJを選択することができます。
- プロセスDJの設定
- プロセスDJは、アクティブなシステムプロセス(ブラウザー、コードエディターなど)を監視し、プロセスの種類に応じて音楽のスタイルを切り替えます。
- Macでは、音楽タイプの動的選択が正しく機能するように、アプリの画面表示許可を与える必要があります。
- 許可設定:システム環境設定>セキュリティとプライバシー>画面録画で、InfiniteRadioアプリにチェックを入れてください。
使用プロセス
- 音楽再生開始
- ブラウザからのアクセス
http://127.0.0.1:8080
InfiniteRadioコントロール・インターフェースに入るには、Enterボタンを押してください。 - インターフェイスには、現在の音楽の種類、再生状況、コンテクスト情報が表示されます。
- ユーザーは、LLM DJまたはプロセスDJモードを選択し、"Start "ボタンをクリックして音楽ストリームを開始することができます。
- ブラウザからのアクセス
- LLM DJモード動作
- LLM DJは、InternVL3モデルを使用してコンテキスト(画面コンテンツやユーザー入力など)を分析し、それにマッチした音楽タイプ(仕事には集中できる音楽、ゲームには激しい音楽など)を自動的に選択します。
- コントロール画面で、"Switch to LLM DJ" をクリックし、LM Studio サーバが起動していることを確認する。
- コンテキストの説明(例えば "プログラミング "や "リラクゼーション")を手動で入力すると、モデルが対応する音楽を生成する。
- プロセスDJモード操作
- プロセスDJはシステムプロセスを監視し、アクティブなアプリケーション(VSコード、ゲームクライアントなど)に応じて音楽の種類を調整します。
- Mac Trayアプリで "Enable Process DJ "をクリックすると、プログラムが自動的に音楽を検出し、切り替えます。
- ユーザーはインターフェイスで、現在のプロセスと対応する音楽ジャンル(例えば "VS Code - Focus on Electronica")を見ることができる。
- ミュージックコントロール
- インターフェイスには、一時停止、再生、音量調整機能がある。
- ユーザーは音楽の種類を手動で選択することも、システムに自動調整させることもできる。
- ローカルのプロジェクト・ディレクトリに保存されたお気に入りのミュージック・クリップの保存をサポート。
ほら
- ネットワークが安定しており、LLM DJモードが言語モデリングサーバーとの通信を必要とすることを確認してください。
- プロセスDJモードは、マックではスクリーンのパーミッションが必要で、そうしないとプロセスをモニターできない。
- スムーズな音楽生成のためには、16GBのRAMとマルチコアCPUを推奨します。
- プロジェクトのドキュメントはGitHubリポジトリのREADMEファイルにあるので、問題が発生したら参照したり、issueを提出したりできる。
アプリケーションシナリオ
- 開発者の労働環境
InfiniteRadioは、開発者に集中できる音楽ストリーミングを提供します。例えば、VS Codeを開くと、Process DJがプログラミングのアクティビティを検出し、集中力を高めるために軽快なエレクトロニック・ミュージックを自動的に再生します。 - ゲーマーのためのBGM
プレイヤーがゲームをプレイすると、プロセスDJがゲームの進行状況を認識し、没入感を高めるために激しい音楽や壮大なスタイルの音楽に切り替わる。 - 日々のリラクゼーション
LLM DJから「relax」や「meditate」と入力すると、休息や読書のための心地よい音楽が再生される。 - クリエイティブ・ワーク
デザイナーやアーティストは、InfiniteRadioが創作のテーマにマッチした音楽を生成することができる画面上のコンテンツ分析からインスピレーションを得ることができます。
品質保証
- InfiniteRadioはインターネット接続が必要ですか?
LLM DJモードを使用する場合、LM Studioサーバに接続するためにインターネット接続が必要です。プロセスDJモードはオフラインで実行でき、ローカルのDockerコンテナのみが必要です。 - 対応している音楽ジャンルは?
音楽ジャンルは、エレクトロニック、クラシック、ロックなど、Magenta RealTimeモデルによって生成され、特定のジャンルは文脈に応じて動的に適応される。 - Macのアプリケーションはどのようにインストールされるのですか?
GitHubリポジトリからMacアプリパッケージをダウンロードし、インストールし、システムトレイから実行し、画面録画権限を付与して使用する。 - 音楽モデルをカスタマイズすることは可能ですか?
現在、マゼンタ・リアルタイムのモデルがサポートされていますが、将来的にはコミュニティからの貢献によってさらに多くのモデルがサポートされるかもしれません。