PROJECT DOSSIER // [BABEL]VIEW SOURCEBACK TO PROJECTS →

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
MEDIA ATTACHMENTS (Images, Photos, Videos)

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…