I have two Audio related projects that need updating.

1. "rsynth" formant based text-to-speech synthesis

2. Audio::* Perl modules.

Both have existing /dev/dsp style backends at present, which have been working
fine. But recently (SuSE 9.0 install?) when run under ALSA emulation of 
/dev/dsp they both started producing segfaults - "after program had exited",
(neither valgrind nor gdb can give any info on the fault).

So I decided it was time to do a native ALSA backend(s).
I have rsynth backend working, and perl Audio:: one almost working.
But before going forward I would like to solicit opinions on what 
is the "right" API to use.

The Linux audio world seems to be in a state of flux with these options
(please tell me if I missed any):

1. Venerable OSS stuff
   - Widely available :-)
   - Some cards have quasi or truely commecial drivers rather than
     free / opensource ones :-(
   - emulation via ALSA (at least as shipped by SuSE) seems broken :-(

2. ALSA
   - Reasonably widely available :-|, and improving
   - Opensource :-)
   - Documentation is lacking :-(
     Everything hinges on the 
     "Configuration Space" concept, but I can't find an explanation of 
     how that works. This is the sticking point with perl code - I can't find 
     how to change the sample rate / channels, so _seems_ I need to 
     close and re-open.  

3. JACK 
   - Gets lots of excited "this is cool" kind of coverage :-)
   - realtime :-)
   - Callback style not ideal for speech synthesis or play-from-file
     of my simple apps. complex :-(
    
4. Enlightenment Sound Demon
   - Seems to be used by KDE etc.
   - haven't looked into it further.

5. Network Audio System 
   - Works on many platforms Linux/Solaris/X Terminals :-)
   - X-like "imake" style rather than configure :-(
   - Linux version still seems to be based on OSS - so recurse ;-)

6. Presumably there is some kind of telephony API as well, for sending 
   sound to incomming phone calls via modem / ISDN

Complexity and callbacks don't scare me - I do perl/Tk after all!
But this is a 2nd-string project so I don't want to do a lot of 
complex stuff for an API that is vanishing - I would rather either 
use a simple stable interface, or pitch in and help on the "comming"
complex API.

Suggestions anyone? (I just subscribed to both lists - so reply to your
favourite list.)

  


 


-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id78&alloc_id371&op=click
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to