Software

Browse all details of the software used for the Vibravox project.

Subsections of Software

Frontend

The frontend, built with the tkinter library, consists of 9 sequential windows. The user interface is duplicated on a Wacom tablet used by the participant in the center of the spatialization sphere. Multiple threads were required to allow simultaneous actions, such as updating a progress bar while waiting for a button to be clicked.

UI Windows UI Windows

Backend

The backend part is comprising:

  • A dynamic reader implemented with the linecache library to avoid loading the entire corpus in memory when getting a new line of text.

  • A cryptography module using cryptography.fernet to encrypt and decrypt the participant identity, necessary to assert the right to oblivion.

  • A ssh client built with paramiko to send instructions to the spatialization sphere when playing the sound, changing tracks, and locating the reading head with jack_transport and ladish_control bash commands.

  • A timer with start, pause, resume and reset methods.

  • A non-bocking streaming recorder implemented with sounddevice, soundfile and queue libraries.