まぁルールを順番に当てはめていくだけなのでアルゴリズムとは言えないかも。
とりあえず、順次進行しやすくなって、跳躍する時には和声音に行きやすくなって…という感じ。
本当は遡って順次進行が多めだったら次は跳躍して方がいいとか、フレーズの長さによって休符が入るとか、やらないといけない。でもこの方式ならルールだけ書いて作り足せばいいので気楽。
ベースは、同じ方式だけどベース専用のルールを採用していて、今は基本的にルートにいきやすくなっている。
音が色々だと評価しにくいので、今日からはとりあえずピアノの音にしてみる。
リズム隊もなし。
ルールで全部の音を評価していって、最後にフィルタで範囲外のスコアを0にしていって、そこからルーレット選択している。
リズムが今ルールベースですらないので結構ひどい。次は同じ感じでリズムもルール+フィルタで作りたい。
あと、ベースとメロディがお互いの音を無視して勝手に動いているので、その辺り空気読む感じの実装にする必要がある。まぁそれはこれから。