Csound Csound-dev Csound-tekno Search About

[Csnd] cs.readscore alternatives?

Date2014-06-02 21:27
FromDavid Worrall
Subject[Csnd] cs.readscore alternatives?
hi all,

I preprocess very large chunks of data to score events and the pass the string through to a cs.PerfThread()
(cs = csnd6.Csound()

The RT performance eventually stutters/splutters into action and, after the initial startup phase, functions flawlessly (no dropouts etc)

It sounds to me like by the time cs gets the events to process them, there are multiple events already 'behind schedule'.
This is confirmed by the effect disappearing on adding 15 secs to the start time of all events.
I'm interested in how to minimize this time. I've tried playing with various buffer sizes to no effect.
('bleeding in' n events in with a time.sleep() between, to no effect, which is consistent with the above)

I tried using cs.Event() (also checked for cs.event) but I get a swig "not found" error (OSX, cs 6.3.02)

Where does csPerf.Play() get its timing from? I tried executing it at the last moment (and using csPerf.Pause()) both to no effect.
Does csPerf.Play() start counting from when it is first executed or when it receives its first score event?

So many questions, sorry, and if I have to live with a 15 sec delay on execution I can in this instance, but it would be good to hear people's strategies for circumstances like these.

thanks,

David

______________________________________
Prof. Dr. David Worrall
Emerging Audio Research (EAR)
Audio Department
International Audio Laboratories Erlangen
Fraunhofer-Institut für Integrierte Schaltungen IIS
Am Wolfsmantel 33
91058 Erlangen
E-Mail: david.worrall@iis.fraunhofer.de
Internet: www.iis.fraunhofer.de 
---
Adjunct Senior Research Fellow
School of Music, Australian National University





Date2014-06-02 22:00
FromVictor Lazzarini
SubjectRe: [Csnd] cs.readscore alternatives?
ScoreEvent() or InputMessage() are the alternatives. They do not do any score preprocessing, which ReadScore() does.
========================
Dr Victor Lazzarini
Senior Lecturer
NUI Maynooth, Ireland
victor dot lazzarini at nuim dot ie




On 2 Jun 2014, at 21:27, David Worrall  wrote:

> hi all,
> 
> I preprocess very large chunks of data to score events and the pass the string through to a cs.PerfThread()
> (cs = csnd6.Csound()
> 
> The RT performance eventually stutters/splutters into action and, after the initial startup phase, functions flawlessly (no dropouts etc)
> 
> It sounds to me like by the time cs gets the events to process them, there are multiple events already 'behind schedule'.
> This is confirmed by the effect disappearing on adding 15 secs to the start time of all events.
> I'm interested in how to minimize this time. I've tried playing with various buffer sizes to no effect.
> ('bleeding in' n events in with a time.sleep() between, to no effect, which is consistent with the above)
> 
> I tried using cs.Event() (also checked for cs.event) but I get a swig "not found" error (OSX, cs 6.3.02)
> 
> Where does csPerf.Play() get its timing from? I tried executing it at the last moment (and using csPerf.Pause()) both to no effect.
> Does csPerf.Play() start counting from when it is first executed or when it receives its first score event?
> 
> So many questions, sorry, and if I have to live with a 15 sec delay on execution I can in this instance, but it would be good to hear people's strategies for circumstances like these.
> 
> thanks,
> 
> David
> 
> ______________________________________
> Prof. Dr. David Worrall
> Emerging Audio Research (EAR)
> Audio Department
> International Audio Laboratories Erlangen
> Fraunhofer-Institut für Integrierte Schaltungen IIS
> Am Wolfsmantel 33
> 91058 Erlangen
> E-Mail: david.worrall@iis.fraunhofer.de
> Internet: www.iis.fraunhofer.de 
> ---
> Adjunct Senior Research Fellow
> School of Music, Australian National University
> david.worrall@anu.edu.au
> 
> 
> 
> 



Date2014-06-02 23:09
FromDavid Worrall
SubjectRe: [Csnd] cs.readscore alternatives?
Thanks Victor. These might solve the problem if it was one of time spent in sort routines. But I am not sure that is the issue, which is the time i need between turning the Perf. thread on and sending the first record.

Where is the best up-to-date on-line reference to these (python/API) functions these days? Google didn't help much.
[The Csound journal http://www.csounds.com/journal/issue14/realtimeCsoundPython.html? is useful but contains rough html and not complete]

D

On 02.06.2014, at 23:00, Victor Lazzarini  wrote:

> ScoreEvent() or InputMessage() are the alternatives. They do not do any score preprocessing, which ReadScore() does.
> ========================
> Dr Victor Lazzarini
> Senior Lecturer
> NUI Maynooth, Ireland
> victor dot lazzarini at nuim dot ie
> 
> 
> 
> 
> On 2 Jun 2014, at 21:27, David Worrall  wrote:
> 
>> hi all,
>> 
>> I preprocess very large chunks of data to score events and the pass the string through to a cs.PerfThread()
>> (cs = csnd6.Csound()
>> 
>> The RT performance eventually stutters/splutters into action and, after the initial startup phase, functions flawlessly (no dropouts etc)
>> 
>> It sounds to me like by the time cs gets the events to process them, there are multiple events already 'behind schedule'.
>> This is confirmed by the effect disappearing on adding 15 secs to the start time of all events.
>> I'm interested in how to minimize this time. I've tried playing with various buffer sizes to no effect.
>> ('bleeding in' n events in with a time.sleep() between, to no effect, which is consistent with the above)
>> 
>> I tried using cs.Event() (also checked for cs.event) but I get a swig "not found" error (OSX, cs 6.3.02)
>> 
>> Where does csPerf.Play() get its timing from? I tried executing it at the last moment (and using csPerf.Pause()) both to no effect.
>> Does csPerf.Play() start counting from when it is first executed or when it receives its first score event?
>> 
>> So many questions, sorry, and if I have to live with a 15 sec delay on execution I can in this instance, but it would be good to hear people's strategies for circumstances like these.
>> 
>> thanks,
>> 
>> David
>> 
>> ______________________________________
>> Prof. Dr. David Worrall
>> Emerging Audio Research (EAR)
>> Audio Department
>> International Audio Laboratories Erlangen
>> Fraunhofer-Institut für Integrierte Schaltungen IIS
>> Am Wolfsmantel 33
>> 91058 Erlangen
>> E-Mail: david.worrall@iis.fraunhofer.de
>> Internet: www.iis.fraunhofer.de 
>> ---
>> Adjunct Senior Research Fellow
>> School of Music, Australian National University
>> david.worrall@anu.edu.au



Date2014-06-02 23:25
FromVictor Lazzarini
SubjectRe: [Csnd] cs.readscore alternatives?
You can send the score lines even before you turn on the perf thread. They will be executed as soon as it starts (provided p2 is 0 of course).
========================
Dr Victor Lazzarini
Senior Lecturer
NUI Maynooth, Ireland
victor dot lazzarini at nuim dot ie




On 2 Jun 2014, at 23:09, David Worrall  wrote:

> Thanks Victor. These might solve the problem if it was one of time spent in sort routines. But I am not sure that is the issue, which is the time i need between turning the Perf. thread on and sending the first record.
> 
> Where is the best up-to-date on-line reference to these (python/API) functions these days? Google didn't help much.
> [The Csound journal http://www.csounds.com/journal/issue14/realtimeCsoundPython.html? is useful but contains rough html and not complete]
> 
> D
> 
> On 02.06.2014, at 23:00, Victor Lazzarini  wrote:
> 
>> ScoreEvent() or InputMessage() are the alternatives. They do not do any score preprocessing, which ReadScore() does.
>> ========================
>> Dr Victor Lazzarini
>> Senior Lecturer
>> NUI Maynooth, Ireland
>> victor dot lazzarini at nuim dot ie
>> 
>> 
>> 
>> 
>> On 2 Jun 2014, at 21:27, David Worrall  wrote:
>> 
>>> hi all,
>>> 
>>> I preprocess very large chunks of data to score events and the pass the string through to a cs.PerfThread()
>>> (cs = csnd6.Csound()
>>> 
>>> The RT performance eventually stutters/splutters into action and, after the initial startup phase, functions flawlessly (no dropouts etc)
>>> 
>>> It sounds to me like by the time cs gets the events to process them, there are multiple events already 'behind schedule'.
>>> This is confirmed by the effect disappearing on adding 15 secs to the start time of all events.
>>> I'm interested in how to minimize this time. I've tried playing with various buffer sizes to no effect.
>>> ('bleeding in' n events in with a time.sleep() between, to no effect, which is consistent with the above)
>>> 
>>> I tried using cs.Event() (also checked for cs.event) but I get a swig "not found" error (OSX, cs 6.3.02)
>>> 
>>> Where does csPerf.Play() get its timing from? I tried executing it at the last moment (and using csPerf.Pause()) both to no effect.
>>> Does csPerf.Play() start counting from when it is first executed or when it receives its first score event?
>>> 
>>> So many questions, sorry, and if I have to live with a 15 sec delay on execution I can in this instance, but it would be good to hear people's strategies for circumstances like these.
>>> 
>>> thanks,
>>> 
>>> David
>>> 
>>> ______________________________________
>>> Prof. Dr. David Worrall
>>> Emerging Audio Research (EAR)
>>> Audio Department
>>> International Audio Laboratories Erlangen
>>> Fraunhofer-Institut für Integrierte Schaltungen IIS
>>> Am Wolfsmantel 33
>>> 91058 Erlangen
>>> E-Mail: david.worrall@iis.fraunhofer.de
>>> Internet: www.iis.fraunhofer.de 
>>> ---
>>> Adjunct Senior Research Fellow
>>> School of Music, Australian National University
>>> david.worrall@anu.edu.au
> 
> 
> 
> Send bugs reports to
>        https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
> 
> 
>