Simple Audibility Visualizer
talxlat is a Python script that monitors audio inputs and visually indicates how audible a speaker is on those inputs.
- Blatantly indicate when nobody is talking
- Clearly indicate when two people are talking (or feedback occurs)
- Indicate when a speaker may be difficult to hear
Python 3 ( https://www.python.org/downloads/ )
You probably already have this on Mac OS X.
This probably came with your Python 3 distribution. python -m tkinter
should open an ugly window. If not: Installation Instructions.
Windows:
python -m pip install pyaudio
Everything else: https://people.csail.mit.edu/hubert/pyaudio/
python -m pip install numpy
Download or clone talxlat.py
from this repository, then....
python talxlat.py
A big bright window should pop up in the upper right of your screen. If you talk and an arrow fills the bottom half of the window, things are working.
If all you see is a weird face on a green background, no matter how noisey you get, you may need to tweak the device settings (or maybe your microphone is disabled or busted).
If you don't see a window, it probably went off screen (sorry, adjustments for screen size are TODO).
In the console, you should see a list of available input devices as well as which devices were chosen for Microphone and Audio Output Monitoring.
python talxlat.py -h
This will tell you all about the command line arguments you can use to adjust how talxlat runs:
- Specify hints for the names of your Microphone and Audio Output Monitor devices.
- Adjust window position, size, and colors (and in Windows, tell it not cover everything else)
Not all computers will be able to do this, but idealy, talxlat listens both to the audio you produce (Microphone) and the audio that plays on your speakers (Audio Output Monitor). That way, when in a conference call, talxlat only shows the Mute Face when neither party is talking.
In Windows, many audio drivers allow you to "Enable Stereo Mix," which should be all you need to do.
Unconfirmed: Soundflower creates a new device to monitor audio output.
Unconfirmed: PulseAudio more advanced mixing of your audio input / inputs. You'll need to also use the right -s
argument as talxlat will not try Line In by default.
Unconfirmed: PulseAudio may also work (or actually work better). See above in OS X.
Run your speaker jack through a 3.5mm splitter, and attach the second line back into an available Line In jack. You'll need to also use the right -s
argument as talxlat will not try Line In by default.
Please let me know if you've had trouble with installation or configuration!
The digital signal processing at the heart of this is not sophisticated or terribly well researched, studied, or tested in many environments. If you have a hard time getting "heard" or if Mute Face doesn't appear when it should, I'd like to know the conditions. Or if you're a DSP nerd, I'm open to suggestions for improvement.