リフを作ってみる。
Playerオブジェクトというのを指定して、シンセを鳴らしてみたので、今回は試しに有名な曲のイントロを作ってみます。
16分音符から始めたので、その有名なリフと考えると、EuropeのThe Final Countdownが思いつきましたので、できるものかやってみました。KeyはG#です。ベースだと4弦の2フレットから始まります。
Clock.bpm = 60
Root.default = "G#"
b1 >> bass([0,0,0,0,0,0,0,0,0,0,4.5,4.5,4.5,4.5,4.5,4.5,4.5,4.5,4.5
,4.5,3,3,3,3,3,3,3,3,3,3,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5,-1.5
,-1.5], dur = [1/4,1/8,1/8,1/4,1/4])
すげえ、笑っちゃいますよね。まさに楽譜の通りに数字を並べたものです。有名な曲のイントロリフなので、わかる人はわかると思います。
音を探すとか、試行錯誤の過程ならばこの表記もありだとは思いますが、プログラミングという観点からだと、まったくダメでしょうね。
そこで音をまとめられるないものかと考えて修正をしたのが次のものです。
Clock.bpm = 60
Root.default = "G#"
p1 >> bass(var([0, 4.5, 3, -1.5], 2), dur = [1/4,1/8,1/8,1/4,1/4])
varというキーワードを使って、音符の羅列を修正したものです。見違えるほどすっきりしました。ここで備忘録ついでにコメントを残しておきます。
デフォではメジャースケールですがここではキーをG#に変えただけで、スケールはメジャーのままです。少数で半音下げて、ブルーノートというか、ロック調のスケールに無理やり修正しています。半音下げを0.5で表せるんだから、まじで自由度高いですよね。でも調も直しとかないと、Live Codingとしてはミスが出るでしょうね。ここは修正が必要だと思います。
この記事が気に入ったらサポートをしてみませんか?