How to get into synth / executable music?
category: music [glöplog]
In fact, if you turn FM synthesis on, it's 32 :-)
oh another coding tip:
Tried VSTGUI? It's fucking awful. Smash described it as looking like someone's degree project.
"Juce" is much nicer, but not perfect. Failing that, there's always good old QT:
http://vokicodder.blogspot.com/2009/04/vst-plugins-with-qt-user-interface.html
Alas, their solution is windows-only, and we generally develop on linux.
Oh yeah:
http://spacepigs.com/synth.jpg
http://spacepigs.com/wavetables.jpg
That's what's coming :-)
Tried VSTGUI? It's fucking awful. Smash described it as looking like someone's degree project.
"Juce" is much nicer, but not perfect. Failing that, there's always good old QT:
http://vokicodder.blogspot.com/2009/04/vst-plugins-with-qt-user-interface.html
Alas, their solution is windows-only, and we generally develop on linux.
Oh yeah:
http://spacepigs.com/synth.jpg
http://spacepigs.com/wavetables.jpg
That's what's coming :-)
MeteoriK: is it a wavetable synth ? :)
in any case, the old wavetable synths (like WAVE, or the ASR-X from Ensoniq (wasn't that the company whose founders designed the SID chip?) did not interpolate the samples but merely switched waveforms (due to computational limitations at that time)
still one of my favourite forms of "synthesis", so simple but "wavescanning" (or "transwaves", as Ensoniq called them) still work wonders.
damn, I dedicated two trackers to that subject. the new one can interpolate (d'oh!) ;)
in any case, the old wavetable synths (like WAVE, or the ASR-X from Ensoniq (wasn't that the company whose founders designed the SID chip?) did not interpolate the samples but merely switched waveforms (due to computational limitations at that time)
still one of my favourite forms of "synthesis", so simple but "wavescanning" (or "transwaves", as Ensoniq called them) still work wonders.
damn, I dedicated two trackers to that subject. the new one can interpolate (d'oh!) ;)
meaty:
at least in 4klang i do calc sines in realtime, yes :)
at least in 4klang i do calc sines in realtime, yes :)
VSTGUI is getting better and has a very liberal license, i.e. you can make closed-source stuff without the need for a commercial license. JUCE needs a commercial license for closed-source stuff, so I tend to use VSTGUI.
@?? yes.. it's a wavetable synth.. all my synths are.. you can't have bandlimited saw waves without either using wavetables or doing bleps, and bleps aren't great.
then again, wavetables fall over in accuracy, and my FM synthesis stuff only ever got used as an effect (that WHOOSH! sound at the end of ephemera). FM just made it alias and go out of tune.
As for VSTGUI.. I just checked the docs.. still "urgh" :-) each to their own I guess.
As for closed source licensing.. I plan to open-source it and share the love.. I've already said you can have the old one :-)
then again, wavetables fall over in accuracy, and my FM synthesis stuff only ever got used as an effect (that WHOOSH! sound at the end of ephemera). FM just made it alias and go out of tune.
As for VSTGUI.. I just checked the docs.. still "urgh" :-) each to their own I guess.
As for closed source licensing.. I plan to open-source it and share the love.. I've already said you can have the old one :-)
what's wrong with BLEPs? BLEPS are great!
Documentation is indeed not the strong point of VSTGUI, so .. use the source Luke!
well, it would relieve my synth of all the memory bus hogging (now I'm doing FFT, I don't need to do 16 phonemes per voice, so that's no longer a problem anyway), but if I used it, I guess there would be a point in making it threaded, as long as I don't piss cryptic off by beating the shit out of all 4 cores.
You could probably even use SIMD to do 4.. I love SIMD coding.. so therapeutic. It's like knitting. Until it doesn't work and you have 4 reasons to want to smash your computer up.
OK. Bleps are valid, especially for SID emulators, but I'm not writing a SID emulator, and I'm not doing arpeggio either, even though we just had a chipchoon musician (wiklund) join our group.. he's just going to have to put up with the oh so hard to appreciate massive polyphony :-D
You could probably even use SIMD to do 4.. I love SIMD coding.. so therapeutic. It's like knitting. Until it doesn't work and you have 4 reasons to want to smash your computer up.
OK. Bleps are valid, especially for SID emulators, but I'm not writing a SID emulator, and I'm not doing arpeggio either, even though we just had a chipchoon musician (wiklund) join our group.. he's just going to have to put up with the oh so hard to appreciate massive polyphony :-D
I just pissed off the entire oldskool by saying that :-D
Just add something against virtual analog, analog and then JMJ and you're done pissing off everybody :D
btw.. you might notice that the "Slide mode" and "Detune mode" combo boxes are empty of text..
I've got a LOT of work to do if we're going to release this at TUM :(
We are NOT going to do our old mistake of writing the music around the demo. Golden rule: music first, director second.
So I have 3 weeks to finish to write the music in a week and give cryptic a chance to put something together. This is mainly a "new tech" release.. don't expect it to be mind blowing. Wait for the second one where we can take a breather :-)
I've got a LOT of work to do if we're going to release this at TUM :(
We are NOT going to do our old mistake of writing the music around the demo. Golden rule: music first, director second.
So I have 3 weeks to finish to write the music in a week and give cryptic a chance to put something together. This is mainly a "new tech" release.. don't expect it to be mind blowing. Wait for the second one where we can take a breather :-)
analog, virtual analog, and JMJ are cunts!!!
wait.. what did I just do?
wait.. what did I just do?
I'll join in!
Scene musicians are a bunch of fat sweaty girls.
Scene musicians are a bunch of fat sweaty girls.
Quote:
(...) Distortion/Waveshaping that doesn't alias? EQs that don't royally fuck up the phase? (...)
Hoi Kebby,
just wondering.. What's the issue with fucking up the phase in a EQ?
Sure, nowadays with lots of MIPS/FLOPS at your disposal you can do constant phase EQ.. Back in the days when things like 31 band EQ'as have been invented nobody cared. I studied lots of the classic graphical and parametric EQ circuits and all of them mess up the phase big time
Nonetheless the musicians like it so far.
It is the mess-up on the attack/on-set of a fast attack sound that you complain about, or where is the problem with a royal phase mess-up?
Just wondering,
Chummer Nils..
that's the spirit. I'll get back to visual (cough) studio*.
* ok, I admit.. visual studio express is a bloody good bit of software. It's one of the few things that microsoft gets right, although I prefer coding this on linux and running it from a terminal.. when I get maths errors, I can get it to printf shit to the screen or pipe the output into xgraph and see a pretty graph of where I've fucked up. Hmm.. back in a biit.. rebooting :-) (fucking filters.. as x tends to 0, tanf(x) tends to infinity.. 32 bit floats.. there's no way I'm using doubles, so I just have to limit it somehow in a way which isn't ugly..)
* ok, I admit.. visual studio express is a bloody good bit of software. It's one of the few things that microsoft gets right, although I prefer coding this on linux and running it from a terminal.. when I get maths errors, I can get it to printf shit to the screen or pipe the output into xgraph and see a pretty graph of where I've fucked up. Hmm.. back in a biit.. rebooting :-) (fucking filters.. as x tends to 0, tanf(x) tends to infinity.. 32 bit floats.. there's no way I'm using doubles, so I just have to limit it somehow in a way which isn't ugly..)
at ln2, we like to fuck up the phase :)
Quote:
... all of them mess up the phase big time.
Nonetheless the musicians like it so far.
Doesn't that answer your own question?
as x-> 0 then tan(x) -> 0
so what's the problem?
so what's the problem?
tan(0) = INF...
wait, i'm talking bollocks.. you're right.
either way, I'm getting infinity.
either way, I'm getting infinity.
perhaps you're calculating tan(x) as cos(x)/sin(x), instead of sin(x)/cos(x) ?
basically, in low pass filters, if it's too low, you get "SCREEEEECH" and then silence after you've yanked your headphones off in pain.
If it drops low too quickly, you get the same problem (the fix is to have two filters and interpolate).
With high-pass, if it gets near nyquist frequency, it's the same problem. For my filter envelopes, the high pass filter is upside-down.. the same bit of code checking bounds cares for both cases.. yay.. I saved about 50 bytes!
If it drops low too quickly, you get the same problem (the fix is to have two filters and interpolate).
With high-pass, if it gets near nyquist frequency, it's the same problem. For my filter envelopes, the high pass filter is upside-down.. the same bit of code checking bounds cares for both cases.. yay.. I saved about 50 bytes!
What filter topology are you using? and are you using a non-linearity somewhere?