The goal of this work is to create a Real-Time Protocol-based Audio Engine software module (abbr. Audio Engine).The Audio Engine module is a set of procedures responsible for handling real-time audio at the transmitter and receiver side. The Audio Engine at the transmitter delivers sound capturing, proper sound encoding, proper preparing real-time protocol stream, and finally, sending the audio stream to the network. The responsibility of the Audio Engine at the receiver is to acquire the audio stream properly, decode it, and then play the sound properly. All these procedures are working as the real-time procedures and their main goal in deliver a good-quality, countinuous audio signal, with minimal possible delay.
The software modules, described here are prepared to work with Microsoft Windows operating systems. But the way they were written, makes it possible to port the modules to another platform. Second, these software module were designed to be used as:
A library with a strictly defined API.
A simple standalone application that would be able to transmit speech from one PC to another.
A component of an H.323 terminal, which had a simple and portable API.
This work covers two from the three submodules of the Audio Engine module: Capturing and Playing Module, responsible for proper real-time sound processing and Audio Codec Module, responsible for proper encoding and decoding sounds. The RTP Module, the third module, is not in the scope of this work.