Ptpar
は時間のオフセットを指定してパターンを重ねるときに使えるパターンです。 Psetp
や Paddp
を使うことで重ねるパターンの一部を変更することができます。
例として音程を平行移動します。
( // Paddpを利用。 b = Pbind(\note, Pseq(Array.interpolation(8, 0, 7)), \dur, 0.1); Ptpar([ 0.0, Paddp(\note, 0, b), 2.0, Paddp(\note, 5, b), 4.0, Paddp(\note, 9, b) ]).play; ) ( // Psetpを利用。 b = Pbind(\note, Pseq(Array.interpolation(8, 0, 7)), \dur, 0.1); Ptpar([ 0.0, Psetp(\ctranspose, 0, b), 2.0, Psetp(\ctranspose, 5, b), 4.0, Psetp(\ctranspose, 9, b) ]).play; ) ( // Pbindで\degreeを使用。 b = Pbind( \scale, Scale.chromatic, \degree, Pseq(Array.interpolation(8, 0, 7)), \dur, 0.1); Ptpar([ 0.0, Psetp(\ctranspose, 0, b), 2.0, Psetp(\ctranspose, 5, b), 4.0, Psetp(\ctranspose, 9, b) ]).play; )
Pmulp
で値をかけあわせることができます。
( b = Pbind( \scale, Scale.chromatic, \degree, Pseq(Array.interpolation(8, 0, 7)), \dur, 0.1); Ptpar([ 0.0, Pmulp(\dur, 2, b), 2.0, Pmulp(\dur, 3, b), 4.0, Pmulp(\dur, 5, b) ]).play; )
組み合わせます。
( b = Pbind( \scale, Scale.chromatic, \degree, Pseq(Array.interpolation(8, 0, 7)), \dur, 0.1); Ptpar([ 0.0, Paddp(\degree, 0, Pmulp(\dur, 2, b)), 2.0, Paddp(\degree, 5, Pmulp(\dur, 3, b)), 4.0, Paddp(\degree, 9, Pmulp(\dur, 5, b)) ]).play; )