ディープラーニングでジャズを作曲する「deepjazz」を環境構築無しで簡単に使用できるチュートリアル
音声配信にオリジナルのBGMが欲しい
最近noteで音声配信を始めています。
2回目の配信でも話したのですが、自分の配信に決定的に足りてないものは、シャレオツ(死語)なBGMです。BGMって、自分の配信のイメージに大きく影響するので、できればフリー素材などをパッと持ってくるのでなく、ちゃんとイメージにあうオリジナルの曲を自分で用意したいのですよね。
ただ、ロックやポップスなら作ったことあるのですが、音声配信に合うようなBGM的な音楽は作ったことがありません。
どうしようかなと悩んでいて、ふと思いつきました。「そうだ、ディープラーニングがあるじゃないか!」と。そんなわけで、ディープラーニングでBGMを作ってみることにしました。
ディープラーニングで作ったBGMの例
先日配信した第4回。この回から初めてBGMをつけたのですが、このBGMが実はディープラーニングで作ったものです。
言われないと、ディープラーニングが作った曲って分からないのじゃないでしょうか?本チュートリアルを使えば、こんな感じの曲がいくらでも作れてしまいます。
「deepjazz」でJazzを自動生成
ディープラーニングで曲を自動生成する手法は世の中にいくらでもあるのですが、今回は「deepjazz」というプロジェクトを利用しました。理由は、ジャズというジャンルがBGM的に良さそうだったのと、ソースがGitHubで公開されていて試しやすそうだったためです。
ただ、このソフトが結構な曲者で、実際試してみると以下のような問題があることが分かりました。
- Python3に対応していない
- music21の最新のAPIでエラーが発生する
- その他issueの既知のworkaroundがある
そこで、GitHubの元のリポジトリをforkして、出てきたエラーを元に勘でPython3対応と最新のライブラリのバージョン対応と既知のworkaroundの対応をしました。以下で公開しています。
これを使えば、誰でも簡単にジャズを作曲できる!といいたいところですが、これでも環境構築を含めて難しいという方がいるかもしれないので、「Google Colaboratory」と私が用意した上記のソフトを組み合わせて使うことで、環境構築不要でコピペだけで、誰でも手軽にジャズを作曲できるマニュアルを作って見ました。
ここからは有料になりますが、とにかく手軽に音楽生成を試してみたいという方は試してみて下さい。コピペも面倒くさいという人には、最後に私が用意した「Google Colaboratory」のJupyter notebookファイルへのリンクも載せておきます。そちらを利用すればクリックだけで音楽生成が可能です。
なお、使用に当たっては以下のような注意点があるのでご了承下さい。
- 本内容は、筆者の環境で動作確認はしていますが、必ずしも読者全ての環境で動くことを保証するものではないこと、本内容がソフトウェアのバージョン変更や、開発中止により再現できなくなる可能性があり、永続的サポートできないことご了承下さい
- 自動生成される音楽ファイルはMIDI形式のファイルです。再生するには、MIDI音源や再生ソフトが必要です(MacならGaragebandで再生可能です)。
- プログラムの動かし方の説明のみで、プログラム自体の解説はありません
- 本記事で用いている「Google Colaboratory」などの1部のWebサービスは、サービス提供社の都合で中止になる可能性あり、その際の保証はできないことご了承下さい
- プログラム及び作曲した曲は読者の皆様が自由に使用・改変が可能です(詳細はライセンスを確認下さい。Apache License 2.0です)。ただし、使用して発生した問題に関しては、責任はおえませんのでご了承下さい
- 作曲のベースになる曲(いわゆる教師データ)の変更はできません。正確には、曲に合わせてプログラムを変更すればできるのですが、まだ私がそこまで深く理解できていません。教師データに合わせて、ソフトを変えないといけないのは仕様のようです(まだまだ完全な自動生成にはハードルがあるということです)。
今回、価格を抑えめにしているのは、教師データの変更ができないためです。もし今後これができるようになったら、グッと値上げしようと思っていますが、出来るかは不明です(少なくとも完全な自動化は、今の延長線上では無理そうです)。
この記事が気に入ったらチップで応援してみませんか?