木曜日, 10月 19, 2006

「サクラ」でアルゴリズム作曲 - 5.1 -

昨日やった「3本の金管楽器ののための Fantasia」だが、全部の金管楽器の音を12音階でランダムに作ると、ちょっとごちゃごちゃした感じになってしまう。

そこで、Tromboneの音を土台に、FrenchHornの音を3度上の音、Trumpetの音を5度上の音になるように関数Compose()を変更してみた。これで、かなりファンファーレっぽい音楽が生成される。

//_ 3本の金管楽器ののための Fantasia

Array Scale=({"ソ},{"ラ},{"シ},{ド},{レ},{ミ},{ファ},{ソ})
Str ML1={} Str ML2={} Str ML3={} Int NN Int NL Str NM

Function Compose(Int NoN, Array LoN){
 [(NoN)
  NM=Scale(Random(0,8))
  NN=NoteNo(NM)
  NL=RandomSelect(LoN)
  ML1=ML1+{n(}+(NN+7)+{)}+NL
  ML2=ML2+{n(}+(NN+4)+{)}+NL
  ML3=ML3+{n(}+(NN+0)+{)}+NL
 ]
}
Compose(48,(1,2,4,4))

#Part1=ML1
#Part2=ML2
#Part3=ML3

Tempo(112)

TR(1) P(64-30) V(100) v.Random(60) REV(100) q080 音色(Trumpet)
TR(2) P(64-00) V(100) v.Random(60) REV(100) q080 音色(FrenchHorn)
TR(3) P(64+30) V(100) v.Random(60) REV(100) q080 音色(Trombone)

TR(1) #Part1 TR(2) #Part2 TR(3) #Part3

//--------- ここまで ----------