zkunがいろんなことを横書きするブログのようですw(含み笑)
エディター画面で実際にどんな演奏になるのか音を確認できるかどうかは重要だよne そこで、通常の全体ループルーチンのサブセット版をつくって、エディターでの操作状況を反映させて1小節分だけベースをループさせる仕組みをつくったyo なんだ、簡単そうじゃないかと思うかもしれないけど、8小節とかある程度長さがあるものと違い、1小節ならではのややこしさがあって、バグとりにはかなり苦戦したyo
とにかくややこしいのは、小節をまたいで音が鳴る場合の処理だyo ドラム音の場合はMIDI NOTE ONだけ送ってやれば、鳴って勝手に減衰して消えてくれるんだけど、ベースの場合はそのままでは鳴りっぱなしになってしまうので、必ずMIDI NOTE OFF信号も送ってやらないといけないyo 複数小節がある場合は、次の小節の配列のあふれ情報受け入れ部分に数値を渡しておけばよかったけど、1小節しかない場合はそこらあたりの処理手順をもういっぺん練り直さないとつじつまがおかしくなったりするので、けっこうめんどくさかったんだよne(プログラマー笑)まあ、こうやって音程楽器のループ処理の扱い方のプログラミングに関する知恵も蓄積されていくんだけどne(含み笑)
次のステップではいよいよ、勝手に演奏をかぶせてくるキーボードプレーヤーをプログラムしてみようかと思うyo 演奏データとして保存するのではなく、v2.1フォーマットのファイルを再生するときに、そのデータからベースパートの情報を読み取らせて、どういう音を鳴らすかを決めさせる「再生時オプション機能」みたいな感じで動かそうと思うyo 白玉音符でパワーコードを鳴らしたり、ベースの何度上をユニゾンさせたり、アルペジオさせたり、というようにいろんなオプション指定ができるようにすればおもしろいよne まあ、いきなり全部は無理だろうけどw(苦笑) Zkun Keyboard v1.0のときに移植したHarmonizerの関数があるから、あれを利用するだけでハモらせ機能はできるyo パワーコードでいいならベース簡易表示の|A|G|C|といったテキストを元に作成できるよne アルペジオをやろうとしたら、調性をどうするかとかいろいろ決めなくちゃいけないのでちょっと複雑になるだろうne まずは簡単なものから着手して基礎になる部分を固めて、そいつをアレンジするという方式でこれまでどおりジワジワと進化させていくyo(地道笑)
とにかくややこしいのは、小節をまたいで音が鳴る場合の処理だyo ドラム音の場合はMIDI NOTE ONだけ送ってやれば、鳴って勝手に減衰して消えてくれるんだけど、ベースの場合はそのままでは鳴りっぱなしになってしまうので、必ずMIDI NOTE OFF信号も送ってやらないといけないyo 複数小節がある場合は、次の小節の配列のあふれ情報受け入れ部分に数値を渡しておけばよかったけど、1小節しかない場合はそこらあたりの処理手順をもういっぺん練り直さないとつじつまがおかしくなったりするので、けっこうめんどくさかったんだよne(プログラマー笑)まあ、こうやって音程楽器のループ処理の扱い方のプログラミングに関する知恵も蓄積されていくんだけどne(含み笑)
次のステップではいよいよ、勝手に演奏をかぶせてくるキーボードプレーヤーをプログラムしてみようかと思うyo 演奏データとして保存するのではなく、v2.1フォーマットのファイルを再生するときに、そのデータからベースパートの情報を読み取らせて、どういう音を鳴らすかを決めさせる「再生時オプション機能」みたいな感じで動かそうと思うyo 白玉音符でパワーコードを鳴らしたり、ベースの何度上をユニゾンさせたり、アルペジオさせたり、というようにいろんなオプション指定ができるようにすればおもしろいよne まあ、いきなり全部は無理だろうけどw(苦笑) Zkun Keyboard v1.0のときに移植したHarmonizerの関数があるから、あれを利用するだけでハモらせ機能はできるyo パワーコードでいいならベース簡易表示の|A|G|C|といったテキストを元に作成できるよne アルペジオをやろうとしたら、調性をどうするかとかいろいろ決めなくちゃいけないのでちょっと複雑になるだろうne まずは簡単なものから着手して基礎になる部分を固めて、そいつをアレンジするという方式でこれまでどおりジワジワと進化させていくyo(地道笑)
PR