
There are two features I need in the playback application for playing sound files for an IVR application I am developing. Maybe one feature is there but I don't think the other is but perhaps people could advise me about that.

1. I need to be able to start at a specified time offset in the file. When playing is interrupted, there is a variable that can tell the number of milliseconds of audio that was played. If I want to resume playing, I need to be able to start from that point, or in fact any arbitrary point, in the file. I think I can achieve this with the uuid_fileman API command so maybe that will work. When I last looked at this I was confused as to whether the seek parameter was samples or milliseconds.

2. I want to be able to vary the speed of playback but in such a way as to keep the overall pitch of the recorded voice unchanged. There are algorithms that do this and I presume they work by removing samples from or adding samples into the audio stream. I think uuid_fileman also has a speed subcommand which kind of worked when I played with it, but it was not constant pitch.

The application I am working on is a replacement of a system that delivers human narrated information to blind people over the phone. The existing system uses old analogue Dialogic cards and has these features, and the replacement system should also have these capabilities. Recorded bulletins of information can be quite lengthy, maybe an hour or more to read right through. So this is perhaps not typical of IVR systems. People need to be able to skip around and possibly speed up or slow down the reading, but without altering the pitch of the narrator's voice. I know I can create the necessary functionality if I have the above features in the playback application. 

Note that the application will also use TTS to turn textual information into speech but that is a separate issue and not relevant here. The application still needs to handle human narrated information.

Can anyone comment on these features and, if something needs to be added, how easy it would be to do this and how it might be done?

Thank you.


Clive Lansink
Email: Clive@Lansink.Co.NZ
Phone: +64 9 520-4242
Mobile: +64 21 663-999
Fax: +64 21 789-150


