
バッハ平均律のMIDIをテキトーに手軽に人間っぽく加工する (MIDI Humanize)
クラシックでとりわけ好きなのは、バッハの『平均律クラヴィーア曲集』。(曲集としても構成美すご!バシバシ転調するし)。
で、『平均律』で好みの演奏を長年探し求めているのだけど(こういうとき本当にサブスクは便利)最近とにかく「テンポが遅いのが聴きたい!」
でも、テンポのおそ〜い録音はあまり多くはない。自分で弾ければいいのだけど、平均律は難しすぎるし。だいたい96曲もある。
なので、MIDIを加工して、自分好みにしたらいい、と思ったのだけど。
とにかくめんどくさい!
MIDIの編集って、こんな画面でコツコツ音符のパラメータをエディットするとか・・・。もういちど言うけど、平均律って96曲もあるんですよ。

とにかく楽をしたい。とやってみたのが、以下。
1. MIDIファイルをみつける
平均律が全曲揃ったMIDIファイルはあんまりなくて、とりま見つけたのが下記:
Well-Tempered Clavier Suite Vol.1 BWV846-869 w1.zip 214.5100:40
Well-Tempered Clavier Suite Vol.2 BWV870-893 w2.zip 245.7122:29
のZIPを使います。
2. 再生するピアノ音源を手にいれる
MIDIを再生するピアノ音源が必要。
好みの音が出るピアノ音源が手元にあればベターです。
Macなら、GarageBandが入ってるので、それでも可。
いろいろ探して購入とかできればベストです。
僕は、以前iPhone版の『Pianoteq』という音源を購入後腐らせてたのを復活。iPhone版を買ってればMacでもWindowsでもLinuxでも使えるんですね、すばらし〜🎵
Pianoteqであれば、内蔵のMIDIプレーヤーの設定でPlayback speed(再生スピード)を遅くしてやれば(x0.75とか)、ゆっくりした演奏が簡単にできちゃいます。

3. MIDIを人間っぽく加工する
1のMIDIファイル、これはSuzuchanさんが弾いたもの?打ち込み?
どちらにしても多少のニュアンスはありますが、そのままではかなり機械っぽく聴こえてしまうので、人間ぽい加工をしたいです。
コツコツMIDIファイルをエディットするのは前述の通りほんとにめんどくさい!ので、自動で人間ぽく加工できるやつを探しました。
なお「人間ぽく加工する」ことを「Humanize」と呼ぶそうです。
3-A. midihum (Python) を使う
pythonで書かれたMIDIをHumanizeするツール。(使い方は下記のページに)これを使って、シンプルに
python main.py humanize input.mid humanized_file.mid
で、テキトーに人間ぽくしてくれます。
3-B. MIDI Humanizer (Webアプリ) を使う
もうちょっと細かくパラメータを指定して人間ぽくしたい場合、こっちが便利。
ただ、Webアプリなので、1曲ずつ変換しなきゃなのはちょっと・・・(もう一度。平均律って、全96曲なんで)
それでAIに相談して、このWebアプリをコマンドラインで使えないか?と相談すると「できるよ〜」って。
npm install @tonejs/midi seedrandom d3 lodash-es glob
# 上でインストールして
# 下でパラメータ指定してまとめて変換
node humanize.mjs *.mid --inc-seed-per-file --overwrite \ --start-randomness 2 --drift-amount 8 --drift-seed 31 --drift-step 461 \ --duration-randomness 2 --velocity-randomness 0.07
この2つのHumanizerを、両方かけてやったら、まあまあ聴けるかな?くらいになったので、満足しています。(バッハなので、すごくエモーショナルにならないほうがいいしね)

できたサンプルがこんな感じ:
どうだろう。
P.S.
こんな感じで、曲ごとに再生スピードを好みに調整して全曲をmp3に変換した結果、全曲の演奏時間は「5時間22分=322分」。
通常、『平均律全曲』のCDセットはCD4枚で、収録可能時間は理論的には320分弱。ギリ入りませんね。