[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] timing



FWIIW this was also one of my initial reasons for switching to SC. Along the way, I've found many many more...

The OffsetOut help file has a client - server example that might get you started. In SC, you really can place sounds in their precise locations on time from your client logic code, without relying on signals.

Batuhan

On Jun 16, 2009, at 3:58 PM, Oliver Larkin wrote:

Wow, thanks Dan. Very informative. SC sounds much better than Max timing wise... i guess i need to get stuck in do some tests

oli


On 16 Jun 2009, at 14:41, Dan Stowell wrote:

Hi Oli,

Etienne is not quite right to say that control-rate processing in sc
is architecturally separate from audio-rate processing. Control-rate
in supercollider is handled in the same part of the system as
audio-rate, but downsampled (usually by a factor of 64, but that's
configurable). This means that control-rate timing is solidly locked
to audio-rate timing. This all happens in the server ("scsynth").

There's also "demand-rate" (see the Demand helpfile) in which values
are not produced in a continuous stream but when requested. The
triggering of demand-rate units also occurs on the server. So (for
example) if you have a patch with control-rate data causing
demand-rate things to happen, and generate/process audio-rate streams,
the timing of all of these is locked to the audio rate so are totally
solid.

That's all server-side, but then there are things triggering audio
events from the language (client) side: Patterns, GUIs, input devices.
They send OSC messages to the server to trigger stuff. For patterns
defined in the language, the OSC messages are sent with timestamps
slightly in the future (via a configurable latency), so that the
timing of these events is solid even if there's some network jitter in
the OSC transmission. (And if working purely on your local machine,
you can push the latency right down without encountering jitter
issues.)

As Etienne and James say, the server receives and acts upon OSC
messages at control-rate resolution, although sound events can be
positioned at audio-rate resolution. The server can send OSC messages
to the language too, which will also have some latency.

No example code for you (sorry) but I hope this helps put you in the
picture a bit...

Dan


2009/6/16 Oliver Larkin <olilarkin@xxxxxxxxxxxxxx>:
hello,

i'm starting to look at SC, having previously worked a lot in Max. I
am interested to know about how accurate the timing is in SC, since in
Max I have been doing as much as possible at sample rate when timing
is an issue. Max4's control rate scheduler was quite inaccurate ( and
I haven't worked out if it's much better in 5 yet). I have looked in
the help files but I haven't been able work out the different timing
mechanisms available and how good they are. Can anyone point me to an
example?

many thanks,

oli larkin

www.olilarkin.co.uk

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/




--
http://www.mcld.co.uk

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/


_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/


_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/