[asterisk-dev] adjusting the playback speed of voicemail messages.

Steven S. Critchfield critch at basesys.com
Thu Apr 3 13:32:46 CDT 2008


----- "John Todd" <jtodd at loligo.com> wrote:
> At 4:33 PM -0500 4/2/08, Steven S. Critchfield wrote:


> I believe that 1.6 branches include an interface to Jack... let's
> see... yes.
> 
> http://svn.digium.com/view/asterisk/branches/1.6.0/CHANGES?view=markup
> 
>    502   * Added a new module, app_jack, which provides interfaces to
> 
> JACK, the Jack
>    503      Audio Connection Kit (http://www.jackaudio.org/).  Two 
> interfaces are
>    504      provided; there is a JACK() application, and a JACK_HOOK()
> 
> function.  Both
>    505      interfaces create an input and output JACK port.  The 
> application makes
>    506      these ports the endpoint of the call.  The audio coming 
> from the channel
>    507      goes out the output port and whatever comes back in on the
> 
> input port is
>    508      what gets sent to the channel.  The JACK_HOOK() function 
> turns on a JACK
>    509      audiohook on the channel.  This lets you run the audio
> coming from a
>    510      channel through JACK, and whatever comes back in is what 
> gets forwarded
>    511      on as the channel's audio.  This is very useful for
> building custom
>    512      vocoders or doing recording or analysis of the channel's 
> audio in another
>    513      application.
> 
> 
> 
> This most likely can do what you want, but I don't have a clear 
> understanding of the interface method at this point, and I don't know
> 
> enough about how JACK works to say what a filter would look like to 
> slow down or speed up audio without distorting the pitch.  Let us 
> know if this is the right solution, and the methods and details of 
> any successful tests!

Sweet, I knew someone had started running with this idea. Some dev problems I was dealing with before had kept me held back in early 1.4 releases for so long I hadn't been able to look really at 1.6 was getting in new features.

Jack would be a very good place to start. This would let you write your own filter app with possibly even a 3rd communications point that allowed you to communicate pitch change or speed change. Last time I dealt with jack, hooking up filters and such wasn't too difficult. But I never did bother with getting into the filters though. I assume it shouldn't be too difficult as the libraries are already written.

I know somewhere or another I saw a OSS project that already had a library for speed up and slow down. hook the two together and plumb it and you are done.



-- 
Steven Critchfield critch at basesys.com



More information about the asterisk-dev mailing list