Thank you for your code block!
Panola is musician-friendly and intuitive. Gradual tempo change and dynamic change such as ritardando, crescendo etc. of Panola are perfect!
In contrast to it, my method is too complicated.
When playing, a keyboard player reads all vertical notes in the first moment in the first bar and reads the next vertical moment, and reads a score in this way until the end of a piece.
However, you wrote the score with three parts which are used variables soprano, alto and bariton.
Your code block is perfect when transcribing. However, if I imagine composing directly in SC, it seems to be not easy for me.
What do you think about writing all voices together? I tried this by using <>, but it has some problems which are described after the code block:
(
s.waitForBoot({
var bwv816_4 = Panola(
[
"(
<b5_4\\tempo[150]\\pdur[0.7] d5 g3>
<g5 b4 g4>
<d5_4 a4 f#>
<e5_8 f#3> f#5
<g5_4 b4 e3>
<e5 g4 e4>
<b4 f# d> d3
<e5 g4 c3>
<c5 a4 c4>
<a f# d>
<b_8 a3> c5
<d5 a4 f#3> b4
<c5 d3> a4
<c5 g4 g3> b4
<a d3> g4
<b5_ d5 g2> d3
<g5 b4 e3> f#
<e5 c# g3> a
<e5 c# g3> <f#5 d f#3>
<g5 e e3> d
<e5 c# e3> f#
<c#5 a4 g3> a
<d5 b3> <e5 c#4>
<f#5 d4> d5
<g5 c#4> e5
<f#5 d4> d5
<a5 d f#3> g
<g5 a3> f#5
<e5 c# a2> f#5
<d5_2 d3>
) * 2"
].join(" "));
Ppar([bwv816_4.asPbind]).play;
});
)
As you see, there are problems of note values: I could not find how to let each pitch in a chord sounds with different values. The following code block is the same as above, but I commented if a pitch or two pitches in a chord must have different value. The a4 in bar 6-7 would be very interesting in this regards.
(
s.waitForBoot({
var bwv816_4 = Panola([
"(",
"<b5_4\\tempo[150]\\pdur[0.7] d5 g3>
<g5 b4 g4>
<d5_4 a4 f#>", // Is it possible to play only a4 as a half note?
"<e5_8 f#3> f#5", // Is it possible to play only f#3 as a quarter note?
"<g5_4 b4 e3>
<e5 g4 e4>
<b4 f# d> d3", // Is it possible to play b4 and f# as a half note?
"<e5 g4 c3>
<c5 a4 c4>
<a f# d>
<b_8 a3> c5", // Is it possible to play a3 as a quarter note?
"<d5 a4 f#3> b4", // Is it possible to play a4 and f#3 as a quarter note?
"<c5 d3> a4", // Is it possible to play d3 as a quarter note?
"<c5 g4 g3> b4", // Is it possible to play g4 and g3 as a quarter note?
"<a d3> g4", // Is it possible to play d3 as a quarter note?
"<b5_ d5 g2> d3", // Is it possible to play b5 and d5 as a quarter note?
"<g5 b4 e3> f#", // Is it possible to play g5 and b4 as a quarter note?
"<e5 c# g3> a", // Is it possible to play e5 and c# as a quarter note?
"<e5 c# g3> <f#5 d f#3>
<g5 e e3> d", // Is it possible to play g5 and e as a quarter note?
"<e5 c# e3> f#", //Is it possible to play e5 and c# as a quarter note?
"<c#5 a4 g3> a", //Is it possible to play a4 for five beats and c#5 as a quarter note?
"<d5 b3> <e5 c#4>
<f#5 d4> d5", //Is it possible to play d4 as a quarter note?
"<g5 c#4> e5", //Is it possible to play c#4 as a quarter note?
"<f#5 d4> d5", //Is it possible to play d4 as a quarter note?
"<a5 d f#3> g", //Is it possible to play a5 as a quarter note and d as a half note?
"<g5 a3> f#5", //Is it possible to play a3 as a quarter note?
"<e5 c# a2> f#5", //Is it possible to play c# and a2 as a quarter note?
"<d5_2 d3>",
") * 2"
].join(" "));
Ppar([bwv816_4.asPbind]).play;
});
)
For me, writing all voice together is easier to think and work. This would also be easy for readers or conductors. In other terms, this is a score which can be easily read by a single performer.
However, Your code block in the previous post must be used if a chord cannot have different note value.
Could you suggest a solution?