見出し画像

縦笛の曲をAIでアレンジ「MusicGen」

1.MusicGenの概要

Meta社から音楽生成モデル用モデル「MusicGen」が公表されていました。事前トレーニング済モデルとして提供されているのは、以下4つ🤗。

なお、各モデルの重みファイルはHuggingFaceでも公開されていますが、MusicGenと合わせて公開されているAudiocraftというライブラリーから自動で読み込んで利用できます。

  • small: 300Mモデル、テキストから音楽への変換のみ -

  • medium: 1.5Bモデル、テキストから音楽への変換のみ 

  • melody: 1.5Bモデル、テキストから音楽への変換とテキスト+メロディーから音楽への変換 

  • large: 3.3Bモデル、テキストから音楽への変換のみ 

2.早速、試してみます

テキストからの音楽生成も気になるのですが、今回はメロディから音楽へ変換できるらしい「melody」というモデルを試してみます。

入力用の素材には、著作権フリー素材に明るくないため、手元にあったソプラノリコーダーで、小学校の音楽で習った曲を、ひさしぶりにピロピロ吹いて使ってみます。(ゲームコントローラーの内蔵マイクで録音)

早速、MusicGenのmelodyモデルに投入してみます!
ライブラリ類のインストールはgithubの説明どおりでOKです。

import torchaudio
from audiocraft.utils.notebook import display_audio

from audiocraft.models import MusicGen

model = MusicGen.get_pretrained('melody')
model.set_generation_params(duration=30)

melody_waveform, sr = torchaudio.load("assets/Greensleeves00.wav")
melody_waveform = melody_waveform.unsqueeze(0).repeat(2, 1, 1)
output = model.generate_with_chroma(
    descriptions=[
        '80s pop track with bassy drums and synth',
        '90s rock song with loud guitars and heavy drums'
    ],
    melody_wavs=melody_waveform,
    melody_sample_rate=sr,
    progress=True
)
display_audio(output, sample_rate=32000)

3.出力結果

素材はかなりチープな感じでしたが😓、メロディーの音が変わったり、リズムや伴奏がついて、かなりゴージャスな音に変化したのではないでしょうか。
素材を選べば、もっとイケてる音楽が生成されると思います。

なお、テキストからの生成例はbbzさんの記事をシュッとご覧ください。いい感じに生成できてるみたいです。

感想

  • 質素な入力からでも、いい感じにアレンジしてくれる面白いモデルですね。鼻歌とかを入力素材にする等、いろいろ遊べそうです。テキストからの音楽生成も試してみたいと思います。😄

現場からは以上です。


いいなと思ったら応援しよう!