zkunがいろんなことを横書きするブログのようですw(含み笑)
v0.4に進むにあたって、むしろ先にベースを作るほうが簡単かもと思ったyo というのも、zkunアプリで鳴らしているオートベースは、ある範囲の音高集合の中から、ルート音を中心にある程度ランダムにばらつかせて選択して順に鳴らしていく方式をとっているので、順に情報が増えていく状況でも対応しやすいかなと思うところがあるからだyo
ある小節で、最初の生演奏入力が1拍目第2クロック(2つ目の16分音符)のタイミングで得られたとするよ。その時点で、それを仮にルート音と決め、それのパワーコードを構成音集合として仮定義するとするよ。そうすれば、その時点で短調も長調も決めつけず、無難な音集合を用意できるというわけだよ。そして、同じタイミングで、まずは最初のベース音発音として、そのルート音をボーンと鳴らす。つまり、その小節で最初に鳴った音とユニゾンさせる形でベースラインをスタートさせるわけだよ。
ベースの2音目以降をどのタイミングで鳴らすかは、オートベース設定で定義するヒットパターンの進行予定に従って、以降は自動的に決まるよ。そして、構成音集合は、生演奏入力で3度や7度が出てきたなら、それを付加してやることで、より詳細なコード構成音集合が定義されていくようになる。それは各拍の先頭クロックで更新すれば十分ではないだろうかと思う。
難しいのは、どこでコードが変わったとみなして、構成音をいったんリセットして、新たなルート音の採用を決めるかということだろうね。単純に小節の変わり目でリセットするという方法もあるだろうし、1拍目と3拍目に行うという方法もあるだろうし、構成音の個数がある数をオーバーしたら行うという方法も考えられるだろうし、4度、6度、2度など、特定の音高が出てきたときに行うという方法も考えられるだろう。それらは、どのような生演奏が行われるかによって、向き不向きがわかれると思うので、一概にどれが優れていると評価するのは難しいだろうね。
あるいは、キーボードスプリットを定義できるのだから、ルート音は常にLower鍵盤側の最低音を得ることにすれば、演奏者の意図でコードキーを変えるタイミングを操作できるようにもなるね。それも結構おもしろいかもしれないね。
さらに言えば、どのような経過音もすべて構成音集合に加えていくのが適切とも思えないので、ある程度単純な想定追加音の範囲を決めておいて、それを逸脱する音が来たら無視するというようなルールがあってもいいだろうね。
これらもそれこそ幾通りものモジュールを試作して、切り替えて実験できるようにすることで、より実用的なルールをさぐっていけるだろうね。とりあえず、そのような方針でZkun Studio版のリアルタイムオートベースを改変作成してみようじゃなイカw
オートベース用の内部の配列変数とかの扱いも、今回は大ナタを入れてすべて新しいものにしたほうがいいと思われるので、ここからはちょっと時間をかけて作り込んでいくことになると思うyo いよいよ最初のヤマに突入といった感じだne(含み笑)
ある小節で、最初の生演奏入力が1拍目第2クロック(2つ目の16分音符)のタイミングで得られたとするよ。その時点で、それを仮にルート音と決め、それのパワーコードを構成音集合として仮定義するとするよ。そうすれば、その時点で短調も長調も決めつけず、無難な音集合を用意できるというわけだよ。そして、同じタイミングで、まずは最初のベース音発音として、そのルート音をボーンと鳴らす。つまり、その小節で最初に鳴った音とユニゾンさせる形でベースラインをスタートさせるわけだよ。
ベースの2音目以降をどのタイミングで鳴らすかは、オートベース設定で定義するヒットパターンの進行予定に従って、以降は自動的に決まるよ。そして、構成音集合は、生演奏入力で3度や7度が出てきたなら、それを付加してやることで、より詳細なコード構成音集合が定義されていくようになる。それは各拍の先頭クロックで更新すれば十分ではないだろうかと思う。
難しいのは、どこでコードが変わったとみなして、構成音をいったんリセットして、新たなルート音の採用を決めるかということだろうね。単純に小節の変わり目でリセットするという方法もあるだろうし、1拍目と3拍目に行うという方法もあるだろうし、構成音の個数がある数をオーバーしたら行うという方法も考えられるだろうし、4度、6度、2度など、特定の音高が出てきたときに行うという方法も考えられるだろう。それらは、どのような生演奏が行われるかによって、向き不向きがわかれると思うので、一概にどれが優れていると評価するのは難しいだろうね。
あるいは、キーボードスプリットを定義できるのだから、ルート音は常にLower鍵盤側の最低音を得ることにすれば、演奏者の意図でコードキーを変えるタイミングを操作できるようにもなるね。それも結構おもしろいかもしれないね。
さらに言えば、どのような経過音もすべて構成音集合に加えていくのが適切とも思えないので、ある程度単純な想定追加音の範囲を決めておいて、それを逸脱する音が来たら無視するというようなルールがあってもいいだろうね。
これらもそれこそ幾通りものモジュールを試作して、切り替えて実験できるようにすることで、より実用的なルールをさぐっていけるだろうね。とりあえず、そのような方針でZkun Studio版のリアルタイムオートベースを改変作成してみようじゃなイカw
オートベース用の内部の配列変数とかの扱いも、今回は大ナタを入れてすべて新しいものにしたほうがいいと思われるので、ここからはちょっと時間をかけて作り込んでいくことになると思うyo いよいよ最初のヤマに突入といった感じだne(含み笑)
PR