[Csnd] external tempo change
Date | 2025-01-04 22:46 |
From | Gleb Rogozinsky |
Subject | [Csnd] external tempo change |
Hi folks!
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
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 for any ideas! Gleb |
Date | 2025-01-04 22:50 |
From | Victor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE> |
Subject | Re: [Csnd] external tempo change |
Does this help?
Prof. Victor Lazzarini
Maynooth University
Ireland
On 4 Jan 2025, at 22:46, Gleb Rogozinsky <gleb.rogozinsky@gmail.com> wrote:
|
Date | 2025-01-04 22:58 |
From | Gleb Rogozinsky |
Subject | Re: [Csnd] external tempo change |
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.. вс, 5 янв. 2025 г. в 01:51, Victor Lazzarini <000010b17ddd988e-dmarc-request@listserv.heanet.ie>:
|
Date | 2025-01-04 23:50 |
From | vlz |
Subject | Re: [Csnd] external tempo change |
It seems smooth enough to me in this test |
Date | 2025-01-05 10:04 |
From | Gleb Rogozinsky |
Subject | Re: [Csnd] external tempo change |
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. вс, 5 янв. 2025 г. в 02:51, vlz <viclazzarini@gmail.com>: It seems smooth enough to me in this test |
Date | 2025-01-05 10:53 |
From | vlz |
Subject | Re: [Csnd] external tempo change |
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 On 5 Jan 2025, at 10:05, Gleb Rogozinsky <gleb.rogozinsky@gmail.com> wrote:
|
Date | 2025-01-05 12:18 |
From | "Dr. Richard Boulanger" |
Subject | Re: [Csnd] external tempo change |
I hope that Menno will add it to the manual! - Dr.B Dr. Richard Boulanger Professor Electronic Production and Design Berklee College of Music Professional Writing & Technology Division On Sun, Jan 5, 2025 at 5:05 AM Gleb Rogozinsky <gleb.rogozinsky@gmail.com> wrote:
|
Date | 2025-01-06 15:02 |
From | giovanni damiani <00000f31ffed4c22-dmarc-request@LISTSERV.HEANET.IE> |
Subject | Re: [Csnd] external tempo change |
I wonder was just testing the tempo opcode in these days! I add on this experience some perhaps obvious remarks: 1) 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. 2) 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
|
Date | 2025-01-06 15:19 |
From | Victor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE> |
Subject | Re: [Csnd] [EXTERNAL] [Csnd] external tempo change |
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. ======================== Prof. Victor Lazzarini Maynooth University Ireland > On 6 Jan 2025, at 15:02, giovanni damiani <00000f31ffed4c22-dmarc-request@LISTSERV.HEANET.IE> wrote: > > *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. > I wonder was just testing the tempo opcode in these days! > I add on this experience some perhaps obvious remarks: > 1) 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. > 2) 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 > >> Il giorno 5 gen 2025, alle ore 13:18, Dr. Richard Boulanger |