How to get into synth / executable music?
category: music [glöplog]
I think he was talking about virtual analogue vs real analogue.
Sesse: Both i suppose. If there is a coder who is willing to expand on what they have already done with ideas I can put forward, then obviously thats a bit of a wicked scenario, but i suspect will not happen.
In a sense, if I can make some good music out of what is already available, then maybe that would be seen as more of an acheivment. Much like the old days of cracking out a pro-tracker module ;)
In a sense, if I can make some good music out of what is already available, then maybe that would be seen as more of an acheivment. Much like the old days of cracking out a pro-tracker module ;)
Quote:
AFAIR the Waldorf WAVE synth used digital Wavetables coupled with analogue filters.
Indeed, the wave oscillators were implemented on a custom ASIC, the filters and various other bits were CEM types. The whole system was controlled by a 68000, or variant.
Hey! http://pulkomandy.ath.cx/projects/sawteeth is available too. Not sure you can do much with it in the current state, however.
@djh0ffman indeed, it's always a little bit of a personal achievement :) Reminds me when rasmus asked me if I could make a tune as quickly as possible with his own synth for one of his intro.
No need to say that the simple fact I could rape people's ear with an ambient noisy tune was just priceless.
No need to say that the simple fact I could rape people's ear with an ambient noisy tune was just priceless.
Anyone know of any links/ideas/etc. for LOW-resource synth? I have ideas for trying to make a synth for 8088 but the only ideas that seems fast enough are a square wave (inc a counter and use the high bit as the on/off state) and a triangle wave (inc a counter and use the low bit).
trixter : you may try playing with configurable LFSR maybe ? They usually create noise but you can get other things out too (not so random noise, mostly, but still...). And it's just a shift and XOR operation.
Speaking of low resource, Aleksi Eeben did a SID emulation for Vic-20 , if you have some 65xx knowledge it comes with source.
trixter: what else you need? sine?
then try this: http://www.musicdsp.org/archive.php?classid=1#10
then try this: http://www.musicdsp.org/archive.php?classid=1#10
gopher: Multiplications are dead slow on 8088, so it'll be faster to just put a period in a LUT.
or use addition with lin->log & log->lin tables, as some FM synths use, to do fast (but coarse) multiplication.
Ok, I'll start with a couple of books:
http://www.amazon.com/Computer-Sound-Design-Second-programming/dp/0240516931
http://www.amazon.com/Digital-Signal-Processing-Practical-Scientists/dp/075067444X/ref=sr_1_10?s=books&ie=UTF8&qid=1288973677&sr=1-10
The first is a good book for ideas.. it doesn't tell you much about how to implement the stuff in there, but it does contain hundreds of descriptions of different types of audio generators and effects and what they do and it's enough information to send you on a productive google search.
The latter is a very readable introduction to stuff like convolution and fourier transforms, and of course, how to calculate filter cooefficients.
That said, if you're getting into this for the first time, you probably want to start by going to musicdsp.org and just cutting and pasting chunks of code into your synth.
Also, worth looking at is "zynaddsubfx" - a very nice (sounding.. the gui is butt ugly) open-source softsynth which does all sorts of cool things.
Although I'm working officially on "mapprox 4", it's not the 4th version, it's just the 4th one that gets finished. I'm onto about my 11th rewrite.
The main thing about size coding is not to get too ambitious with functionality.. don't try to make it do everything, just come up with some stuff which will work, even if it bolts you down to certain styles of music, then concentrate on getting that done and making it rock.
If you want the source code to my last one (used in "ephemera"), just ask.
Now get on with it and start coding one!
http://www.amazon.com/Computer-Sound-Design-Second-programming/dp/0240516931
http://www.amazon.com/Digital-Signal-Processing-Practical-Scientists/dp/075067444X/ref=sr_1_10?s=books&ie=UTF8&qid=1288973677&sr=1-10
The first is a good book for ideas.. it doesn't tell you much about how to implement the stuff in there, but it does contain hundreds of descriptions of different types of audio generators and effects and what they do and it's enough information to send you on a productive google search.
The latter is a very readable introduction to stuff like convolution and fourier transforms, and of course, how to calculate filter cooefficients.
That said, if you're getting into this for the first time, you probably want to start by going to musicdsp.org and just cutting and pasting chunks of code into your synth.
Also, worth looking at is "zynaddsubfx" - a very nice (sounding.. the gui is butt ugly) open-source softsynth which does all sorts of cool things.
Although I'm working officially on "mapprox 4", it's not the 4th version, it's just the 4th one that gets finished. I'm onto about my 11th rewrite.
The main thing about size coding is not to get too ambitious with functionality.. don't try to make it do everything, just come up with some stuff which will work, even if it bolts you down to certain styles of music, then concentrate on getting that done and making it rock.
If you want the source code to my last one (used in "ephemera"), just ask.
Now get on with it and start coding one!
Quote:
http://www.amazon.com/Computer-Sound-Design-Second-programming/dp/0240516931
AARRGGH, that book has bondgraphs in it.. kill, Kill, KILL!
Oh, another thing about zynaddsubfx..
It was blatantly coded by a mathematician type.. the code is horrible.. full of single letter variable names and autistic class inheritance, with a lovely smattering of frightening maths. Still worth a look though.
It was blatantly coded by a mathematician type.. the code is horrible.. full of single letter variable names and autistic class inheritance, with a lovely smattering of frightening maths. Still worth a look though.
basic zynaddsubfx method:
(A) For foshizzling, use gaussian pulses as amplitude value and set random phases.
(B) use real and imaginary part of inverse FFT result as left and right channels.
Code:
1) foshizzle ridiculously large complex-valued coefficient array (A)
2) inverse FFT
3) the world may now (B)
(A) For foshizzling, use gaussian pulses as amplitude value and set random phases.
(B) use real and imaginary part of inverse FFT result as left and right channels.
gopher: you're calculating sines in realtime?! I just stuff it into wavetables and occasionally call tanf() every 64 samples :-)
don't knock inverse FFT! I'm doing that in mapprox4!
I'm not knocking it; I merely wrote a short synopsis of the method.
However, a proper chorus will also get you the wide pad sounds but without any (obvious) repetitions.
There is a well-known choir patch in the Waldorf Microwave II (and XT) that uses just two sines and a very simple chorus. IMO, it sounds great.
However, a proper chorus will also get you the wide pad sounds but without any (obvious) repetitions.
There is a well-known choir patch in the Waldorf Microwave II (and XT) that uses just two sines and a very simple chorus. IMO, it sounds great.
Here's the secret of the phat pads in enigma sequence/ephemera:
Massive detune.
16 phonemes per voice, with a slider to control how out of tune each one is in realtime. The noise at the beginning of enigma sequence is what you get when you wiggle it.
Massive detune.
16 phonemes per voice, with a slider to control how out of tune each one is in realtime. The noise at the beginning of enigma sequence is what you get when you wiggle it.
Is there an mp3 or YouTube link to Enigma Sequence?
http://www.demoscene.tv/page.php?id=172&id_prod=13731&lang=uk&vsmaction=view_prod
And yes, it does beat the shit out of the CPU :-P
So much so in fact that in editing mode, I had to disable tracks to finish the music without it skipping!
And yes, it does beat the shit out of the CPU :-P
So much so in fact that in editing mode, I had to disable tracks to finish the music without it skipping!
what's this about?
a summary, please!!
a summary, please!!
Basically, leblane asked how to bum parapete without having his bike knicked, and the general consensus is that he should "tongue-jack his shitbox"
@MeteoriK: why is the synth so cycle hungry?
Cause of the 16 phonemes per voice thing.. coming out of wavetables. 16 memory lookups per phoneme per note.