My Synth is done (no really)

19 posts / 0 new
Last post
Rock Hardbuns
Offline
Last seen: 3 years 3 weeks ago
Joined: 22 Nov 2005 - 00:10
My Synth is done (no really)

Rock Hardbuns
Offline
Last seen: 3 years 3 weeks ago
Joined: 22 Nov 2005 - 00:10

And here's the gui:

caco
Offline
Last seen: 8 years 2 months ago
Joined: 14 Nov 2005 - 15:17

Woah :shock:

That is seriously impressive stuff!! And you've been doing C++ for only a year??

Thanks Pukeweed this makes a fantastic (if not slightly complex :oops: ) tutorial for a relative beginner to C++ and JUCE.

Cool GUI as well

Whats next on the Pukeweed VST hitlist?

Rock Hardbuns
Offline
Last seen: 3 years 3 weeks ago
Joined: 22 Nov 2005 - 00:10

Thanks :D

Yup, one year of C++ and a few months of JUCE. (But I've programmed in other langues before, professionally even.)

I am still really foggy on some of the DSP stuff. The filter is basically a copy/paste job, and I'm not a 100% on how the cubic interpolations I used in the osc works! :shock:
So my next mission will probably invole learning some real DSP. Or maybe I'll make a mono/lead oriented version of this synth.

I guess I should have kept the simpler version, before I added oversampling and restructured it for per buffer processing. It was way more clear, consistent and instructive.
But it is often the case that clarity must be sacrificed on the altar of performance. :(

Wolfen
Offline
Last seen: 1 hour 38 min ago
Joined: 13 Jan 2005 - 18:05

Sounds interesting :)

A question, I have seen you have used sampled waveforms, how many samples are these waves' length ? I'm developping a synth too, with 1024 samples for each waveform (sine, sawtooth, pulse, triangle...) and it looks like it's not enough, because my sawtooths/pulses/triangles sounds the same at 440 Hz ! I have used only linear interoplation, but I don't think it's just that :? I'm looking for other waveforms too, I don't know what to take and how to synthesize them...

If you have some suggestions, they will be great :P

PS. About "real" DSP, I like MusicDSP's website/forum/Mailing List, I have found a lot of interesting things there. And there is a free DSP book to download on http://www.dspguide.com

PPS. Some other links :
http://www.earlevel.com/Digital%20Audio/Bilinear.html
http://www-ccrma.stanford.edu/%7Estilti/papers/moogvcf.pdf
http://www.theprojectstudiohandbook.com/articles17.htm
http://crca.ucsd.edu/%7Emsp/techniques.htm
http://www.acoustics.hut.fi/publications/reports/sound_synth_report.pdf
http://ccrma.stanford.edu/%7Ejos/pasp/pasp.html

Rock Hardbuns
Offline
Last seen: 3 years 3 weeks ago
Joined: 22 Nov 2005 - 00:10

I used 512 samples. All the waveforms are just a single cycle and 512 is plenty. I just made the waveforms in soundforge and exported them as raw/32 bit floats. Then I used the binary builder to make them into source files (osc_tables.h /osc_tables.cpp).

With 1024 samples per cycle you should pretty much be able to just skip the interpolation and just truncate the phase counter to get the sample index, and still get a pretty good result.
So my bet is that you're either messing up in the interpolation, or the waveforms are wrong to begin with.

kraken
kraken's picture
Online
Last seen: 2 min 45 sec ago
Joined: 9 Feb 2005 - 09:31

aliasing aliasing aliasing aaaaallll the ttiiiime ;)

Wolfen
Offline
Last seen: 1 hour 38 min ago
Joined: 13 Jan 2005 - 18:05

Thanks for the answer, I will try to find some papers about the interpolations :wink:

Kraken > :?:

Rock Hardbuns
Offline
Last seen: 3 years 3 weeks ago
Joined: 22 Nov 2005 - 00:10

Have a look at the "Almost ready to use oscillators" at music dsp. I'm using the cubic version of that code, more or less. The linear version is also good. Fast as greased ninja.

kraken
kraken's picture
Online
Last seen: 2 min 45 sec ago
Joined: 9 Feb 2005 - 09:31

jules
Offline
Last seen: 13 hours 33 min ago
Joined: 29 Apr 2013 - 18:37

don't forget that juce has got a ResamplingAudioSource... if you used the Synthesiser base class you could hook one of those up in a Voice object and use that.

Pages