skip to content
snuow's brain
meta_logo Thumbnail

Metaから発表されたテキストから音楽を生み出すAudioCraftのMusicGenを使ってみた

8GBのGPUで試してみました。テキストから音楽を生み出せるってすげえええ。

概要

ソースコード

main.py

from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write


def music_gen():
    model = MusicGen.get_pretrained("medium")
    model.set_generation_params(duration=24)  # durationの設定で、musicの長さを設定

    # リストに生成するmusicのテキストを入力する
    # 同じ単語でも同じmusicを生成しない。
    descriptions = ["happy rock", "death metal rock", "jpop happy "]

    wav = model.generate(descriptions)  # generates 2 samples.

    for idx, one_wav in enumerate(wav):
        # Will save under {idx}.wav, with loudness normalization at -14 db LUFS.
        audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")


if __name__ == "__main__":
    music_gen()

モデルタイプ

  • small,medium,large,melodyがあります。
    • 今回は、GTX1070Tiの8GBでもmediumは動きました。
modelタイプ
model = MusicGen.get_pretrained("medium")

生成する音楽の時間

  • durationを数値で設定することにより、音楽の時間の長さを設定できます。
duration
model.set_generation_params(duration=24)

Youtube

【生成AI】metaから新しく出たaudiocraftを使ってテキストから音楽を生成してみた。【python】