First off, @MartinusMagneson was right – Vuo audio stuff has real potential. Imho a couple basic effects would complete the basic tool set – I’d vote for spatial effects like a simple reverb and delay (with feedback).
This filter question actually had a simple answer, at least to get started – use Split by Audio Frequency
. I overlooked it, the name of the node threw me off. (Fancier filters could be nice, e.g., something with resonance, but this gets the point across.)
Regarding the unexpected behavior with the FM operator setup, I think Wave
simply cannot keep up with audio range Hz – 1/Period can create very small/fast values (unavoidable when using a “classic” frequency ratio setup, i.e., Make Audio Wave
freq * freq ratio). Limiting parameters to keep things in range appears the simplest solution for now. (So much for emulating Buchla easel FM settings.)
To bigger issues – a bit better after a bit of clean up using Show Events, much better performance at present. This has been a bit of a kitchen sink experiment and at some point my attention became consumed tracking sputtering and slowdowns that were happening after a minute or so. This of course is not ok with audio – it’s like I can hear every complaint from Vuo! And forget adding fancy visualizers to this comp for now. Also in the comp there is a “Tap Delay” experiment that pushes Vuo over the edge when connected, unusable. Also, Show Events/cleanup process was a bit slow going because of hangs and force quits with the editor, beach balls running/stopping the comp, hanging when trying to open the comp from startup splash screen.
Questions at this point, forgive if covered elsewhere:
Are there more ways to optimize? Do cables showing slow down performance? And if events are being pushed to any part, processing is being chewed up, is that right? (Even if disconnected at output, or if some modulator is turned to 0?) Are there ways to run anything else here with something like the “Spin Off” concept – for example, can I run visuals in a parallel process? (How does Vuo use multiple cores?) And some things in the modulation section don’t necessarily need to be in sync, though they do need to run using Fire at Audio Rate
. I think there are feature requests for things like disabling parts of a comp, right? That would be good with audio stuff – disable or pass through.
I would also love to package up some of commented sections as subcomps – no luck there, unstable business, hangs and crashes when subcomps are in the comp. (Or maybe I should give it another shot – upgraded to 2.3.0 midstream).
Questions regarding math operations I am using for waveshapers (wave folding, saturation, clipping):
Using Calculate List
, what are proper formulas for trig functions like sin(X), tanh(x), atan(X) for audio in the range [-1,1]? For example, tanh(X) (or tanh(saturation*X)) doesn’t work – the description for trig functions says “in degrees”. Clipping using clamp(X,-1,1) is straightforward.
Same for the sin function wave folder – what is the proper formula for sin(X * n) to produce expected results in the [-1,1] range? I thought I had it working in the first run with sin(X * order), but since I have separated ch1/ch2 for stereo, not working as expected. (With sin wave folder, folding should only happen when audio goes out of [-1,1] range, then always stay in range as it gets folded back. In this case volume/amplitude diminishes to nil at lower order values, and requires huge values to do any expected folding – I am used to an order range of 1 to maybe 50 to produce good results – here I have 1 to 500.)
Where I’d like to go with this is to have subcomps for audio “modules”, GUI’s (prob need more UI elements to really do it justice, at least for mouse/computer operation), and of course have some nice visuals.
The attached comp has a bunch of stuff turned up, test mode. Ton of parameters published.
AudioSynth.v0.21.vuo (149 KB)