Cakewalk by BandlabにはCALスクリプトというのがあってそれでMIDIデータを編集できますが

CALスクリプトには結構制限があるし書くのが大変です。

 

CALスクリプトでMIDIを編集するようなスクリプトを書こうと思ったけれども、

複雑な処理だったので、とりあえずPythonで作ろうとしたのですが、作ってみると以外にもCalじゃなくてそのままPython使ってもいいかもしれないと思いました。

 

というのも、Cakewalk By Bandlabではトラックビュー上のMIDIクリップはドラッグアンドドロップができます。なのでトラックビュー上のMIDIクリップを、Pythonで作ったMIDI編集のGUIプログラムにドラッグしたら、編集後のMIDIファイルを生成してくれるプログラムを作ることができました。

生成されるMIDIファイルを同一ディレクトリに作るようにしたところ

C:\Users\Username\AppData\Local\Tempのところにファイルが生成されました。これはPython側によるものなのかCakewalk側の仕様なのかよくわかりません。もちろん別の場所に生成することもでますが、いずれにせよ、Cakewalk側のブラウザでそのフォルダを開いておけばその後は、そのファイルをドラッグして、もとのトラック上のMIDIクリップをそれと置き換えるだけですね

 

ということで、Chatgptを頼りに、ランダマイズとギターストラムを自動でやってくれるようなPythonスクリプトを作りました。細かいところをしっかり作っていないので完成度は微妙ですがこういう使い方ができるのはいいですね。

 

スクリプトをもっといじったら、ひょっとしたらこのGUIから直接トラック上へドラッグすることもできるかも?