Abstract
This thesis aims to create a prototype that has minimal technical requirements and increases the immersion of general computer usage through binauralization. The program registers incoming audio sources, that are represented through a window and then transforms the percieved position of the audio to match its perceived location on screen, creating an immersive three-dimensional audio field, while using regular two-dimensional screens. This is done through the application of virtual audio cables that separate audio objects from the standard output and delegate them to a Digital Audio Workstation. There, the audio gets binauralized to match the location of the process window and is then returned to the standard speaker output. Through this process the audible position is able to be changed in real time, should the window be moved on screen.
Simplified representation of the virtual relocation of audio producing tabs.
Setup Guide
To setup this prototype on your desktop head to Github and install the code. Make sure you have all the required programs, extensions, and versions as mentioned in the README file. Next, you need to set up your reaper programs correctly.
First, after downloading Reaper and its plugins, it is vital to connect the SWS and SPARTA extensions with reaper. After unpacking the folders and running the installers, all extensions need to be activated in Reaper. Under Preferences and VST, short for virtual studio technology, Reaper asks the user to add the plugin directory paths to a list. Afterwards Reaper needs to re-scan for all plugins and clear its previous cache to ensure that the new extension is detected. After installing everything correctly, the added features should be visible in their planned location.
Next, a running audio stream is required. To do that, the input and output devices need to be set. Normally, the output endpoint of the stream should always be the standard speakers, however it is entirely possible to set this output to a specific device. Keep in mind that changing this after setup completion may take time. For the input, each project needs to be set to a different virtual cable output. Afterwards, create a new audio track and set the input to your standard Input 1. This means that this audio channel is listening to mono inputs from the previously set cable. Then, click the record button to activate this track. After setting up the audio stream, add the SPARTA binauralizer to the master track, which handles the output of the stream. This is done by clicking on the FX button and selecting the AALTO: sparta_binauralizer. After activating, the user interface for the binauralization pops up. While being a very informative visual representation of azimuth and elevation values, this interface may be closed. If the effect was correctly activated, the button should now be turquoise in color.
Lastly head to the action list and add two lua scripts, the change-binaural-script, that can be extracted from the main application and the main-script. This main-script’s sole task is to continuously reactivate itself and calling the change-binaural-script. You can extract this script from Github as well. To make this script active on startup use the SWS startup action feature that can be found under extensions. After finishing, save this project under a folder of your choice and then repeat this process for every virtual cable that you want to include in your program, changing only the input device and name of the project.
Here, a correctly set up Reaper stream is shown. On the top left, an active stream is listening to incoming sound from a set cable. In the top right corner, the text ’ReaScript: Run’ informs the user, that a script is active. The bottom left track, titled MASTER, has an active FX button, signaling that the binauralizer is active for this stream.
External Links and Sources
- Example Videos:
- Github
- Thesis: AudioSpatialization_11910593