[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