[music-dsp] Semi OT: How Much Math in Practical DSP?
vtatila at mail.student.oulu.fi
Sat Sep 4 07:49:18 EDT 2004
First a little intro as I've mostly been lurking here apart from a couple
newb posts. I'm a 20-year-old, visually-impaired Finnish computer enthusiast
interested in practical synthesis. I have a number of synths, like
programming them a lot, and as I do know C, CPP and Java somewhat, I think
it would be nice to create some softsynths of my own at some point. So I'm
approaching this more from the musician|programmer point of view rather than
I'm primarily studying information processing science (which is
unfortunately a less "scientific" form of computer science) and am pondering
whether I should do math as a minor subject. My primary motivation is that
it would appear any DSP work seems highly mathematical (more so than
programming or practical math in general) and I have a vague feeling that it
would be really useful to know some higher math in other contexts, too. I
only did the short courses in highschool and they went well. However, I'm
not usually into totally abstract math that doesn't have any practical value
in real life or on the computer and being visually impaired means I gotta do
much more work than the sighted in general. Geometry and anything purely
graphical (e.g. even UML) is particularly difficult, of course.
I'm not quite sure how to put it but how much math do you need in order to
do any practical DSP work related to synths? It would be nice to understand
DSP as thoroughly as possible in order to really be able to design something
new and know what one is really doing. However, I've heard that truely
understanding say FFT would require years of study and I'm
probably not into math that much.
Can you really design something new and use say FFT as a programmer without
really understanding what's going on behind the scenes? I suppose this comes
down to a more philosophical and abstract question.
Apart from obvious computer aspects like coding and usability, how's
creative DSP work like? Is doing a good sounding synth more an achiement in
practical higher math or a feet of programming and intuition. I reckon it
depends on the person and project, too.
On a side note, here's some info on projects I'd like to do some day:
-a NES synthesizer. there are a few emulating the SID chip but not much
related to other computers or consoles. I actually have a ready-made NES
sound lib from one guy and need only learn the basics of VSt as well as
handling MIDI events, driving the synth, coding the GUI and including new
virtual modulators like non-native extra LFOs and envelopes.
-an open-source modular synthesizer, the Linux equivalent of NI Reactor.
However, it should be more about subtractive synths and as friendly as the
Nord Modular, at least. AN alternative text-mode UI would be nice,
specifying patches in a special XML dialect. Coding new modules would be
possible in some interpreted programming language.
-A relatively simple MIDI drum-machine plug-in. However, it would not do
quantizing of realtime input and would also be able to analyze the rhythm
from an audio source in real time. Also no arbitrary pattern length
-a MIDI to SAPI wrapper that would let you compose vocal parts for any
MIcrosoft SAPI 4 or 5 compliant synth. MOstly useless but would be highly
-An MSAA wrapper for VST synths that would pass widget descriptions and
names from totally custom synth GUis to screen reader programs through SAPI.
-A retro synth environment. It would let you run any older non-VST or DX
audio app as a plug-in. The app would see the VST MIDI and audio ins and
outs as virtual MIDI and DirectSound devices.
Loads more that I don't care to list right now.
Thanks for any help in advance.
If you think this is off-topic, feel free to post replies to me directly.
With kind regards Veli-Pekka Tätilä (vtatila at mail.student.oulu.fi)
Accessibility, game music, synthesizers and more:
More information about the music-dsp