Skip to content

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 …

License

Notifications You must be signed in to change notification settings

Web-based-vocoder/web-based-vocoder.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web-based vocoder with Audio Worklets and live input

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.

Description

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?)

Live demo

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

Chapters

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.

Future work

  • 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)

About

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 …

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published