Metaのサウンド生成ツール「Audio Craft」の使い方
8月2日、Metaがテキストから音楽や効果音を生成するAIツール「Audio Craft」を発表したので試してみました。
1.Audio Craftの概要
Audio Craftは、以下の3つのモデルで構成されたオープンソースのサウンド生成ツールです。
AudioGenはパブリックな効果音でトレーニングされており、MusicGenはMetaが所有する合計約2万時間に及ぶメタデータ付き音楽でトレーニングされたとMetaは説明しています。
2.AudioGenの使い方
(1) シンプルな方法
以下のコードをColabノートの新しいセルにコピーし、「ランタイムのタイプを変更」でGPUを設定して、セルを実行してください。
なお、途中でRESTART RUNTIMEというボタンが表示された場合は、このボタンをクリックして、再度、セルを実行し直してください。
!git clone https://github.com/facebookresearch/audiocraft/
%cd audiocraft
!pip install -e .
from audiocraft.models import AudioGen
model = AudioGen.get_pretrained("facebook/audiogen-medium")
model.set_generation_params(
use_sampling=True,
top_k=250,
duration=5)
テキストから効果音などを生成する場合には、以下のコードのSubway train blowing its hornとA cat meowingの部分を自分の好きなプロンプトに書き換えて、セルを実行してください。
from audiocraft.utils.notebook import display_audio
output = model.generate(
descriptions=['Subway train blowing its horn','A cat meowing',],
progress=True)
display_audio(output, sample_rate=16000)
すると、以下のオーディオ再生プレイヤーが表示されますので、▶をクリックして、音を再生してください。
筆者は、従来のものと比べて音がはっきりとしており、かなり性能が高いと感じましたが、いかがでしょうか。
3点リーダーをクリックすると、再生速度の変更やオーディオファイルのダウンロードができます。ただし、なぜか上の段はダウンロードの表示が出てきません。
※このコードは、以下のnpakaさんの記事を参考にしました。
(2) ウェブUIの利用
以下のcamenduruさんのColabノートを使って、GradioのウェブUIでAudioGenを利用することができます。
以下のバナーをクリックし、GPUに設定して、セルを実行してください。
なお、途中でRESTART RUNTIMEと表示された場合は、それをクリックして、再度、セルを実行し直してください。
すると、以下のような画面が現れます。ここでtextの欄に自分の好きなプロンプトを入力して、Generateボタンをクリックすると、オーディオ再生プレイヤーが現れます。
(1)と同様に▶︎をクリックすると音が再生し、3点リーダーをクリックして再生速度の変更やオーディオファイルのダウンロードもできます。
3.MusicGenの使い方
(1) シンプルな方法
以下のコードをColabノートの新しいセルにコピーし、「ランタイムのタイプを変更」でGPUを設定して、セルを実行してください。
なお、途中でRESTART RUNTIMEと表示された場合は、それをクリックして、再度、セルを実行し直してください。
!git clone https://github.com/facebookresearch/audiocraft/
%cd audiocraft
!pip install -e .
from audiocraft.models import MusicGen
model = MusicGen.get_pretrained('facebook/musicgen-small')
model.set_generation_params(
use_sampling=True,
top_k=250,
duration=30)
テキストから音楽を生成する場合には、以下のコードにあらかじめ書き込まれたプロンプト例の最初の#を外すと、その曲が生成されます。
また、この部分を自分の好きなプロンプトに書き換えることもできます。
プロンプトの準備ができたら、セルを実行してください。
from audiocraft.utils.notebook import display_audio
output = model.generate(
descriptions=[
#'80s pop track with bassy drums and synth',
#'90s rock song with loud guitars and heavy drums',
#'Progressive rock drum and bass solo',
#'Punk Rock song with loud drum and power guitar',
#'Bluesy guitar instrumental with soulful licks and a driving rhythm section',
#'Jazz Funk song with slap bass and powerful saxophone',
'drum and bass beat with intense percussions'
],
progress=True, return_tokens=True)
display_audio(output[0], sample_rate=32000)
すると、以下の音楽再生プレイヤーが表示されますので、▶をクリックして、音楽を再生してください。
こちらも、以前のものよりかなり品質が上がっているように感じましたが、いかがでしょうか。
3点リーダーをクリックすると、再生速度の変更や音楽ファイルのダウンロードができます。ただし、なぜか上の段はダウンロードの表示が出てきません。
※このコードは、以下のnpakaさんの記事を参考にしました。
(2) ウェブUIの利用
以下のcamenduruさんのColabノートを使って、GradioのウェブUIでMusicGenを利用することができます。
以下のバナーをクリックし、GPUを設定して、セルを実行してください。
なお、途中でRESTART RUNTIMEと表示された場合は、それをクリックして、再度、セルを実行し直してください。
実行終了後にRunning on public URL: の後のリンクをクリックすると、以下のような操作画面が現れます。
ここでInput Textの欄に自分の好きなプロンプトを入力して、送信ボタンをクリックすると、しばらくして、上のようなカラフルな音楽再生プレイヤーが現れます。▶ボタンをクリックすると、再生を開始します。
モデルは、melody、medium、small、largeの4種類から選択することができ、プロンプトは操作画面の下に表示されるInput Textの一覧から選択することもできます。
また、再生プレイヤーの右上のダウンロードマークをクリックすると、mp4形式で音楽ファイルがダウンロードされます。
4.AudioCraft Plus
AudioCraft Plusは、AudioGenとMusicGenの両方が使え、様々な高度な機能が追加された音に関するオールインワンのウェブUIです。
(1) Google Colabでの利用
以下のバナーをクリックしてColabノートを開き、GPUを設定して、セルを実行してください。
実行終了後に、https://xxxxxxxxxxx.gradio.liveのようなGradioのリンクをクリックすると、以下のような操作画面が現れます。
(2) MusicGenの使用
最初の画面は、MusicGen用の操作画面になっています。
ここでInput Textの欄に自分の好きなプロンプトを入力して、一番下のGenerateボタンをクリックすると、しばらくして、上の図のような緑色の音声波形が現れます。その下の▶ボタンをクリックすると、(デフォルトで10秒間)生成した音楽が再生を開始します。
Durationを調整して音楽ファイルの長さを最大300秒間まで変えられます。
また、音声波形の右上のダウンロードマークをクリックするとmp4形式で、Audio Onlyの右のダウンロードマークをクリックするとwav形式で音楽ファイルをダウンロードできます。
(3) AudioGenの使用
AudioGenのタブをクリックすると、AudioGen用の操作画面が現れます。画面の構成も操作方法も、基本的にMusicGenと同じです。
ここでInput Textの欄に自分の好きなプロンプトを入力して、一番下のGenerateボタンをクリックすると、しばらくして、緑色の音声波形が現れます。その下の▶ボタンをクリックすると、(デフォルトで10秒間)生成した効果音などが再生を開始します。
効果音などの継続時間の変更や音声ファイルのダウンロード方法もMusicGenと同じです。