見出し画像

Metaのサウンド生成ツール「Audio Craft」の使い方

8月2日、Metaがテキストから音楽や効果音を生成するAIツール「Audio Craft」を発表したので試してみました。



1.Audio Craftの概要

Audio Craftは、以下の3つのモデルで構成されたオープンソースのサウンド生成ツールです。

  1. AudioGen テキストから効果音などを生成

  2. MusicGen テキストから音楽を生成

  3. EnCodec ニューラルネットワークベースの音声圧縮コーデック

AudioGenはパブリックな効果音でトレーニングされており、MusicGenはMetaが所有する合計約2万時間に及ぶメタデータ付き音楽でトレーニングされたとMetaは説明しています。

AudioGenのアーキテクチャー

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 hornA 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点リーダーをクリックして再生速度の変更やオーディオファイルのダウンロードもできます。

AudioGen用のウェブGUI

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: の後のリンクをクリックすると、以下のような操作画面が現れます。

MusicGenの操作画面

ここで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のリンクをクリックすると、以下のような操作画面が現れます。

AudioCraft Plusの操作画面

(2) MusicGenの使用

最初の画面は、MusicGen用の操作画面になっています。

ここでInput Textの欄に自分の好きなプロンプトを入力して、一番下のGenerateボタンをクリックすると、しばらくして、上の図のような緑色の音声波形が現れます。その下の▶ボタンをクリックすると、(デフォルトで10秒間)生成した音楽が再生を開始します。

【プロンプトの例】
・An 80s driving pop song with heavy drums and synth pads in the background
・A cheerful country song with acoustic guitars
・90s rock song with electric guitar and heavy drums
・a light and cheerly EDM track, with syncopated drums, aery pads, and strong emotions bpm: 130
・lofi slow bpm electro chill with organic samples
・K-pop music

Durationを調整して音楽ファイルの長さを最大300秒間まで変えられます。
また、音声波形の右上のダウンロードマークをクリックするとmp4形式で、Audio Onlyの右のダウンロードマークをクリックするとwav形式で音楽ファイルをダウンロードできます。

(3) AudioGenの使用

AudioGenのタブをクリックすると、AudioGen用の操作画面が現れます。画面の構成も操作方法も、基本的にMusicGenと同じです。

ここでInput Textの欄に自分の好きなプロンプトを入力して、一番下のGenerateボタンをクリックすると、しばらくして、緑色の音声波形が現れます。その下の▶ボタンをクリックすると、(デフォルトで10秒間)生成した効果音などが再生を開始します。

【プロンプトの例】
・typing on a typewriter
・thundering sounds while rain pours
・the siren of an emergency vehicle sounds
・subway train blowing its horn
・a man speaks as birds chirp and dogs bark
・frogs croaking in the rain

効果音などの継続時間の変更や音声ファイルのダウンロード方法もMusicGenと同じです。

この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?