hey folks - i've been working with PD using a Windows 10 laptop and i seem to be having a difficult time keeping the setup stable and getting low latency audio out.
i have used this Windows 10 laptop for a variety of tasks with VR rigs, gaming, browsing,etc and it does a credible job, but running PD 0.49 i have experienced a wide variety of inconsistent behavior.
mainly it's things like USB ports timing out for audio and/or MIDI input, as well as too much latency for instrument playback (20 ms or so, not horrific, but not responsive enough for fast playing. ). i've used 3 interfaces - the onboard audio, a C-Media USB compliant dongle interface, and an Apogee Duet. in all three cases the audio output and MIDI input can randomly time out and stop working - it's usually both at the same time. turning audio off and on can fix the issue usually, but not always.
as far as the latency, it seems consistent at about 20 ms using 32 msec buffer settings. any smaller and it results in buffer distortion on the audio stream.
so i'm just curious if anyone here uses PD on Windows in a live performance capacity (especially as an instrument responding to note or pad input) and if so what setup has produced the most reliability? i have actually tried this on a Mac - or to be more accurate, a half completed macOS hackbook on the same machine, and while latency is shorter, the timeout issue is much more severe and cannot usually be fixed by turning audio off and on. for now i'm ignoring using macOS and seeing if i can get the Windows version to be stable, but it would be nice if there were others using it in Windows and getting stable performance. maybe there's extra tweaks available in Windows that help the stability? let me know what works for you!
best, scott
Hi Scott,
Are you using ASIO drivers?
If not you can try this setting which normally works on most soundcards:
Switch off DSP.
go to menu: media/ASIO(via port audio)
set Delay(msec): 6ms
set Block size : 256
On the i/o devices pull-down menu select your "ASIO:<soundcard name>"
If you soundcard don't provide an ASIO driver (as is the case with most built-in sound cards) use the http://www.asio4all.org/ ASIO driver.
If your soundcard has ASIO driver find its settings and change the "Buffer size" to 256 samples.
If you are running a very DSP consuming patch try increasing 3) and also 4).
:)
Mensaje telepatico asistido por maquinas.
On 9/27/2019 4:25 AM, Scott R. Looney wrote: hey folks - i've been working with PD using a Windows 10 laptop and i seem to be having a difficult time keeping the setup stable and getting low latency audio out.
i have used this Windows 10 laptop for a variety of tasks with VR rigs, gaming, browsing,etc and it does a credible job, but running PD 0.49 i have experienced a wide variety of inconsistent behavior.
mainly it's things like USB ports timing out for audio and/or MIDI input, as well as too much latency for instrument playback (20 ms or so, not horrific, but not responsive enough for fast playing. ). i've used 3 interfaces - the onboard audio, a C-Media USB compliant dongle interface, and an Apogee Duet. in all three cases the audio output and MIDI input can randomly time out and stop working - it's usually both at the same time. turning audio off and on can fix the issue usually, but not always.
as far as the latency, it seems consistent at about 20 ms using 32 msec buffer settings. any smaller and it results in buffer distortion on the audio stream.
so i'm just curious if anyone here uses PD on Windows in a live performance capacity (especially as an instrument responding to note or pad input) and if so what setup has produced the most reliability? i have actually tried this on a Mac - or to be more accurate, a half completed macOS hackbook on the same machine, and while latency is shorter, the timeout issue is much more severe and cannot usually be fixed by turning audio off and on. for now i'm ignoring using macOS and seeing if i can get the Windows version to be stable, but it would be nice if there were others using it in Windows and getting stable performance. maybe there's extra tweaks available in Windows that help the stability? let me know what works for you!
best, scott
Pd-list@lists.iem.atmailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
On Fri, Sep 27, 2019 at 7:43 AM Lucas Cordiviola lucarda27@hotmail.com wrote:
Hi Scott,
Are you using ASIO drivers?
If not you can try this setting which normally works on most soundcards:
Switch off DSP.
go to menu: media/ASIO(via port audio)
set Delay(msec): 6ms
set Block size : 256
On the i/o devices pull-down menu select your "ASIO:<soundcard name>"
For me the audio is distorted unless I also tick "Use Callbacks". On Pd 0.50 this works very well until I try to quit Pd or close a window. I am able to stop the audio but all the windows stay open. I need to use Task Manager to kill the process.
Martin
On Fri, Sep 27, 2019 at 12:24 PM Christof Ressi christof.ressi@gmx.at wrote:
For me the audio is distorted unless I also tick "Use Callbacks".
Really, even if you use an ASIO driver? I never had the experience that "Use Callbacks" improves things, on the contrary. Also, it's worth noting that with "Use Callbacks", the "delay" parameter doesn't do any thing, the latency can only be set with the ASIO block size.
I don't know which ASIO driver I'm using, maybe it came with the interface (I selected "ASIO:Focusrite USB 2.0 Audio Driver" in the dialog). I tried various delays with no callbacks and now I get no distortion with a delay of 11 or more and block size 64. With Delay less than 11 the audio is chopped up. Without callbacks, I get clicks and dropouts occasionally if I do things with the mouse. That's why I assumed it was the better choice. (Doesn't audio processing always use callbacks anyway? Otherwise the program must sit in a loop serving samples. What callbacks are these?)
Martin
thanks for the input! i had forgotten about asio4all actually. i was using a version of PD compiled by CEAMMC which looked like it had support for ASIO but it seemed to be very unstable and caused the app to crash or stall and never gave clear sound. so i switched back to 64 bit vanilla and tried Lucas's settings and i'm getting pretty fast response so far. checking to see whether the timeout happens on audio or MIDI just leaving it up. so far it's a measurable improvement.
best, scott
On Fri, Sep 27, 2019 at 10:40 AM Martin Peach chakekatzil@gmail.com wrote:
On Fri, Sep 27, 2019 at 12:24 PM Christof Ressi christof.ressi@gmx.at wrote:
For me the audio is distorted unless I also tick "Use Callbacks".
Really, even if you use an ASIO driver? I never had the experience that "Use Callbacks" improves things, on the contrary. Also, it's worth noting that with "Use Callbacks", the "delay" parameter doesn't do any thing, the latency can only be set with the ASIO block size.
I don't know which ASIO driver I'm using, maybe it came with the interface (I selected "ASIO:Focusrite USB 2.0 Audio Driver" in the dialog). I tried various delays with no callbacks and now I get no distortion with a delay of 11 or more and block size 64. With Delay less than 11 the audio is chopped up. Without callbacks, I get clicks and dropouts occasionally if I do things with the mouse. That's why I assumed it was the better choice. (Doesn't audio processing always use callbacks anyway? Otherwise the program must sit in a loop serving samples. What callbacks are these?)
Martin
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
You should aways specify the pd version when you need help, especially if it is a non-standard one.
Christof
Gesendet: Freitag, 27. September 2019 um 19:55 Uhr Von: "Scott R. Looney" scottrlooney@gmail.com An: Pd-List pd-list@lists.iem.at Betreff: Re: [PD] stability of PD on Windows?
thanks for the input! i had forgotten about asio4all actually. i was using a version of PD compiled by CEAMMC which looked like it had support for ASIO but it seemed to be very unstable and caused the app to crash or stall and never gave clear sound. so i switched back to 64 bit vanilla and tried Lucas's settings and i'm getting pretty fast response so far. checking to see whether the timeout happens on audio or MIDI just leaving it up. so far it's a measurable improvement.
best, scott
On Fri, Sep 27, 2019 at 10:40 AM Martin Peach chakekatzil@gmail.com wrote:
On Fri, Sep 27, 2019 at 12:24 PM Christof Ressi christof.ressi@gmx.at wrote:
For me the audio is distorted unless I also tick "Use Callbacks".
Really, even if you use an ASIO driver? I never had the experience that "Use Callbacks" improves things, on the contrary. Also, it's worth noting that with "Use Callbacks", the "delay" parameter doesn't do any thing, the latency can only be set with the ASIO block size.
I don't know which ASIO driver I'm using, maybe it came with the interface (I selected "ASIO:Focusrite USB 2.0 Audio Driver" in the dialog). I tried various delays with no callbacks and now I get no distortion with a delay of 11 or more and block size 64. With Delay less than 11 the audio is chopped up. Without callbacks, I get clicks and dropouts occasionally if I do things with the mouse. That's why I assumed it was the better choice. (Doesn't audio processing always use callbacks anyway? Otherwise the program must sit in a loop serving samples. What callbacks are these?)
Martin
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
On 9/27/2019 2:31 PM, Martin Peach wrote:
Without callbacks, I get clicks and dropouts occasionally if I do things with the mouse.
When you move the mouse on an already running patch? (this does not happen to me)
Or
You get drop-outs when you open for example sigmund~-help.pd or anything that is not already loaded (I get this type of drop-outs)
Mensaje telepatico asistido por maquinas.
In pd's regular scheduler, the main thread computes audio and pushes the samples to a lockfree ringbuffer. The actual audio callback runs in a different thread and polls samples from the ringbuffer as needed. This mechanism is important for Pd because the audio thread performs many unbounded operations which are not real-time-safe. This is a consequence of its deterministic architecture.
On the other hand, an application like supercollider has very strict rules about what shall be done on the audio thread, so audio can be computed directly in the audio callback. Non-realtime operations are performed asynchronously in a worker thread. Both threads communicate via a lockfree command FIFO. One could say that Supercollider's architecture is indeterministic. This indeterminacy can be partially overcome by scheduling commands in advance using timestamps. So there's again a trade-off between latency and accuracy.
Christof
Gesendet: Freitag, 27. September 2019 um 19:31 Uhr Von: "Martin Peach" chakekatzil@gmail.com An: Pd-List pd-list@lists.iem.at Betreff: Re: [PD] stability of PD on Windows?
On Fri, Sep 27, 2019 at 12:24 PM Christof Ressi christof.ressi@gmx.at wrote:
For me the audio is distorted unless I also tick "Use Callbacks".
Really, even if you use an ASIO driver? I never had the experience that "Use Callbacks" improves things, on the contrary. Also, it's worth noting that with "Use Callbacks", the "delay" parameter doesn't do any thing, the latency can only be set with the ASIO block size.
I don't know which ASIO driver I'm using, maybe it came with the interface (I selected "ASIO:Focusrite USB 2.0 Audio Driver" in the dialog). I tried various delays with no callbacks and now I get no distortion with a delay of 11 or more and block size 64. With Delay less than 11 the audio is chopped up. Without callbacks, I get clicks and dropouts occasionally if I do things with the mouse. That's why I assumed it was the better choice. (Doesn't audio processing always use callbacks anyway? Otherwise the program must sit in a loop serving samples. What callbacks are these?)
Martin _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
well, i did mention that it was PD 0.49 but i did experiment with a lot of different versions - 64 bit, 32 bit vanilla as well as CEAMMCs distribution in 32 and 64 bit. so, point taken. so far seems be fairly decent. this patch mainly does sample or synth based live playback - it's not heavy on FFT functions as yet.
thanks for the tips!
best, scott
On Fri, Sep 27, 2019 at 11:29 AM Christof Ressi christof.ressi@gmx.at wrote:
In pd's regular scheduler, the main thread computes audio and pushes the samples to a lockfree ringbuffer. The actual audio callback runs in a different thread and polls samples from the ringbuffer as needed. This mechanism is important for Pd because the audio thread performs many unbounded operations which are not real-time-safe. This is a consequence of its deterministic architecture.
On the other hand, an application like supercollider has very strict rules about what shall be done on the audio thread, so audio can be computed directly in the audio callback. Non-realtime operations are performed asynchronously in a worker thread. Both threads communicate via a lockfree command FIFO. One could say that Supercollider's architecture is indeterministic. This indeterminacy can be partially overcome by scheduling commands in advance using timestamps. So there's again a trade-off between latency and accuracy.
Christof
Gesendet: Freitag, 27. September 2019 um 19:31 Uhr Von: "Martin Peach" chakekatzil@gmail.com An: Pd-List pd-list@lists.iem.at Betreff: Re: [PD] stability of PD on Windows?
On Fri, Sep 27, 2019 at 12:24 PM Christof Ressi christof.ressi@gmx.at wrote:
For me the audio is distorted unless I also tick "Use Callbacks".
Really, even if you use an ASIO driver? I never had the experience that "Use Callbacks" improves things, on the contrary. Also, it's worth
noting
that with "Use Callbacks", the "delay" parameter doesn't do any thing,
the
latency can only be set with the ASIO block size.
I don't know which ASIO driver I'm using, maybe it came with the
interface
(I selected "ASIO:Focusrite USB 2.0 Audio Driver" in the dialog). I tried various delays with no callbacks and now I get no distortion with a delay of 11 or more and block size 64. With Delay less than 11 the audio is chopped up. Without callbacks, I get clicks and dropouts occasionally if I do things with the mouse. That's why I assumed it was the better choice. (Doesn't audio processing always use callbacks anyway? Otherwise the program must sit in a loop serving samples. What callbacks are these?)
Martin _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Here use 12ms.
I have just tested it with 2 soundcards. (I remember a couple of years ago 6ms was Ok, but now is 12ms).
--
Mensaje telepatico asistido por maquinas.
On 9/27/2019 12:55 PM, Martin Peach wrote: On Fri, Sep 27, 2019 at 7:43 AM Lucas Cordiviola <lucarda27@hotmail.commailto:lucarda27@hotmail.com> wrote:
Hi Scott,
Are you using ASIO drivers?
If not you can try this setting which normally works on most soundcards:
Switch off DSP.
go to menu: media/ASIO(via port audio)
set Delay(msec): 6ms
set Block size : 256
On the i/o devices pull-down menu select your "ASIO:<soundcard name>"
For me the audio is distorted unless I also tick "Use Callbacks". On Pd 0.50 this works very well until I try to quit Pd or close a window. I am able to stop the audio but all the windows stay open. I need to use Task Manager to kill the process.
Martin
Pd-list@lists.iem.atmailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
There is *no* universal latency value for all situations. Generally, the more “spikey“ your patch is (lots of large ffts, occasional heavy computations), the more latency you need. On the same machine, one patch might need 5 ms and another patch might need 50 ms. The only way to know is test and listen.
Gesendet: Freitag, 27. September 2019 um 19:38 Uhr Von: "Lucas Cordiviola" lucarda27@hotmail.com An: "pd-list@lists.iem.at" pd-list@lists.iem.at Betreff: Re: [PD] stability of PD on Windows?
- set Delay(msec): 6ms
Here use 12ms.
I have just tested it with 2 soundcards. (I remember a couple of years ago 6ms was Ok, but now is 12ms).
--
Mensaje telepatico asistido por maquinas.
On 9/27/2019 12:55 PM, Martin Peach wrote: On Fri, Sep 27, 2019 at 7:43 AM Lucas Cordiviola <lucarda27@hotmail.commailto:lucarda27@hotmail.com> wrote:
Hi Scott,
Are you using ASIO drivers?
If not you can try this setting which normally works on most soundcards:
Switch off DSP.
go to menu: media/ASIO(via port audio)
set Delay(msec): 6ms
set Block size : 256
On the i/o devices pull-down menu select your "ASIO:<soundcard name>"
For me the audio is distorted unless I also tick "Use Callbacks". On Pd 0.50 this works very well until I try to quit Pd or close a window. I am able to stop the audio but all the windows stay open. I need to use Task Manager to kill the process.
Martin
Pd-list@lists.iem.atmailto:Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list