And hereās the gui:
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?
Thanks
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.
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
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
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.
aliasing aliasing aliasing aaaaallll the ttiiiime
Thanks for the answer, I will try to find some papers about the interpolations
Kraken > :?:
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.
http://ldesoras.free.fr/doc/articles/resampler-en.pdf
http://ldesoras.free.fr/src/resampler-1.02.zip
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.
Thanks everybody 8)
Synthesiser base class?? where did that spring from?? JUCE changes at a faster rate than my noobie C++ skills are improving at!!
Is there any example code featuring the sythesiser class I can have a nosey at anywhere??
[quote=ācacoā]Synthesiser base class?? where did that spring from?? JUCE changes at a faster rate than my noobie C++ skills are improving at!!
Is there any example code featuring the sythesiser class I can have a nosey at anywhere??[/quote]
jucedemo has the coolest sinf efa!
hey lets be KVR!
teh jucedemo is sounding warmer than teh roid! any1 got teh roid manual?
:lol:
[quote=āKarbon L. Formsā][quote=ācacoā]Synthesiser base class?? where did that spring from?? JUCE changes at a faster rate than my noobie C++ skills are improving at!!
Is there any example code featuring the sythesiser class I can have a nosey at anywhere??[/quote]
jucedemo has the coolest sinf efa![/quote]
Oooh that wasnāt there last time i looked
Jules slow down with the coding I canāt keep up!!
OMG PLZ! WAREZ USER!!!
Actually, I donāt exactly get the synt/voice objects either. They look sort of like the setup I use already, but I suspect they have some advantage over starting with empty classes?
wow!
teh hummeer!