• Adi Perlov & Reut Mizrachi

A Band Without Soloist

Create a software which sings according to the tempo of a track in real-time.


The project was written in C++ for the Text To Speech (TTS) section, And in C# for monitoring the BPM in real-time. The code can be found here and here.


Our project receives the lyrics as a text file, and an audio stream through the microphone. According to the BPM, we determine the speaking rate (the speech rate increases when the song becomes faster).

Technical details: The project can be divided into two sections. The first is responsible for the speaking, and the second is responsible to listen to the microphone stream and to analyze the BPM. In order to control the speaking rate on request, we used Microsoft Speech API (SAPI) 5.4 SDK. And IBT (INESC Beat Tracking) for the BPM analyzing. By monitoring the BPM we can conclude the tempo (speed/rhythm of a melody) and change the speaking rate in real time according to it. In addition, we added an option to pause the speaking through the GUI.

Contact Us:

Adi Perlov: adiper8@gmail.com Reut Mizrachi: mizreut@gmail.com