PyQt5 applet to launch audio effects without latency, can be used as a plugin for xcape.io Room.
In the area of Escape Room, we need to kick audio effects that play immediately to ensure the best user experience.
For example, the players complete an escape game challenge and the system must play a winning sound immediately.
To realize this, here's the magic:
- preload the audio files
- audio files must be uncompressed in
WAV
format - manage audio output devices (particularly on Windows Updates)
This standalone PyQt5 applet can be used as a plugin for xcape.io Room software.
While Audio Box has been developped for Windows 10, it can run on a Raspberry Pi.
-
First install Python 3.8.x in
C:\Python38
(Windows x86-64 executable installer from python.org) -
Download the code from this GitHub repository as a ZIP file
-
Unflate it in your plugin folder
-
Run
install.bat
with a double-click to create the Python virtual environment (venv). -
Set MQTT broker IP address in
constants.py
MQTT_DEFAULT_HOST = 'localhost' # replace localhost with your broker IP address
-
Run
run.bat
to launch AudioBox.
Pycharm Community is the free python IDE recommended for hacking the vanilla AudioBox applet.
-
Copy your audio files in
./audio
folder (useaconv.bat
to convert files toWAV
audio) -
Edit
definitions.ini
to setmqtt-sub-effects
MQTT topic (the applet inbox to receive effect launch commands) -
Edit
constants.py
to fillAUDIO_EFFECTS
dictionnary
- More constants:
ALWAYS_ON_TOP = True # the audio box is always on top of other windows HIDE_APPLET = True # the audio box is invisible (recommended when used as a plugin) UNSTOPPABLE = True # the user can't close the audio box window
Use ffmpeg
to increase .WAV
volume by 150%:
ffmpeg -i thunder3.wav -filter:a "volume=1.5" thunder4.wav
Faure Systems (Jul 8th, 2020)
- company: FAURE SYSTEMS SAS
- mail: dev at faure dot systems
- github: fauresystems
- web: Faure Systems