web-dev-qa-db-fra.com

comment appeler en utilisant une voix synthétique dans Skype

Mon objectif est d'utiliser une voix synthétique dans un appel Skype. Cela pourrait être utilisé dans un scénario tel que d'être dans deux réunions à la fois (une locale, une distante) et de ne pas pouvoir parler à haute voix (lors de la réunion locale).

Ma tentative actuelle consiste à utiliser PulseAudio Volume Control (pavucontrol) pour définir le son du moniteur de certains écouteurs comme entrée pour Skype, qui est reconnu par PulseAudio Volume Control comme un programme d'enregistrement. Je peux ensuite utiliser Festival pour généraliser la voix synthétique. Cela fonctionne, mais le son produit lors de la réunion à distance me revient immédiatement en boucle, dans le flux audio du moniteur du casque, puis dans Skype en tant qu'entrée! C'est donc un problème d'écho.

J'ai besoin de quelque chose de plus direct. Comment pourrais-je diriger directement l'audio de la voix synthétique dans Skype en tant qu'entrée?

1
d3pd

J'ai joué avec ça et je pense avoir trouvé un schéma. L'idée est d'obtenir un programme de synthèse vocale à émettre sur une sortie sonore factice, puis de demander à skype d'utiliser le moniteur de cette sortie comme entrée.

Voici ce que j'ai fait:

Chargez le pilote de carte son factice

Sudo modprobe snd-dummy

Une sortie et une entrée factices devraient apparaître dans les paramètres sonores

Installer un programme de synthèse vocale - j'utilise festival. Essaye-le.

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

Ouvrez le centre de contrôle pulseaudio (installez-le si nécessaire). Demandez au festival de lire quelque chose de long:

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

Dans le contrôle pulseaudio, changez la source de sortie du festival sur l'onglet "lecture" sur la carte factice. Modifiez également l'entrée en skype pour qu'elle soit "moniteur de sortie factice".

Alors vous avez terminé! Pour parler lors de votre réunion, utilisez

festival --tts
<test goes here>
<ctrl-d>
1
Gremlin