Как звонить используя синтетический голос в скайпе

Моя цель - использовать синтетический голос в звонках через 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>
Другие вопросы по тегам