-
Notifications
You must be signed in to change notification settings - Fork 127
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Audio Underflow on loading "examples/sharedsystem/audiosetup.xtm" #402
Comments
Hey @RandomOutput this came up with some students in my class the other day (who are using Extempore) and I wrote up some stuff which might help. The I'll make this stuff clearer on the main docs website ASAP, but I thought I'd drop that link in there for now to get you started. |
Thanks @benswift I’ll give these a try and see if I can sort out the issue. |
I'm having the same problem on Windows 10 with Extempore. SuperCollider, Csound even Kronos work fine on the same machine. CPU load is pretty high with Extempore, unlike with any of the others. I can run hundreds of ugens in SuperCollider on this box, with CPU load still under 2%. TLDR: the problem in Extempore manifests itself only with the more complex pattern based examples like
That sys:load also prints a number of errors about invalid SNDFILE* pointers. The VS2019 and VS2016 packages behave differently in terms of output, despite showing similar errors. The VS2019 package has high cpu load and dropout but makes some sound with patterns. The VS2016 package prints some additional runtime errors and makes no sound with patterns. Both are fine with a simpler non-pattern example. Here's what happens with VS2019 packaged v0.8.9:
And then the DSP load is high and the sound choppy. Changing drivers, increasing buffer size all the way up to 16384, made no difference. Extempore doesn't support ASIO as shipped, by the way. On the other hand, a simpler (library-wise) example like
works without any audio chopping and cpu load is non-existent at the default 1024 buffer and even default MME drivers. So, there seems to be some bug in the library as it's compiled and shipped on Windows, perhaps related to those invalid SNDFILE* pointers. The above was with the VS2019 binaries v0.8.9. Interestingly, the VS2016 v0.8.9 package, which also runs the simple non-pattern example without a hitch, also shows same errors when loading the patter libs, however, CPU load doesn't shoot up!
But that was false hope. The VS2016 package doesn't make any sound at all with the pattern:
Just prints something like
So at this point I'm guessing the issue is perhaps related to the libraries build, perhaps relative to the ASSETS. I'll try to compile from source a bit later with the latest VS2019 -- they patch it quite a lot. LLVM also had some bugs recently, affecting Faust. I've done my own build and it's just a broken. So you've definitely got a bug on Windows. I'm a bit too tired to edit the above now, but my description above about VS2019 vs VS2016 was a red herring. The actual cause of those difference in behavior was dependent only on whether I had loaded the simpler example first or not. |
It looks like you're running the "sharedsystem", which is a good idea and I
recommend it, however, it is a CPU hog - convolution reverb, "analogue
modeling" etc., out the box. Just keep in mind that the "sharedsystem"
isn't designed for low end hardware.
Now, with that said, Extempore is very sensitive to audio drivers (and it
reports its xruns). Good drivers on windows work great, bad drivers
don't. I know that's not particularly helpful, I guess I'm just
recommending that you play around a little as I can assure you that windows
does work fine with the right setup - although this can sometimes be a pain
to find. One thing to keep in mind on windows is cpu frequency scaling,
which causes all sorts of headaches on windows in my experience -
particularly on laptops. Do your best to turn off frequency scaling when
running Extempore and you'll have a much better time of it on windows.
…On Sun, Dec 26, 2021 at 4:39 AM avdrd ***@***.***> wrote:
Having the same problem on Windows with extempore. SuperCollider, Csound
even Kronos work fine on the same machine. CPU load is pretty high with
extempore, unlike with any of the above
Audio underflow: are you pushing extempore too hard?
Audio underflow: are you pushing extempore too hard?n:0] 5:[17% n/a]
Since Kronos is also clang-based, but has little CPU load, that alone
can't be the issue.
—
Reply to this email directly, view it on GitHub
<#402 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEHPKOI3R6CAWCU2QQPBWDUSX6WNANCNFSM44OBIASQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
It's a desktop with fixed CPU frequency (mobo option). I've been using it for years for music making stuff because it avoids such issues. I mean, AVX512... no thanks, Intel. |
Following the instructions in the pattern language guide, I attempt to run
(sys:load "examples/sharedsystem/audiosetup.xtm")
. After loading several modules, I get the repeated terminal message,Audio underflow: are you pushing extempore too hard?
The text was updated successfully, but these errors were encountered: