Audapter is a software package for configurable real-time manipulation of acoustic parameters of speech that runs on general-purpose computers. It is designed for research on auditory-motor interactions in speech production, but may also be of use for certain speech signal processing applications. The current version of Audapter supports manipulation (i.e., perturbation) of the following acoustic parameters:
- Formant frequencies (F1 and F2), in both static and time-varying ways
- Fundamental frequency (F0, or pitch)
- Local timing, through time-warping
- Local intensity
- Global time delay (delayed auditory feedback)
- Global intensity
This is the MEX core of the MATLAB package. Clone this whole repository if you want to make programmatic changes to the Audapter program itself. If you just want to run Audapter, follow the Setup instructions below.
- Download the compiled .mex file from the "Releases" section of this repo, and add it to your MATLAB path. Run
Audapter('version')in the MATLAB Command Window and verify that it shows the version listed on the Releases section of this repo. - Download the accompanying repository for MATLAB files from blab-lab/audapter_matlab and add it to your MATLAB path. You must use the blab-lab fork of audapter_matlab if you are using the blab-lab fork of audapter_mex. For more info on using Audapter, see the Documentation section below.
If you are intentionally using Audapter version b2.4 or older, you will also need to download and add to your MATLAB path the blab-lab/commonmcode repository. Then, move the commonmcode folder to the bottom of your MATLAB path. The commonmcode repository is not used at all for Audapter version b2.5 (August 2026) or later.
The Audapter built-in demos (such as audapterDemo_online.m) assume you are using a Focusrite device. If you are using a different device, you will need to edit the command Audapter('deviceName', ...). For MOTU devices, the device name will be 'MOTU MicroBook'.
Focusrite (e.g., Scarlett) Generation 4 devices do not work with Audapter. Generation 1, 2, and 3 Focusrite devices are supported. Additionally, you must use the Focusrite driver version 4.65.5. This driver works on all Windows operating system versions. Newer Focusrite drivers cause MATLAB to crash when Audapter tries to take control of the device, (ie, when it 'Start's). Download drivers from Focusrite's website.
- Operating system. Audapter does not work on Mac. It is confirmed to work on Windows 10 and 11, and it should work on 8 and 7.
- If you have multiple files with the same name on your MATLAB path, MATLAB will only pick one to use. Enter
which [function-name] -allin the MATLAB Command Window to see all instances of [function-name] on the MATLAB path. Or runwhich Audapter -allto search for all instances of the .mex file. - The Audapter built-in demos assume your Current Folder is the audapter_matlab/example_data folder.
- Here is a simple script to test if Audapter can start properly:
p = getAudapterDefaultParams('male');
AudapterIO('init', p)
disp('Initialized successfully');
Audapter('deviceName', 'Focusrite USB');
Audapter('start')
Audapter('stop')
disp('Started and stopped successfully');
For further technical support, contact Chris Naber (cwnaber@wisc.edu).
- Audapter Manual for build instructions and further information.
- See also Audapter: Beyond the Manual for features specific to the blab-lab fork
The following individuals participated in the writing of Audapter (in alphabetical order of last name):
- Marc Boucek
- Shanqing Cai
- Satrajit Ghosh
- Kevin Reilly
- Virgilio Villacorta
The current maintainer of this project is:
- Shanqing Cai
The blab-lab/audapter_mex fork of Shanqing's Audapter contains additional programming by:
- Ben Parrell
- Chris Naber
- Carrie Niziolek