Google Magenta Studioを使ってみた〜機械学習で音楽制作〜

つい先日、YouTubeで「機械学習を駆使して曲を作る」といった内容の動画を見つけました。気になったので今回は実際にやってみてその過程を記録しました。DTMerや興味のある方の参考になればと思います。

ある道を進んで 〜音楽作成の道 その1〜

Magentaとは

「機械学習を音楽や芸術の領域で活用する」という研究をしているGoogle社のプロジェクトです。(→Magenta)

今回使っていくのはMagentaが出している[Magenta Studio]というアプリです。使ってみたところUIがわかりやすく直感的な操作が可能でした。

Magenta Studioアプリケーション

導入

動作環境

自分はmacユーザーで動作環境は以下の通りです。

MacBook Pro (13-inch, 2020) メモリ16GB,IntelCore

macOS Big Sur バージョン11.01

(2021/2/15)

MagentaStudioをインストール

https://magenta.tensorflow.org/studioにアクセスし

[Standalone Applications]をクリック

自分のOSに合う方を選択して、zipファイルをダウンロードします。

900MBぐらいの容量で、数分以内にはダウンロードできるかと思います。

zipファイルを解凍し、フォルダを開くと中に5つアプリが入っているはずです。

これでMagentaStudioのインストールは完了です。

これらのアプリではMIDIファイルを取り扱います。「DTM環境がバッチリ整っているよ」という方はしばらく読み飛ばして大丈夫です。

ある道を進んで 〜音楽作成の道 その1〜

DAWソフトの準備

このアプリを扱うためにはMIDIファイルの読み込み、書き出しができるDAWソフトを準備しておく必要があります。

音楽制作を始めてみようと考えている方は、この機にStudio OneやCubaseを買ってみてはいかかがでしょうか。オーディオインターフェースを買うと無料でDAWソフトがついてくるものもあるので、ぜひ探してみてください。

また、無料のDAWソフトもあるので、お試しであればフリーで全く問題ないと思います。windows環境の方にはcakewalkをおすすめします。自分は試していませんが、調べた限りではMIDIファイルの書き出しに対応しているようなのでぜひやってみてください。

mac環境では、購入時からインストールされているガレバンことGarageBandがとても便利なDAWソフトです。非常にわかりやすい見た目で、自分も頻繁に使っていました。

しかし、残念なことにどうやらガレバンは直接MIDIへの書き出しに対応していないようです。

どうにかならないか試行錯誤していたところ、ネットに方法が紹介されていました。素材としてリージョンをループライブラリに追加し、aifファイルとして一度書き出し、GB2MIDIというフリーソフトを経由してMIDIに変換するというものです。

実際に自分も試してみました。

Apple Loopsはデフォルトだと下のディレクトリに入るみたいです。

~ユーザー名/ライブラリ/Audio/Apple Loops/User Loops/SingleFiles

ダウンロードし、いざGB2MIDIを使ってみようとしたらソフトを起動することができませんでした。古いソフトのためOSに対応していなかったのかと思います。

さて、困ったどうしようと行き詰まりました。

LogicProではMIDIの書き出しができるそうだったので私はこの機に購入しました。なかなか高い金額ですが、前から気になっていたので良いきっかけではあったかと思います。APPLEの教育機関向けPro Appバンドルで購入しました。ガレバンとUIがほとんど変わらないため抵抗なく使うことができ非常に快適でした。

わざわざ購入しなくとも、LogicPro90日間無料体験があるみたいです。なので、macでやってみたいという方は、この無料体験を使ってみる、もしくはmac対応のフリーDAWソフトを探すのが良いと思います。

また、5つのアプリのうちGenerateのみMIDIを読み込まずに、見本なしで自動でメロディやドラムロールをMIDIファイルに書き出してくれます。ガレバンもMIDIの読み込みには対応しているので、Generateの自動生成を試すことはできるはずです。

Magenta Studioを使ってみる

ようやく本題に入ります。今回は5つのうちの2つのアプリをご紹介します。残りの3つはぜひ試して見てください。

Generate

まず、最初にご紹介するのはGenerateです。

機能は至って単純で、アプリを起動していくつか設定をするだけで自動でメロディもしくはドラムロールを作ってくれるというものです。

Generate

一番上のDrumsとMelodyでどちらを出力させるか決め、次のOutput LocationのChoose folderからMIDIファイルを書き出す場所を指定します。

さらにその下のVariationsのつまみは出力するMIDIの個数です。上の写真では8に設定されているので、この状態では8つの異なるドラムロールが生成されます。

Temperatureはいじくってみたところ音数や複雑さといったところのようです。

「It can be used to produce more random outputs by increasing the temperature」とあるので、生成の際はTemperatureを適度にいじってあげると良いと思います。

ドラムロール

・Temperature1.0で生成

GENERATE1
GENERATE2
GENERATE3
GENERATE4

1番と4番なんかはオーソドックスで使いやすそうな感じですね。

3番は逆に癖があってかっこいい感じがします。2番はあまり使わないかなぁ…

・Temperature2.0で生成

GENERATE5
GENERATE6
GENERATE7
GENERATE8

最高の2.0まであげたら音数が増えすぎてごちゃごちゃした感じになりました。シンバルの主張が強すぎるような気がします。

Temperatureを1.0程度にしておけば、制作でも普通に使っていけそうです。

メロディ

GENERATE10
GENERATE11
GENERATE12

12番は上手く利用できそうな感じがしますね。それぞれ全く違うテイストのメロディになっているのも興味深いです。作曲中にメロディで詰まったときは自動生成して良さそうな部分を抽出してみてもいいかもしれません。

Continue

Continueは自分が作ったメロディやドラムロールの続きを作ってくれるというアプリです。

Contenue

一番上のDrumsとMelodyでどちらを出力させるか決めます。

その下のInput LocationのChoose fileから続きを作らせたいMIDIファイルを指定します。

Variationsのつまみは出力するMIDIの個数です。

Lengthは追加する続きの長さです。あまりLengthの値を上げすぎるとエラーがでました。元のMIDIファイルの長さなどに関係があるかもしれません。

メロディ

オリジナルメロディ

このメロディの続きを作ってもらいます。

CONTINUE1
CONTINUE2
CONTINUE3
CONTINUE4

1番は着地している感じはありませんが、さらに続きを作るための着想になりそうですね。他のは微妙な気がします。

続きの長さが短すぎたかもしれないので、Lengthを長めにして生成させてみました。

CONTINUE5
CONTINUE6
CONTINUE7
CONTINUE8

8番はちょっと修正するだけで結構使えるかもしれません。

ドラムロールに比べるとメロディの方の生成はまだまだかなという感触ですが、作曲中のヒントとして使えば、意外な気付きに繋がって面白いかもしれませんね。

さいごに

ここまでお付き合いくださりありがとうございました。機械学習での自動生成もなかなか実用的になっていて驚きました。作曲中にアイディアに詰まったら頼ってみると良いものが生まれるかもしれませんね。参考になっていれば幸いです。

自分は「ラムダ技術部 / Yoidea」さんの動画をきっかけにMagentaを知りました。自分でやるのは面倒だけど、使っているところを見てみたいという方は下の動画をおすすめします。

ジロー
主にカルチャーとテクノロジー分野を書きます
好きなゲームはポケモン.FE.ペルソナ
料理と近代建築がマイブームです
よろしくおねがいします!
Twitter→https://twitter.com/jiro_tobilog?s=21
note→https://note.com/jiro_tobilog
タイトルとURLをコピーしました