Re: Sound from scratch
Re: Sound from scratch
- Subject: Re: Sound from scratch
- From: Brian Willoughby <email@hidden>
- Date: Mon, 9 Feb 2009 12:53:00 -0800
Apparently, I cannot resist being a pedant, and since you almost made
an invitation with your closing remark, here goes:
Analog oscillators are not heavily tweaked to sound better. You've
got it backwards. The reason an analog saw does not look pure is
because it is incredibly difficult to create pure waveforms with
analog circuits. It's also more difficult in digital than you think,
but I'll leave that for another discussion. In actuality, the
circuitry is much simpler than it would have to be in order to create
a pure waveform. Most analog synthesizer designs were constrained by
the cost of the circuit, a problem that remains to this day. It would
take an incredibly complex circuit to create a pure waveform, and thus
the simpler, cheaper circuit - even as elaborate as could be afforded
- ends up creating a complex waveform due to inaccuracies. This was
not a deliberate design to get a better sound, but over the decades we
humans have grown fond of the specific imperfections of certain
necessarily-simplified analog circuits, and thus the digital
recreation of these sounds from scratch becomes a complex problem.
Whew!
As for FM synthesis, I would argue that it is not the most common
technique. It is patented, and thus only Yamaha can use it.
Actually, I'll correct myself here: The patent expired in 1995, so I
am showing my age. I suppose a lot has changed in 14 years!
Finally, there are quite a number of experts willing to share what you
might think would be trade secrets. Look for Julius O. Smith and
friends. An older author would be Hal Chamberlin. There are many
useful digital techniques for analog-style synthesis. It's really
only those of us who want to build an actual analog synthesizer that
might run into trade secrets. However, in that respect, you are
correct: If you cannot find details on the chips that were used in
vintage analog gear, then you cannot readily model the circuit
performance with digital emulation.
Brian Willoughby
Sound Consulting
On Feb 9, 2009, at 07:51, Jens Alfke wrote:
On Feb 8, 2009, at 8:21 PM, Ron Olson wrote:
I'm not sure where to begin with this one, but I want to create some
music purely through code; no use of devices or instruments or
anything. That said, I don't want to to come out sounding like beeps
or bloops; I'd rather like to be able to play around with generating
sound like I can do with graphics programming.
Audio synthesis seems (to my eyes) to be kind of a black art, much
harder than manipulating existing sound. The ones who practice it are
the synthesizer designers, and a lot of the things they do are
considered trade secrets, so they're not published. (Even back in the
'70s heyday of analog synths, the circuitry was more complex than
you'd expect: if you took a scope to the supposedly sawtooth-wave
oscillator, what you saw wouldn't look like a pure sawtooth at all,
but one that had been heavily tweaked to sound better.)
It's all math, of course, and DSP techniques to make it run fast. The
CoreAudio part is easy — you just write a function to copy your output
samples into a buffer and hook your function up to the input of an
AudioUnit.
Things to read up on:
- Fourier transforms and the FFT algorithm, so you can do stuff in the
frequency domain, like filtering (thankfully, this is implemented in
the OS)
- Subtractive synthesis (what analog synths use -- oscillators and
filters)
- FM synthesis (this is the most common technique in digital synths,
such as the ubiquitous '80s Yamaha DX-7)
- Analog circuit simulation (how softsynths emulate analog synths, a
la Rebirth.)
My knowledge of this is only inch-deep, so apologies if I'm spouting
nonsense :)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden