View Single Post
Old 04-15-2020, 10:43 AM   #261
Hermenator
Human being with feelings
 
Join Date: Apr 2020
Posts: 5
Default

Hello Time Waster,
First of all, let me tell you that I think it's great what you're doing here! I like the minimalistic approach you're taking, with small but informative graphics. I've been playing around with VCV-Rack, too, but the fact that this runs straight in Reaper is awesome! And, more often than not, the graphics of VCV-Rack are often distracting, not to mention the spaghetti of cables, which clutter the screen pretty quickly.

I came across this thread because I wanted to do something similar as you did in Version 1. But I could never have taken it to where you have right now, so thank you for that! Skimming through this thread I came across much debate on the resolution of the control signals (in both time and precision) and I must say I liked your initial approach of using MIDI for Control in @block, and only audio in @sample. I'm on an pretty old mac and some modules need almost a full core!

That made me look into the code a little more careful and I realised some optimizations could be made. I've had a go on the 'Oscillator-Additive' module and was able to reduce the cpu-usage by a factor of 4x - 6x, using the Chebyshev-method:
Sawtooth: 7.5% -> 1.8%
Triangle: 20% -> 3.2%
Pulse : 14% -> 2.7%
(Reaper FX window measurements)

If you're interested, please find the file attached. If you want to know the details, you can find more info here:
https://en.wikipedia.org/wiki/List_o...ebyshev_method

So far I've only changed the oscillator-sections where the harmonics are summed, because I am not exactly sure what you are doing in the 'sweepmode' section. You seem to be taking yet another harmonics and add this with a special coefficient to the sample. Wouldn't it be better to just reinforce the last (one or two) harmonics? Now you risk that these resonance frequencies exceed the Nyquist frequency.

Some minor issues I noticed, let me know if you appreciate this
- Since 'Triangle' only uses every second harmonic, shouldn't it stop at 'cutoff/2', to be more in the same frequency range as the others?
- Your 'pulse' wave always oscillates between +0.5 and -0.5. If the pulse width is not equal to 0.5, this results in a DC-component in the signal. For a control signal this might just be what you want, but for audio it is undesirable. I have changed the last line so that the DC-component is always zero.

Finally, could you elaborate a bit on your views regarding per-sample control vs per-block control, ie. what is your line of thought for Version 3?

OK, Thanks again and keep up the good work,
Regards,

Hermenator

PS: What is the best way to exchange files? For now, I have converted it to a .txt file and attached that.
Attached Files
File Type: txt TimeWaster_ReaRack2 Oscillator-Additive Mod.txt (17.2 KB, 212 views)
Hermenator is offline   Reply With Quote