AIパーソナル・ラーニング
と実践的なガイダンス
資源推薦1

SongGen: 曲の自動生成のための単段自己回帰変換器

はじめに

SongGenは、テキストから曲への生成タスクのために設計された、オープンソースの単一ステージ自己回帰変換モデルです。SongGenは、歌詞、楽器の説明、音楽スタイル、ムード、音色など、幅広い音楽属性をきめ細かく制御することができる。ハイブリッド・モードではボーカルとバッキング・ボーカルを含むミックス・トラックを直接生成し、2トラック・モードでは後続のアプリケーション用にボーカルとバッキング・トラックを別々に生成します。このプロジェクトはまた、自動化されたデータ前処理パイプラインと、コミュニティへの参加と将来の研究を促進するために設計された効率的な品質管理メカニズムを提供する。

SongGen: 曲の自動生成のための単段自己回帰変換器-1


 

機能一覧

  • テキストから曲への変換
  • 歌詞、楽器の説明、音楽スタイル、ムード、音色のきめ細かなコントロールに対応
  • サウンドクローン用に3秒間のリファレンスオーディオクリップを提供
  • ミックス・モードおよびデュアル・トラック・モード出力
  • 自動化されたデータ前処理パイプライン
  • オープンソースのモデル重み、トレーニングコード、アノテーションデータ、処理パイプライン

 

ヘルプの使用

公式のインストールプロセス情報を提供してくれてありがとう!これに基づいて修正させていただきます。以下は、使用するために更新されたヘルプセクションです:

ヘルプの使用

設置プロセス

  1. クローン・プロジェクト・ウェアハウス
   git clone https://github.com/LiuZH-19/SongGen.git
cd SongGen
  1. 新しいConda環境を作成し、アクティベートする:
   conda create -n songgen python=3.9.18
condaでsonggenをアクティブにする
  1. CUDA 11.8と関連する依存関係をインストールします:
   conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
  1. SongGenは推論モードでのみ使用する:
   pip install .

ダウンロード Checkpoints

xcodecとsonggenの訓練済みモデルのチェックポイントをダウンロードしてください。

走り推理

ハイブリッドモデル

  1. 必要なライブラリをインポートする:
   インポートトーチ
インポート os
from songgen import (
VoiceBpeTokenizer、
SongGenMixedForConditionalGeneration、SongGenProcessor、SongGenMixedForConditionalGeneration、SongGenProcessor
ソングジェンプロセッサー
)
sfとしてサウンドファイルをインポート
  1. 訓練済みモデルをロードする:
   ckpt_path = "..."  #事前学習済みモデルへのパス
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = SongGenMixedForConditionalGeneration.from_pretrained(
ckpt_path、
attn_implementation='sdpa').to(device)
processor = SongGenProcessor(ckpt_path, device)
  1. 入力テキストと歌詞を定義する:
   歌詞 = "..."  #歌詞テキスト
テキスト = "..."  # 音楽説明テキスト
ref_voice_path = 'path/to/your/reference_audio.wav' # 参照オーディオのパス、オプション
separate = True # 参照オーディオからボーカルトラックを分離するかどうか
  1. 曲を作る:
   model_inputs = processor(text=text, lyrics=lyrics, ref_voice_path=ref_voice_path, separate=True)
generation = model.generate(**model_inputs, do_sample=True)
audio_arr = generation.cpu().numpy().squeeze()
sf.write("songgen_out.wav", audio_arr, model.config.sampling_rate)

デュアルトラックモデル

  1. 必要なライブラリをインポートする:
   インポートトーチ
インポート os
from songgen import (
VoiceBpeTokenizer、
SongGenDualTrackForConditionalGeneration、
ソングジェンプロセッサー
)
sfとしてサウンドファイルをインポート
  1. 訓練済みモデルをロードする:
   ckpt_path = "..."  #事前学習済みモデルへのパス
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model = SongGenDualTrackForConditionalGeneration.from_pretrained(
ckpt_path、
attn_implementation='sdpa').to(device)
processor = SongGenProcessor(ckpt_path, device)
  1. 入力テキストと歌詞を定義する:
   歌詞 = "..."  #歌詞テキスト
テキスト = "..."  # 音楽説明テキスト
ref_voice_path = 'path/to/your/reference_audio.wav' # 参照オーディオのパス、オプション
separate = True # 参照オーディオからボーカルトラックを分離するかどうか
  1. 曲を作る:
   model_inputs = processor(text=text, lyrics=lyrics, ref_voice_path=ref_voice_path, separate=True)
generation = model.generate(**model_inputs, do_sample=True)
vocal_array = generation.vocal_sequences[0, :generation.vocal_audios_length[0]].cpu().numpy()
acc_array = generation.acc_sequences[0, :generation.acc_audios_length[0]].cpu().numpy()
min_len = min(vocal_array.shape[0], acc_array.shape[0])
vocal_array = vocal_array[:min_len].
acc_array = acc_array[:min_len].
audio_arr = vocal_array + acc_array
sf.write("songgen_out.wav", audio_arr, model.config.sampling_rate)

詳細な機能操作

  • テキストから曲への変換歌詞と楽曲の説明を含むテキストを入力すると、モデルが対応する楽曲の音声を生成する。
  • きめ細かなコントロールテキストに説明を入力することで、インストゥルメンテーション、スタイル、ムードなど、生成される曲の様々な属性をコントロールすることができます。
  • サウンドクローニング3秒間のリファレンス・オーディオ・クリップが提供され、モデルはその音を模倣して曲を生成することができる。
  • 出力モード選択ハイブリッドモードとデュアルトラックモードを使い分けることで、様々なシーンに柔軟に対応。
  • データ前処理パイプライン自動化されたデータ前処理と品質管理により、生成された結果の高い品質を保証。
コンテンツ2
無断転載を禁じます:チーフAIシェアリングサークル " SongGen: 曲の自動生成のための単段自己回帰変換器

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語