rakushoo blog

ジャズとプログラミングがやりたい人

自分が好きなフレーズを作成できるようにする。

前回、コードに沿ってスケールを表示させる機能まで実装しました。ここまではIonian/Dorian...などの Available Note Scale の通りで、臨時記号なしのスケールだけ。まだ練習が楽しくまではならないかな。

ライブなどでよく聞く、盛り上がったところでの"たたみかけるフレーズ"が好きなので、その表示機能を追加しようと思います。

実装方法

中でどんな実装をしているか少しだけ説明します。

C Ionian を定義する場合、 [C, D, E, F, G, A, B] といった英字のままだとプログラム上は扱いづらいので、音をC=0とした数値のリストに置き換えます。

f:id:rakushoo:20200609172027p:plain

こうしておけば、C Ionian であればこのリストのまま、F Ionianであればリスト+5を表示すれば良い、というように簡単に移調ができます。 スケールごとに、こうしたリストを持つことにしました。

f:id:rakushoo:20200609172105p:plain

そして、畳み掛けるフレーズとは何か? CDG DEA EFB FGC... と続くような、3音ずつ開始音を変えながら続けるフレーズのことです。

これもリストのインデックスを [0,1,4] のパターンで 1 ステップずつ移動させれば計算できそう。 というわけで、

f:id:rakushoo:20200609170633p:plain

お気に入りのフレーズが曲中のコードに合わせて展開できるようになりました。

ここで、友達に見てもらったところ、音名だけだと練習できないから譜面にしてほしい、との要望が。そりゃそうだ。

というわけで、次回は五線譜へ書き出す方法を検討することにします。