Audio/Video Setup
Regardless of what operating system or device you're using there will likely be some gremlins in the audio setup. This page exists to help you troubleshoot those items.
Listing Audio Devices by Device ID
Inevitably you are going to need to know your device IDs for your input and output devices. The good news is that it is relatively simple once Pulse Audio is installed. Here are the commands.
## List Microphones/Inputs
pacmd list-sources | grep -e "index:" -e device.string -e "name:"
## List Outputs
pacmd list-sinks | grep -e "index:" -e device.string -e "name:"
Once you have what you think to be the correct device IDs you can test it out with one or more of the following commands.
## Testing audio output
paplay -d 1 /usr/share/sounds/alsa/Front_Center.wav
## Testing audio input/recording
parecord -d 1 test.wav
Picking a voice for Text-to-Speech
Next we need to configure output to Festival. Festival will reference a file in the user's home directory just like the .bashrc above. You can also set this in /etc, but we'll keep it simple with the following:
echo "(Parameter.set 'Audio_Required_Format 'aiff)" > ~/.festivalrc
echo "(Parameter.set 'Audio_Command \"paplay $FILE --client-name=Festival --stream-name=Speech -d 1\")" >> ~/.festivalrc
echo "(Parameter.set 'Audio_Method 'Audio_Command)" >> ~/.festivalrc
echo "(set! voice_default 'voice_cmu_us_slt_arctic_hts)" >> ~/.festivalrc
BE ADVISED that you must know the device index to use the above. Change the "-d 1" to the index number of the device you're using for output from pulse audio. You can omit this setting if you set the default devices inside the control panels, but if you are using multiple devices that can be a little cumbersome so I've opted to use the device IDs to be sure I'm pointing to the desired output/input device.
You can convert any text you want into voice using festival's --tts switch. It works as follows:
echo "Testing speech" | festival --tts
Install/Compile the Visualizer (optional)
You can install the visualizer program called "vis" if you want a dynamic visual to go along with your text-to-speech. It's a pretty simple compile. The project is hosted on Github as dpayne/cli-visualizer
Required Libraries
sudo apt-get install libfftw3-dev libncursesw5-dev cmake libpulse-dev xterm
Compile/Install the Visualizer
cd /tmp
wget https://github.com/dpayne/cli-visualizer/archive/master.zip
unzip master.zip
cd cli-visualizer-master
export ENABLE_PULSE=1
./install.sh
You may need to set it to the specific audio device. You can add the device's ID in the "~/.config/vis/config" file. (Make sure to use the correct ID. Here I'm referencing ID by the index 1.)
echo "audio.pulse.source=1" >> ~/.config/vis/config