Author |
|
bitherder Intermediate
Joined: August 14 2007 Location: United States Posts: 9
|
Posted: August 14 2007 at 10:58am | IP Logged
|
|
|
The docs say DTMF detection must use 8KHz audio. Our application needs this feature to be implemented within LanScape. The app also needs to examine received audio as 11KHz PCM data.
Can LanScape Media Engine do both? That is, are the sample rates for those two operations independent of each other?
Is the conversion of format handled within the DTMF and rxaudio functions, or do we explicitly convert before applying data to the two functions?
|
Back to Top |
|
|
support Administrator
Joined: January 26 2005 Location: United States Posts: 1666
|
Posted: August 15 2007 at 8:01am | IP Logged
|
|
|
Hi bitherder,
Thanks for posting your questions.
<<< You
The docs say DTMF detection must use 8KHz audio. Our application needs this feature to be implemented within LanScape. The app also needs to examine received audio as 11KHz PCM data. Can LanScape Media Engine do both?
Support >>>
Yes. A good way to accomplish this would be to open a receive IVR channel for the phone lines. You do this by calling the OpenRxIvrChannel() API proc sometime after the media engine has been initialized. One of the parameters to the API proc will allow you to specify the bandwidth of the received audio you would like to have. See the ReceiveIvrDataType parameter. You would set this parameter to AUDIO_BW_PCM_11K. When a call is active, your callback procedure will be passed received audio data using 20Ms 11k PCM sample blocks. Your app can then use the 11k PCM sample block however it wants.
You must then pass the 11k sample blocks through a format/rate converter to “down sample” the 11k audio sample blocks to 8k PCM. You do this by using the format and rate conversion support in the media engine. See the CreateFormatRateConverter() API proc in the Software developer’s reference for more info. Once you have the 20Ms 8k PCM sample block, you can then feed them into a DTMF decoder your app creates. See the CreateDtmfDecoder()API proc in the developer’s reference for more info.
Support
|
Back to Top |
|
|