[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