Thanks for all the research Rory !
- The 2 first solution (Formula + band limited waves) : it’s really interesting, not quite useful for sawtooth waveforms, but still, it’s great stuff, thanks for sharing !
- For the Waveshaping : I tried it and I ended up with this kind of saw-ish shape, doesn’t sound that much of a saw IMO (more like a distorded sine), at least not the kind of saw I expect & like
- Finaly, the last one is very interesting :
It’s definetly a saw (reversed saw compared to the VCO2 one)
here is VCO2 saw :
We can already notice the saw is quite rounded on the ends (doesn’t have the small peaks at the ends) so we can expect it to sound softer, like if it was low pass filtered
The Spectrum Analyser confirms, we can definetly see a rolloff at the high end of the spectrum (like a filtered saw)
Here is VCO2 saw :
So now the CPU test, playing 100 notes at the same time :
- Test Saw : 6% CPU
- VCO2 : 7.5% CPU
So yeah, the Test saw is more CPU friendly !
So, even if this saw is quite interesting & cleverly made, I think it can’t replace the VCO2 saw. Even if we save like 1.5% CPU during the test, the same test with Sylenth or Spire shows like 1% CPU usage so we are still way too high !
What is quite interesting to notice is that using OSCIL, so the most simple SINE opcode, we are still around 6-8% CPU usage for 100 notes played… So that means there is something inside Csound that takes up lots of CPU.
An interesting test would be to try to make a really simple SINE synth like the example synth in JUCE, and do the same 100 notes test, to see if we are closer to Csound or to the comercial synth.