2

My goal is to use a synthetic voice in a Skype call. This could be used in a scenario such as being in two meetings at once (one local, one remote) and not being able to speak out loud (in the local meeting).

My current attempt is to use PulseAudio Volume Control (pavucontrol) to set the monitor audio of some headphones as an input for Skype, which is recognised by PulseAudio Volume Control as a recording program. I then can use Festival to general the synthetic voice. This does work, but the sound produced in the remote meeting then immediately loops back to me, into the monitor audio stream of the headphones and then back into Skype as an input! So, it's an echo problem.

I need something more direct. How could I pipe the audio of the synthetic voice into Skype as an input directly?

1 Answer 1

2

I played around with this and I think I found a scheme. The idea is to get a text-to-speech program to output on a dummy sound output, and then have skype use the monitor of that output as its input.

Here's what I did:

Load the dummy sound card driver

sudo modprobe snd-dummy

A dummy output and input should appear in the sound settings

Install a text-to-speech program -- I use festival. Test it.

festival --tts
hello world
<hit Ctrl-D>

Open the pulseaudio control centre (install it if you need to). Have festival read something long:

cat /var/log/dmesg | festival --tts

In pulseaudio control, change the output source of festival on the "playback" tab to the dummy card. Also change the input to skype to be "monitor of dummy output".

Then you're done! To speak in your meeting use

festival --tts
<test goes here>
<ctrl-d>
3
  • Oh, that was clever! Thank you so much for your help. :D
    – d3pd
    Sep 3, 2014 at 16:24
  • Out of curiosity, would you happen to know if there is a command line way of doing the step where you set the playback of Festival (it shows up in Pulseaudio Volume Control as "ALSA plug-in [aplay]") to the dummy card?
    – d3pd
    Sep 3, 2014 at 16:27
  • From the man mage for pulseaudi, it's possible to have it run a script to configure itself, but I don't know how to set that up.
    – Gremlin
    Sep 4, 2014 at 8:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .