[alsa-devel] a new synthesizer driver
Steve Longerbeam
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:
http://www.lsi.com/consumer_home/products_home/standard_product_ics/application_processors/zevio1020/index.html
>
>> 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.
Steve
More information about the Alsa-devel
mailing list