01 // PROJECT AT A GLANCE
BABEL
C++A voice calling application: capturing, compressing, transmitting and replaying the voice in real time.
Building the equivalent of a simplified Skype: a user directory, the ability to call someone, and above all live voice transmission. The constraint is what makes the project hard — the voice tolerates no delay, and the network guarantees neither speed nor order of arrival.
A C++ client and server with Boost.Asio, audio capture and playback through PortAudio, Opus compression, a directory persisted in SQLite and a documented binary protocol.
MEDIAARCHIVED RECORD
03 // KEY OUTCOMES
- A complete audio chain: capture, Opus encoding, transport, decoding, playback
- A binary protocol specified in a dedicated document
- The latency / stability trade-off, the major real-time constraint
BEYOND THE BRIEF
- CircleCI continuous integration configured on the repository
- Installation and build scripts provided (install.sh, build.sh, clear.sh) to absorb the Conan and Qt dependencies
- A dedicated exception hierarchy per subsystem (ErrorAOpus, ErrorPortAudio, CantUsePA, ErrorSql, FataleErrorSql)
04 // SOURCE TREE
READING SOURCE…