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