[alsa-devel] a new synthesizer driver
stevel at embeddedalley.com
Thu Jul 19 03:28:26 CEST 2007
I'm embarking on a big task: writing a new synthesizer driver. My device
has all the ingredients for a MIDI wavetable sythesizer: 64 voices, each
voice with envelope, pitch, and LFO controls. Also global effects like
reverb. It's similar to the emu10k1.
So my first question would be, is the synth code under synth/emux/
general enough to use for a different synthesizer chip? Ie, can I
implement my own operators in 'struct snd_emux_operators' and pass that
to snd_emux_register() ?
Would it be a simple matter to make synth/emux/ a generic synth layer,
by moving all the source in synth/emux/ up one level to synth/, and then
rename all functions and data structures starting with "snd_emux" to
"snd_synth" ? For instance, snd_emux_operators becomes
snd_synth_operators, snd_emux_control() becomes snd_synth_control(), etc.
It seems this path is already partially completed, since
synth/emux/soundfont.c is a generic soundfont loader.
The thing I want to avoid doing is creating a synth/my_synth/ directory
and duplicating lots of code from synth/emux/ (including just copying
More information about the Alsa-devel