Magentaで自動作曲

 インストール

Minicondaをインストール

Anacond Promptoを起動してmagentaの環境を作成してインストール

conda create -n magenta python=3.8 jupyter
activate magenta
pip install magenta

Merody Rnnでメロディを作成

トレーニング済みモデルをダウンロード

ダウンロードしたファイルを C:\magenta\merody_rnn に置く。
Anacond Promptoを起動してmagentaの環境に切り替えて実行

activate magenta
melody_rnn_generate --config=basic_rnn --bundle_file=c:\magenta\merody_rnn\basic_rnn.mag --output_dir=c:\magenta\merody_rnn --num_outputs=5 --num_steps=256 --qpm=128.0 --primer_melody="[60]"
 

コマンド

--config=basic_rnn  学習データ設定。学習データに合わせて選択する。

--bundle_file=c:\magenta\merody_rnn\basic_rnn.mag  学習データ

--output_dir=c:\magenta\merody_rnn  midiファイルの保存場所

--num_outputs=5  作成するmidiファイルの数

--num_steps=256  ステップ数。1小節16ステップ

--qpm=128.0  テンポ

--primer_melody="[60]" 最初の音。これを基準に次の音符を生成する。,で区切って複数してできる。音の長さは16分音符。-2を指定すると何もしない。-1は音を止める。

--primer_midi=midiファイルで指定もできる。

 

 Drums RNNでドラムを作る

モデルをダウンロード

drum_kit


Anacond Promptoを起動してmagentaの環境に切り替えて実行

activate magenta
drums_rnn_generate --config=drum_kit --bundle_file=C:\magenta\drums_rnn\drum_kit_rnn.mag --output_dir=c:\magenta\drums_rnn --num_outputs=5 --num_steps=256 --qpm=128.0 --primer_melody="[(36,)]"

 ノートナンバー

Bass Drum 36/C1

Snare Drum 38/D1

Close HiHat 42/F#1

Open HiHat 46/A#1

Low Tom 45/A1

Mid Tom 48/C2

High Tom 50/D2

Crash Cymbal 49/C#2

Ride Cymbal 51/D#2 


Improvでコードに合わせたメロディを作成

モデルをダウンロード

chord_pitches_improv

 

コマンド

call activate magenta
improv_rnn_generate  --config=chord_pitches_improv --bundle_file=C:\magenta\improv\chord_pitches_improv.mag --output_dir=c:\magenta\improv --num_outputs=10 --primer_melody="[60]" --backing_chords="C G Am F C G Am F" --render_chords
コードタイプ 「A13」、「Cdim」、「F#m7b5」など

--steps_per_chordオプションを使用して、コードの長さを制御できます。

コードを指定するだけでメロディを作ってくれるので使える。


Polyphony RNNでバッハっぽい曲を作る

モデル

polyphony_rnn


コード

call activate magenta
polyphony_rnn_generate --bundle_file=C:\tools\magenta\polyphony\polyphony_rnn.mag --output_dir=C:\tools\magenta\polyphony --num_outputs=10 --num_steps=128 --primer_pitches="[67,64,60]" --condition_on_primer=true --inject_primer_during_generation=false

prime_pitches:四分音符の長さの開始コードとして使用されるピッチのリスト。

prime_melody:16分音符のメロディ

prime_midi:プライミングトラックとして使用されるポリフォニックトラックを含むMIDIファイルへのパス。

和音が綺麗。

 

 Pianoroll RNN

モデル

 

コマンド

call activate magenta
pianoroll_rnn_nade_generate --bundle_file=C:\tools\magenta\pianoroll\pianoroll_rnn_nade-bach.mag --output_dir=C:\tools\magenta\pianoroll --num_outputs=10 --num_steps=128 --primer_pitches="[67,64,60]"



 Performance RNNでBGMを作成

モデル

 

コマンド

call activate magenta
performance_rnn_generate --config=multiconditioned_performance_with_dynamics --bundle_file=C:\magenta\Performance\multiconditioned_performance_with_dynamics.mag --output_dir=C:\magenta\Performance --num_outputs=3 --num_steps=3000 --primer_melody="[64]" --notes_per_second=6 --pitch_class_histogram="[2,0,1,0,1,1,0,1,0,1,0,1] "

 notes_per_second:出力パフォーマンスで必要な1秒あたりのノート数。

pitch_class_histogram:ノートの出現率。例: "[2、0、1、0、1、1、0、1、0、 1、0、1] "は、Cメジャースケールに固執する傾向があり、スケールの他のノートの2倍のCがあります。

ゆっくり目のBGMに使えるかも。

スケールを指定できるので使いやすい。


MusicVAEで3バンドを作成

チェックポイントをダウンロード 。

 https://github.com/magenta/magenta/tree/main/magenta/models/music_vae

 hierdec-trio_16bar.tarをダウンロードしました。2.6GBあります。

 

コマンド

call activate magenta 
music_vae_generate --config=hierdec-trio_16bar --checkpoint_file=C:\tools\magenta\musicVAE\hierdec-trio_16bar.tar --mode=sample --num_outputs=5 --output_dir=C:\tools\magenta\musicVAE

二つのMIDIを合成するモードがあるけどエラーで動かなかった。

メロディーよりドラムの方が使えるかも。


WEBアプリ作りました

インストールしないでコードを入力するとメロディを作ってくれます。

簡単に作曲できるスクリプト


yuki

初めての作業で調べた事、困った時の解決方法を記録するブログ。 主なテーマは、パソコン、プログラミング、カメラ、DTM、スピリチュアル、化学物質過敏症

コメントを投稿

Please Select Embedded Mode To Show The Comment System.*