Hi folks!
I am doing some experiments with a Python app to play CsScore. I wonder if it is ever possible to have a relative tempo control, which would consider the t-line of the CsScore and just let it run say 1.57 times faster or slower? and if the answer is negative, then if it is possible to just have a soft of tempo controller which would change the tempo in real-time for the score currently played? In other words, how could I update the tempo from the API (without re-compiling with new -t value)?
Hi, Victor!
I am afraid no. The need for the previous tempo value is a bit confusing. Especially having istartempo as an i-value. I actually tried it, but it was a bit away from smooth accelerando..
Prof. Victor Lazzarini
Maynooth University
Ireland
Warning
This email originated from outside of Maynooth University’s Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
Hi folks!
I am doing some experiments with a Python app to play CsScore. I wonder if it is ever possible to have a relative tempo control, which would consider the t-line of the CsScore and just let it run say 1.57 times faster or slower? and if the answer is negative, then if it is possible to just have a soft of tempo controller which would change the tempo in real-time for the score currently played? In other words, how could I update the tempo from the API (without re-compiling with new -t value)?
Thanks Victor!
It works nice in Csound, though for some reason it does not function when I run Csound through the API. The active opcode shows that instr 2 was activated just one time.
But at least this could be a nice example of using tempo for the manual.
Hi, Victor!
I am afraid no. The need for the previous tempo value is a bit confusing. Especially having istartempo as an i-value. I actually tried it, but it was a bit away from smooth accelerando..
Prof. Victor Lazzarini
Maynooth University
Ireland
Warning
This email originated from outside of Maynooth University’s Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
Hi folks!
I am doing some experiments with a Python app to play CsScore. I wonder if it is ever possible to have a relative tempo control, which would consider the t-line of the CsScore and just let it run say 1.57 times faster or slower? and if the answer is negative, then if it is possible to just have a soft of tempo controller which would change the tempo in real-time for the score currently played? In other words, how could I update the tempo from the API (without re-compiling with new -t value)?
Just make sure you don’t use sections in the score, I think scheduled RT events are cleared at section boundaries, so the recursion won’t work.
If you are using the API, then the best approach is to leave the recursion and run instr 2 (whatever) to change the tempo whenever you need it. That’ll work if your code is written correctly.
Prof. Victor Lazzarini
Maynooth University
Ireland
I wonder was just testing the tempo opcode in these days!
I add on this experience some perhaps obvious remarks:
as the duration p3 act at initialisation time, altering in between the tempo can result in overlapping duration or empty instead e.g. a legato flow of events. It’s better in this case two separate scheduling: an hold command and a turnoff.
Also the time parameters of envelopes and so on are not altered following general modified tempo.
Perhaps can be useful for manual or for user of unstable tempos.
I tested that by scratching on the good example of Lazzarini.
Greetings
Giovanni
Notice also that tempo only affects events given in the score. The p3 value in this case is in beats, so it
is interpreted according to the current tempo value. However, as you said if you have an envelope segment (e.g. attack)
time set in seconds, it will not change. There’s tempoval to get the current tempo if any scaling is required.
In contrast, realtime scheduled events are always in seconds. So we can have as in the example I showed, an
instrument for setting the tempo that is not called by the score and so it is not affected by these changes.
For my own use, I never bother with the numeric orchestra, it’s too inflexible and lacks real means of programming,
besides its fairly archaic mechanism.
I do everything in Csound code so if there is any need to set a tempo, change it, speed up or slow down, it’s all done
in a programmatic way.