pouët.net

Go to bottom

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 ;)

added on the 2010-11-04 17:59:09 by djh0ffman djh0ffman
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.
added on the 2010-11-04 18:00:13 by trc_wm trc_wm
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.
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).
added on the 2010-11-05 01:18:52 by trixter trixter
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.
added on the 2010-11-05 10:07:29 by 4mat 4mat
trixter: what else you need? sine?
then try this: http://www.musicdsp.org/archive.php?classid=1#10
added on the 2010-11-05 10:09:28 by gopher gopher
gopher: Multiplications are dead slow on 8088, so it'll be faster to just put a period in a LUT.
added on the 2010-11-05 11:37:37 by kusma kusma
or use addition with lin->log & log->lin tables, as some FM synths use, to do fast (but coarse) multiplication.
added on the 2010-11-05 13:55:13 by trc_wm trc_wm
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!
added on the 2010-11-05 17:16:45 by MeteoriK MeteoriK
Quote:
http://www.amazon.com/Computer-Sound-Design-Second-programming/dp/0240516931

AARRGGH, that book has bondgraphs in it.. kill, Kill, KILL!
added on the 2010-11-05 17:25:41 by trc_wm trc_wm
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.
added on the 2010-11-05 17:27:32 by MeteoriK MeteoriK
basic zynaddsubfx method:
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.
added on the 2010-11-05 17:35:06 by trc_wm trc_wm
gopher: you're calculating sines in realtime?! I just stuff it into wavetables and occasionally call tanf() every 64 samples :-)
added on the 2010-11-05 17:35:37 by MeteoriK MeteoriK
don't knock inverse FFT! I'm doing that in mapprox4!
added on the 2010-11-05 17:37:53 by MeteoriK MeteoriK
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.
added on the 2010-11-05 17:42:56 by trc_wm trc_wm
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.
added on the 2010-11-05 17:44:39 by MeteoriK MeteoriK
Is there an mp3 or YouTube link to Enigma Sequence?
added on the 2010-11-05 17:50:42 by trc_wm trc_wm
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!
added on the 2010-11-05 17:53:33 by MeteoriK MeteoriK
what's this about?


a summary, please!!
added on the 2010-11-05 18:13:36 by tEiS tEiS
Basically, leblane asked how to bum parapete without having his bike knicked, and the general consensus is that he should "tongue-jack his shitbox"
added on the 2010-11-05 18:18:40 by MeteoriK MeteoriK
@MeteoriK: why is the synth so cycle hungry?
added on the 2010-11-05 18:19:22 by trc_wm trc_wm
Cause of the 16 phonemes per voice thing.. coming out of wavetables. 16 memory lookups per phoneme per note.
added on the 2010-11-05 18:28:47 by MeteoriK MeteoriK

login

Go to top