Llorach*, G., Ohlenbusch*, M. and Brand T. 2021. Live Voice Transformations For Web Conferencing Using The Browser. Demo for the Web Audio Conference 2021, July 5-7. https://webaudioconf2021.com/demo-1/
*Corresponding authors.
This repository contains a simple vocoder that works with live input. The vocoder uses LPC coefficients to do voice transformations and/or visualization of the vocal tract in real-time. The output signal is synthesized with an overlap and add routine. The description of the project is organized in chapters.
This demo works only with Chrome (the only browswer that supports Audio Worklets right now?)
https://web-based-vocoder.github.io/
Hint: Drag and drop audio files (.wav and .mp3) at the bottom of the webpage to test it with your own files!
Video demo: https://youtu.be/5dy-rxXkHMk
An introduction to the Web Audio API and AudioWorklets.
An introduction to the speech production model and linear predictive coding (LPC).
Audio blocks, buffers and frames with the Web Audio API.
The LPC coefficients and the Levinson algorithm.
Excitation signals, signal energy, pitch detection and filtering.
Transformation of K coefficients (PARCOR coeff) and vocal tract length modifications.
Canvas HTML, microphone input, drag and drop of audio files.
2D interface for voice transformations (gender and age).
Vocal tract shape estimation.
A list of problems that come with the app.
- 2D interface (age - gender)
- Add Vibrato: sinusoid (vibrato) and noise (jitter). The pitch modulations are not exactly periodic, but not random either.
- Implement pitch transformations when using the error signal (Impuse Excitation OFF).
- Manual resampling? (Audiocontext downsampling adds artifacts)