상품 설명
Rustサーバーに本格的なゲーム内音楽プレイヤーを導入しましょう!
Extra Music Playerは、音楽プレイヤーUIをRustに追加します。プレイヤーはトラックの閲覧、ステレオ再生、曲のシーク、ドラッグ可能なノブによる音量調整、お気に入り登録、リアルタイムサウンドビジュアライザーを楽しむことができます。
■ 無料のサンプル音楽パック138曲に加え、NINJA WORKSオリジナルアルバム『Beat Gear』楽曲150曲以上が収録されたデータが付属しており、プラグインとRUSTサーバーに入れるだけですぐに音楽を楽しむことができます。
■ 音楽はRustの内蔵音声システムを通してストリーミングされるため、ダウンロードやクライアントのインストールは一切不要で、すべてのプレイヤーが音楽を聴くことができます。OXIDEに対応しています。
■ さらに、音楽再生用の開発者向けフックも含まれており、より独創的なプラグインの開発を可能にします。「.rustbgm」形式の再生に対応。
※音楽を追加するには、付属のアプリケーション「ExtraSoundConverter」を使用して、MP3またはWAVファイルをサーバーで再生可能なデータに変換する必要があります。
注:ExtraSoundConverterはWindows 64ビットシステムのみに対応しています。
注:既存の音楽(楽曲を含む)の取り扱いについては、法的観点から十分ご注意ください。ショッププラグインなどを通じて音楽コンテンツを収益化する予定がある場合は、SunoAIのような自動生成音楽の利用をお勧めします。
SunoAI https://suno.com/
機能
■ゲーム内ミュージックプレイヤーUI
- アルバムアート、トラックタイトル、アーティスト名を表示するフルプレイリストメニュー
- 再生/一時停止/停止/リスタート/次へ操作
- クリック可能なシークバー - 曲の任意の場所にジャンプ
- リアルタイムのパーセンテージ表示付きドラッグ可能なボリュームノブ(音量はプレイヤーごとに保存されます)
- リピート切り替え
- 「いいね」ボタン - プレイヤーは曲をブックマークして自分のプレイリストに追加できます
- トラックリストはフォルダ、次に名前順に自動的にソートされます - サブフォルダでライブラリを整理できます
■ステレオ再生
- 左右チャンネルを分離する2chステレオシステム
- 自動L/R再同期機能により、プレイヤーがテレポート、長距離ワープ、カメラ回転、またはpingスパイクが発生してもステレオの安定性を維持します
■リアルタイムサウンドビジュアライザー
- 音楽に同期したUI上のアニメーションスペクトルビジュアライザー
- フレームレート、カラー、オン/オフ切り替えを完全に設定可能
■プレイヤーごとのトラックアクセス制御
- コンフィグ「Show all tracks: false」無効にすると、プレイヤーは特定のトラックのみを表示するようになります。
コンソールコマンド `addtrack` / `removetrack` を使用して表示するトラックを付与/取り消せます。
サーバーショップで楽曲を販売したり、報酬として使用したりするのに便利です。
■保護されたトラックファイル
- トラックは、タイトル、アーティスト、カバーアート、スペクトルデータ、ループポイントが埋め込まれた専用の暗号化フォーマット (.rusttrack) を使用します
- オーディオライブラリは、通常のオーディオファイルとして簡単にコピーすることはできません
■多言語対応
- 組み込み翻訳: 英語、日本語、簡体字中国語、繁体字中国語、ロシア語、フランス語、ウクライナ語
■開発者向けAPI
- 独自のプラグインから音楽を再生、一時停止、再開、停止するためのシンプルなフック
- TTS/音声API — 外部のOpusフレーム (TTSサービスなど) をプレーヤーに供給して再生できます
再生には「.rustbgm」形式のデータのみ対応しています。
プラグインの使用方法
1. プラグインのインストール
`ExtraMusicPlayer.cs` を `oxide/plugins` フォルダに配置してください。
2. 音楽の追加
`.rusttrack` ファイルを `oxide/data/ExtraMusicPlayer/` フォルダに配置してください。サブフォルダもサポートされており、トラックリストのグループ化や並べ替えに使用できます。
【特典】 NINJA WORKSオリジナルアルバム『Beat Gear』楽曲150曲以上が収録されたデータが付属しており、フォルダごとoxide/data/ExtraMusicPlayer/に入れるだけですぐに音楽を楽しむことができます。
トラックファイルの作成:`.rusttrack` ファイルは、付属の ExtraSoundConverter.exe を使用して、ご自身のオーディオファイルから作成されます。
3. プレーヤーの起動
プレーヤーを開くには、`/music` と入力して再生ボタンを押してください。(権限が必要です)
楽曲パックダウンロード
■NINJA WORKSオリジナルアルバム『Beat Gear』 150曲
・商品に同梱されています。
■サンプルミュージックパック 138 曲
ダウンロード https://hstorage.jp/dl/gg3vufqfsg6O.zip
■NINJA WORKS Specialtrack【日本限定】
ダウンロード https://hstorage.jp/dl/7id842P0fvEn.zip
コマンド
チャットコマンド(権限:`extramusicplayer.use`)
/music - ミュージックプレイヤーを開く
サーバーコンソールコマンド
addtrack <SteamID> <trackFileName> - プレイヤーにトラックを付与します。(`Show all tracks: false` と併用)
removetrack <SteamID> <trackFileName> - 付与したトラックを取り消します。
権限
extramusicplayer.use - 音楽プレーヤーを開くことを許可します。
コンフィグ
主要な項目を紹介
サウンドビジュアライザーを表示するか?
"Sound visualizer enabled"
ビジュアライザーのフレームレート
"Visualizer framerate (updates per second)"
再生ゲージのフレームレート
"Playback gauge framerate (updates per second)"
プレイヤーごとに曲ごとの表示を制限するか?
"Show all tracks (false = only tracks granted per-SteamID via addtrack)"
ExtraSoundConverter を使用して音楽データの変換方法
必要環境
Windows x64、.NET 不要、ffmpeg 必須。
ffmpeg が必要です。Windows へのインストールは簡単です。PowerShell を開き、以下のコマンドを実行してください。
winget install --id=Gyan.FFmpeg -e
1. オーディオを追加
mp3/wav/ogg/flac/m4a/aac ファイルをドラッグ&ドロップするか、「追加」をクリックしてください。サポートされていない形式は拒否されます。タイトル、アーティスト、カバーアートはタグから自動的に読み込まれます。
2. フォーマットを選択
.rusttrack = ミュージックプレーヤー (スペクトラム + 2秒間の無音パッド)。タイトル、アーティスト、カバーアートが保存されます。
.rustbgm = 開発者向けフック BGM (スペクトラムなし)。ループポイントはループエディタで設定してください。
3. 変換
音質 (kbps) と出力フォルダを選択し、「変換」をクリックしてください。出力ファイル名はタイトル (スペース → _) で命名されます。タイトルが空の場合は、元のファイル名が使用されます。
■逆変換: データファイル
wav または mp3 (フォーマットで選択)。mp3 はタイトル、アーティスト、カバーアートを単一ファイルに埋め込みます。wav はタイトルとアーティストのみを保持します。画像ファイルは作成されません。
■ループエディタ(.rustbgmファイルのみ)
3つのマーカー — P(青)=再生開始位置(サーバーが最初に再生を開始する位置)、S(緑)=ループ開始位置、E(赤)=ループ終了位置(再生ヘッドはEからSに戻ります)。PとEは常に存在し、読み込み時に自動的に配置されます(Pは開始位置、Eは終了位置)。ドラッグして移動できます。Sは波形を左クリックして設定します。P ≤ S ≤ Eの順序で常に保持されます(マーカーを順番通りにドラッグしても移動しません)。ループはSを配置した後にエクスポートされます。S→Eの順にループします(Eはデフォルトでトラックの終了位置になるため、トラックの末尾全体がループします。Eを早めにドラッグすると、ループの終了位置も早くなります)。任意の場所を右クリックすると、そこから再生できます。▶再生を選択すると、ループがシームレスにプレビューされます。再生は常に E で停止します (ループ開始がない場合でも、E 以降の部分は再生されません)。再生範囲外 (P の前 / E の後) の波形は灰色で表示されます。ボタンまたはマウス ホイールでズームし、バーでスクロールします。エクスポート時にポイントはチャンク境界に量子化されます。ループ開始なし (またはリセット) = トラック全体がループします。「マーカーの外側をトリミング」は、エクスポート時に P の前と E の後のオーディオを削除します。
開発者向けAPI
カスタムプラグインから以下のAPIを呼び出してください。APIから再生する場合は「.rustbgm」形式のデータのみ対応しています。
// プレーヤーでトラックを再生します(ループ再生と音量調整はオプションです)。
bool ok = (bool)ExtraMusicPlayer.Call("ExtraMusicPlay", player, "MyTrack", true, 80);
// プレーヤーの再生を制御します。
// 一時停止
ExtraMusicPlayer.Call("ExtraMusicPause", player);
// 再生再開
ExtraMusicPlayer.Call("ExtraMusicResume", player);
// 停止
ExtraMusicPlayer.Call("ExtraMusicStop", player);
// エンティティの位置から再生します。重複再生はできません。
ExtraMusicPlayer.Call("ExtraMusicArea", sourceEntity, "MyTrack", false, 100);
// AI音声/TTS — プレーヤーでOpusの生フレームを再生します。Open AIやFishAudioなど、Opusと互換性のあるオーディオのみが再生可能です。
// 再生
ExtraMusicPlayer.Call("ExtraMusicSpeak", player, opusFrames, 20, 24000, 80);
// 停止
ExtraMusicPlayer.Call("ExtraMusicSpeakStop", player);
// 再生中かどうかを確認
bool playing = (bool)ExtraMusicPlayer.Call("ExtraMusicIsPlaying", player);
// AI音声/TTSが再生中かどうかを確認
bool speaking = (bool)ExtraMusicPlayer.Call("ExtraMusicIsSpeaking", player);
以下の動画はプラグイン開発でフックを活用した例です。↓
Q&A
Q: 使用できるオーディオフォーマットは何ですか?
A: このプラグインは、付属のコンバーターツールを使用して作成した `.rusttrack` ファイルに対応しています。このフォーマットには、タイトル、アーティスト名、カバーアート、ビジュアライザーデータが埋め込まれており、ライブラリを保護するために暗号化されています。
Q: 音楽ファイルはどこに置けばいいですか?
A: `oxide/data/ExtraMusicPlayer/` フォルダに入れてください。サブフォルダもサポートされています。トラックリストはフォルダ、次にファイル名の順にソートされます。
Q: 個々の楽曲をプレイヤーに付与できますか?
A: はい。`"Show all tracks"` を `false` に設定し、`addtrack <SteamID> <file>` コマンドで SteamID ごとに楽曲を付与してください。コンソールコマンドをショップや報酬プラグインと連携させてください。
Q: 新しいファイルを追加しましたが、表示されません。
A: プラグインをリロードしてトラックリストを更新してください。
Q: 画像ライブラリは必要ですか?
A: いいえ。プラグインは UI 画像を自動的にキャッシュします。依存関係は不要です。
Q:ビジュアライザーはパフォーマンスに影響しますか?
A:ビジュアライザーの更新頻度は設定可能で、完全に無効にすることもできます。UIの更新は、軽量性を維持するためにスロットリングとプール処理によって制御されます。
Q:対応言語は何ですか?
A:英語、日本語、簡体字中国語、繁体字中国語、ロシア語、フランス語、ウクライナ語。
ライセンス
本プラグインを購入および使用することにより、以下の利用規約に同意したものとみなされます。
■ ライセンスの付与
本ライセンスは、購入者であるあなたに対し、本契約の条件に従い、自身のRustサーバー上で本プラグインを使用する非独占的かつ譲渡不能な権利を付与します。
■ AI生成開示(EU AI法遵守)
本プラグインは、AI支援ツールを使用して開発されました。
EU人工知能法および関連する透明性要件に従い、本製品にAI生成コンテンツが含まれていることをユーザーに通知します。
人工知能、その能力、およびその限界について十分な理解を有しない者は、本プラグインの購入または使用を固く禁じられます。
本プラグインを購入または使用することにより、あなたはAI技術に関する十分な知識を有し、AI生成ソフトウェアに伴うリスクを受け入れることを確認したものとします。
■ 禁止事項
以下の行為は固く禁止されています:
• 開発者の明示的な書面による同意なしに、本プラグインを複製、改変、統合、公開、配布、サブライセンス、または販売すること。
• 著作権、商標、所有権表示、またはAI生成開示を削除または変更すること。
• 本プラグインを第三者に共有、再配布、または転売すること。
• 本プラグインを違法または無許可の目的で使用すること。
■ 許可される使用
以下の使用が許可されています:
• ライセンスを購入したRustサーバー上に本プラグインをインストールして使用すること。
• 提供された設定ファイルを使用して本プラグインを設定すること。
• 正当な技術的問題に関するサポートを依頼すること。
• 本プラグインを商用(有料)サーバーで使用すること。
■ サポートおよびアップデート
• 技術サポートは開発者の裁量により提供されます。
• アップデートおよびバグ修正は、利用可能になった時点で提供されます。
• 継続的なサポートまたは将来のアップデートの保証はありません。
• サポートを受けるには、購入証明が必要になる場合があります。
■ 違反および契約終了
• 本契約の違反は、ライセンスの即時終了をもたらします。
• 終了後、速やかに本プラグインの使用を停止し、すべての複製を削除しなければなりません。
• 開発者は、違反に対して法的措置を講じる権利を留保します。
• 終了したライセンスに対する返金は行われません。
■ 免責事項
本プラグインは、商品性または特定目的への適合性を含むがこれに限定されない、明示的または黙示的な一切の保証なしに「現状有姿」で提供されます。
いかなる場合においても、開発者、貢献者、またはNINJA WORKSは、本プラグインの使用から生じるいかなる損害についても責任を負いません。
■ 同意
本プラグインを使用することにより、あなたは本ライセンス契約のすべての条項を読み、理解し、それに拘束されることに同意したものとします。これには、AI生成開示およびAIに関する理解を有しない者による使用の禁止が含まれます。
■ 連絡先
本ライセンス、サポート、または本契約の範囲を超えるご依頼に関するご質問は、以下までご連絡ください:
모든 리뷰
더보기리뷰 등록
리뷰를 작성하려면 로그인이 필요합니다.
로그인하고 리뷰 쓰기