インストール
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でドラムを作る
モデルをダウンロード
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でコードに合わせたメロディを作成
モデルをダウンロード
コマンド
call activate magentaコードタイプ 「A13」、「Cdim」、「F#m7b5」など
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
--steps_per_chordオプションを使用して、コードの長さを制御できます。
コードを指定するだけでメロディを作ってくれるので使える。
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を作成
モデル
- performance
- performance_with_dynamics
- performance_with_dynamics_and_modulo_encoding
- density_conditioned_performance_with_dynamics
- pitch_conditioned_performance_with_dynamics
- multiconditioned_performance_with_dynamics
コマンド
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アプリ作りました
インストールしないでコードを入力するとメロディを作ってくれます。