[alsa-devel] a new synthesizer driver
stevel at embeddedalley.com
Thu Jul 19 20:18:49 CEST 2007
Clemens Ladisch wrote:
> Steve Longerbeam wrote:
>> I'm embarking on a big task: writing a new synthesizer driver. My device
> Which one?
it's an embedded SOC, the LSI Zevio 1020, here's a link:
>> 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() ?
> Probably not. The sound font loading code is somewhat generic, but that
> is because the sound font format was designed to be the equivalent of
> the Emu chips' hardware capabilities.
> All that code has been written for Emu hardware. How much it must be
> changed depends on how different your hardware is.
>> 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" ?
> I think it is possible to reuse some of that code, but it wouldn't be
> as easy as just renaming some things.
> (The generic synth code is supposed to be in core/seq/seq_midi_emul.c.
> The synth/emux directory just exists to factor out common code of the
> Emu8000 and Emu10k1 drivers.)
ok, that's what it looked like.
More information about the Alsa-devel