「サクラ」でアルゴリズム作曲 - 01.1 -
「サクラ」でアルゴリズム作曲の最初の作品「2台のピアノのための dialogue」は、これから始めるシリーズの基本となる関数を定義してある。今日は今後のことも考えて、この関数をちょっとバージョンアップしてみる。「サクラ」の関数は、配列(Array)をパラメータとして渡すことができる。そこで、関数 Compose() にパラメータを追加して、生成する音符の種類をパラメータで指定できるようにしてみた。
関数 Compose(RoN,NoN,LoN)
RoN・・・・中央「ド」を中心にどのぐらいの範囲で音を生成するかを指定
NoN・・・・音をいくつ作るかを指定
LoN・・・・音符の種類(セット)を指定
ここまでいけば、関数 Compose() も色々と応用が可能だ。作品をちょっと変更して、前半と後半に分け、後半部分は、8部音符と16部音符が多く出現するようにして変化を付けてみた。
//_ 2台のピアノのための dialogue
Function Compose(RoN,NoN,Array LoN){
STR ML={}
[(NoN)
ML=ML+{n(}+(NoteNo(ド)+Random(RoN)-RoN/2)+{)}+RandomSelect(LoN)
]
Result=ML
}
TR(1) P(000+20) REV(100) q100 音色(GrandPiano)
TR(2) P(127-20) REV(100) q100 音色(GrandPiano)
#Part1=Compose(50,40,(1,2,4,8))
#Part2=Compose(50,40,(1,2,4,8))
TR(1) #Part1 TR(2) #Part2
Int Pos=Time TR(1) Time(Pos) r1r1 TR(2) Time(Pos) r1r1
#Part1=Compose(60,160,(2,4,8,8,16,16))
#Part2=Compose(60,160,(2,4,8,8,16,16))
TR(1) #Part1 TR(2) #Part2
//_______ ここまで _______________
0 Comments:
コメントを投稿
<< Home