[asterisk-dev] Correct abstraction for "audio processing" module

Christian Richter christian.richter at beronet.com
Tue Mar 7 01:40:26 MST 2006


Hi Johnathan,

sounds cool, look at ast_read and ast_write, these are the places where 
the frames go through :-)

Look at how the spying stuff is implemented this may help.

Christian
(crich)



Johnathan Corgan wrote:

>I'm interested in developing one or more modules that would modify audio
>in a pass-through way, in real-time, and controllable via the dial plan.
>
>In effect, said module would receive audio frames, do some sort of
>arbitrary processing on them, and send a stream of frames out.
>
>In the dialplan, the module (if implemented as an application, which
>would be preferred) would be invoked sometime before the Dial() or
>Answer() applications and insert itself into the packet stream as
>appropriate to translate audio frames when receiving or dialing a call.
>
>Some applications for this would be things like:
>
>Audio Filtering (noise reduction, high/low pass)
>
>Pop-Click suppression
>
>Voice Scrambling/Encryption
>
>Pitch Shifting
>
>Transport protocol (but not codec) independent PLC
>
>Speaker identification--only let frames through that correspond to a
>recognized speaker identity
>
>etc.  More science fictiony things would be things like automated
>language translation.
>
>Anyway, are there "hooks" that * provides to inject oneself into a frame
>processing pipeline?  Or other way to accomplish the above (not the
>voice processing steps, but the * frame passing "glue").
>
>One thing that occurred to me would be to add this to chan_local, and
>intercept reads/writes, but that makes usage more difficult in the dialplan.
>
>-Johnathan
>_______________________________________________
>--Bandwidth and Colocation provided by Easynews.com --
>
>asterisk-dev mailing list
>To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>  
>




More information about the asterisk-dev mailing list