getUserMedia
to read audio, and then the experimental AudioWorkletNode
API to echo it back. As of 2020-04 this API is only implemented in
Blink-based browsers: Chrome, Edge, Brave, and Opera.
Headphones are recommended, to avoid feedback. If it makes annoying noises, refresh the page to make it stop.
When ready, press any key. You'll need to give it permission to read from your microphone.