Моя цель состоит в том, чтобы использовать синтетическую речь в вызове Skype. Это могло использоваться в сценарии такой как являющийся на двух встречах сразу (одно локальное, одна удаленная) и не бывший способный говорить вслух (на локальной встрече).
Моя текущая попытка состоит в том, чтобы использовать Регулятор громкости PulseAudio (pavucontrol) для установки аудио монитора некоторых наушников как вход для Skype, который распознан Регулятором громкости PulseAudio как программа записи. Я затем могу использовать Фестиваль для генерала синтетическая речь. Это действительно работает, но звук, произведенный на удаленной встрече затем сразу циклы назад мне, в аудиопоток монитора наушников и затем обратно в Skype как вход! Так, это - проблема эха.
Мне нужно что-то более прямое. Как я мог передать аудио по каналу синтетической речи в Skype как вход непосредственно?
Я играл вокруг с этим, и я думаю, что нашел схему. Идея состоит в том, чтобы заставить программу синтеза речи по тексту производить на фиктивном звуковом выводе, и затем иметь скайп используют монитор того вывода как его вход.
Вот то, что я сделал:
Загрузка фиктивный драйвер
sudo modprobe snd-dummy
звуковой карты фиктивный вывод и вход должны появиться в звуковых настройках
Установка программа синтеза речи по тексту - я использую фестиваль. Протестируйте его.
festival --tts
hello world
<hit Ctrl-D>
Открываются, pulseaudio центр управления (установите его, если Вам нужно к). Считайте фестиваль что-то долго:
cat /var/log/dmesg | festival --tts
В управлении pulseaudio, измените выходной источник фестиваля на вкладке "воспроизведения" к фиктивной карте. Также измените вход на скайп, чтобы быть "монитором фиктивного вывода".
Тогда Вы сделаны! Говорить в Вашем использовании встречи
festival --tts
<test goes here>
<ctrl-d>