Skip to content

Liest Twitch Chat Automatisch oder Manuel vor mit Whitelist einfach auf die Nutzer klicken um sie hinzuzufügen oder selbst eintragen.

License

Notifications You must be signed in to change notification settings

JanisPlayer/chatspeaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ChatSpeaker

Liest den Twitch-Chat automatisch oder manuell vor. Nutzer können einfach über die Whitelist hinzugefügt werden, indem man auf deren Namen klickt, oder man kann sie manuell eintragen.

Eigener TTS-Server:

Coqui:

screen -S tts -dm bash -c 'docker run --rm -it -p 5002:5002 -v /home/tts/models/:/root/.local/share/tts --entrypoint /bin/bash ghcr.io/coqui-ai/tts-cpu -c "cd /root/TTS/server/ && python3 /root/TTS/server/server.py --model_name tts_models/de/thorsten/tacotron2-DDC"'

GPU:
Installation des NVIDIA Container Toolkits

screen -S tts -dm bash -c 'docker run --rm -it --gpus all -p 5002:5002 -v /home/tts/models/:/root/.local/share/tts --entrypoint /bin/bash ghcr.io/coqui-ai/tts -c "cd /root/TTS/server/ && python3 /root/TTS/server/server.py --model_name tts_models/de/thorsten/tacotron2-DDC --use_cuda true"'

Eine Alternative für PCs mit geringerer Leistung ist Mimic3 (eingestellt):

docker run -it -p 59125:59125 -v "${HOME}/.local/share/mycroft/mimic3:/home/mimic3/.local/share/mycroft/mimic3" 'mycroftai/mimic3'

Trage die URL deines Servers auf der Webseite unter "Eigenes TTS" ein. Ohne Proxy funktioniert dies nur mit Firefox, da HTTP-Traffic in Chrome auf HTTPS-Seiten blockiert wird.
Coqui:

http://localhost:5002/api/tts?text=&speaker_id=&style_wav=&language_id=

Mimic 3:

http://localhost:59125/api/tts?text=&voice=de_DE%2Fm-ailabs_low%23angela_merkel&noiseScale=0.333&noiseW=0.333&lengthScale=1&ssml=false&audioTarget=client

Eine weitere Alternative zu Mimic 3 ist PIPER. Es gibt Docker-Container, die jedoch das Wyoming-Protokoll nutzen. Da dies kein HTTP-Protokoll ist, muss eine Verbindung beispielsweise mit Python und Sockets hergestellt werden, und die fertige Datei wird dann über einen Webserver an den Client gesendet. Da dies umständlich sein kann, ist es einfacher, einen eigenen Docker-Container zu erstellen und die Python-Bibliothek mit einem Webserver nutzbar zu machen. Die IP-Adressen sollten natürlich aus Sicherheitsgründen nicht für jeden Server erreichbar sein, was mit IP-Tables konfiguriert werden kann.

Beispiel für IP-Tables:

sudo iptables -A INPUT -p tcp --match multiport --dports 5000,5002 -s 127.0.0.1 -j ACCEPT
sudo ip6tables -A INPUT -p tcp --match multiport --dports 5000,5002 -s ::1 -j ACCEPT

sudo iptables -A INPUT -p tcp --match multiport --dports 5000,5002 -s 164.68.125.80 -j ACCEPT
sudo iptables -A INPUT -p tcp --match multiport --dports 5000,5002 -s 10.8.0.1 -j ACCEPT
sudo ip6tables -A INPUT -p tcp --match multiport --dports 5000,5002 -s 2a02:c207:3004:7190::1 -j ACCEPT

sudo iptables -A INPUT -p tcp --match multiport --dports 5000,5002 -j DROP
sudo ip6tables -A INPUT -p tcp --match multiport --dports 5000,5002 -j DROP

Der Unterschied zwischen Tacotron 2 DDC und VITS ist hauptsächlich folgender: Tacotron 2 DDC bietet eine natürlichere Sprachausgabe. Es kann jedoch bei unbekannten Wörtern zu fehlerhaften Ausgaben kommen, wie seltsamen Lauten oder Stottern. Dagegen hilft es, den Input zu filtern und kurze, grammatisch korrekte Sätze ohne spezielle Satzzeichen zu verwenden. Das Problem liegt in der Architektur und dem Training des Modells und muss daher umgangen werden. Ein höherer Wert für max_decoder_steps (z. B. 1000) kann auch helfen, das Abbrechen von Sätzen zu verhindern. VITS-Modelle haben dieses Problem nicht, klingen aber eher roboterhaft, da sie nicht autoregressiv sind, dafür sind sie jedoch weniger anfällig für Fehler und benötigt weniger Rechenleistung.

Für Windows benötigst du WSL, damit du Docker installieren kannst.
Alternativ kannst du auch eine eigene Lösung in Python nutzen.

About

Liest Twitch Chat Automatisch oder Manuel vor mit Whitelist einfach auf die Nutzer klicken um sie hinzuzufügen oder selbst eintragen.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages