Benutzer-Werkzeuge

Webseiten-Werkzeuge


ki-ai:thorsten_voice_-_ein_stimmme_fuer_dich

Dies ist eine alte Version des Dokuments!


Thorsten-Voice - ein Stimme für dich

Du möchtest dich gerne für unsere Hilfe erkenntlich zeigen 8-o. Gerne. Wir bedanken uns bei dir für deine Spende! 🙏


Zum frei verfügbaren Apt-Repository
GITLAB:

Thorsten-Voice ist deutsche künstliche Stimme die Offline, ohne Cloudanbindung verwendet wird (PiperTTS).

Merkmale von Thorsten-Voice:

  • für Bildungseinrichtungen und Inklusion
  • IT / KI Projekte in Schulen
  • Content-Creator (YouTube, TikTok, Instagram, Twitch, …)
  • Öffentliche und soziale Organisationen (Museen, Kulturvereine,
  • kommunale Behörden)
  • Software Projekte (Open-Source oder kommerziell)
  • Unterstützung beim Lesen (Screenreader)
  • kostenlose Computerstimme
  • Funktioniert ohne Internetverbindung
  • Keine rechtlichen Einschränkungen

Installation auf Ubuntu 26.04 LTS:

Als Erstes installiere das Paket für ein virtuelles Python-ENV nach. Das musst du nicht tun, hat aber den Vorteil das dein System so von den zusätzlichen Pythonlibs nicht beeinträchtigt werden kann.

apt install python3-venv

Benutzer anlegen, damit Thorsten nicht mit Rootrechten läuft:

adduser speak

Danach wechseln wir zum User „speak“ und erstellen unser virtuelles Python ENV:

VENV aktivieren und betreten:

python3 -m venv /home/speak/voice
source /home/speak/voice/bin/activate

Nun installierst du die Software inkl. Webschnittstelle:

pip install piper-tts[http] piper-tts[alignment] piper-tts

Als letzten Schritt muss das gewünschte Modell noch heruntergeladen werden. Hierfür erstellen wir einen Unterordner und laden dort die beiden Modelle herunter:

mkdir /home/speak/voice-models
cd /home/speak/voice-models
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten_emotional/medium/de_DE-thorsten_emotional-medium.onnx
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten_emotional/medium/de_DE-thorsten_emotional-medium.onnx.json
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten/high/de_DE-thorsten-high.onnx
wget https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/de/de_DE/thorsten/high/de_DE-thorsten-high.onnx.json

Oder Karlsson als Alternative:

wget https://huggingface.co/rhasspy/piper-voices/blob/main/de/de_DE/karlsson/low/de_DE-karlsson-low.onnx
wget https://huggingface.co/rhasspy/piper-voices/blob/main/de/de_DE/karlsson/low/de_DE-karlsson-low.onnx.json

Wir haben nun zwei Modelle zur Verfügung:

  1. Neutrale Sprachausgabe
  2. Emotionale Sprachausgabe

Benutzung direkt auf dem Gerät wo Thorsten installiert wurde

Grundsätzlich wurde Thorsten-Voice für die Generierung von Wave-Dateien konzipiert. Dies kann folgendermaßen auf dem Gerät erfolgen:

echo "Hallo das ist ein Test." | piper -m /home/speak/voice-models/de_DE-thorsten-high.onnx -f ausgabe-neutral.wav

Damit wird also ein Wav-File generiert das verwendet werden kann.
Oder das ganze mit einer Emotion verbunden:

echo "Hallo das ist ein Test." | piper -m /home/speak/voice-models/de_DE-thorsten_emotional-medium.onnx -f ausgabe-emotional.wav --speaker 1

Hier noch die Übersicht der verschiedenen emulierbaren Emotionen:

Benutzung auf einem externen Gerät z.B einem Desktop Rechner

Hierfür starten wir den Webserver (HTTP API) in dem virtuellen Python ENV. Nicht vergessen in das ENV einzusteigen:

source /home/speak/voice/bin/activate

Webserver starten → auf Port 5000:

python3 -m piper.http_server -m /home/speak/voice-models/de_DE-thorsten-high.onnx

Nun kann vom Client aus ein Wav generiert werden:

curl -X POST -H 'Content-Type: application/json' -d '{ "text": "Das ist ein Test." }' -o test.wav <hostname von deinem Server>:5000/synthesize

Um direkt zu sprechen, ohne eine Wav zu generieren, ist ein Ausgabeprogramm erforderlich. Paplay eignet sich hervorragend dafür. Dies ist im Standard von Ubuntu nicht enthalten und muss nach installiert werden:

apt install paplay

Nun können wir Thorsten so sprechen lassen:

curl -s  -X POST -H 'Content-Type: application/json' -d '{ "text": "Das ist ein Test." }' <hostname von deinem Server>:5000/synthesize | paplay

Zusätzlich gibt es auch noch die Python API. Um z.B. verschiedene AI's anzubinden. Auf dieser wird hier aber nicht näher eingegangen, da dies den Rahmen sprengen würde.

Weitere deutsche Stimmen können hier heruntergeladen werden. Das Prinzip ist dasselbe wie bei Thorsten-Voice. Samples gibt es hier.

Die WebUI kann für Tests auch direkt aufgerufen werden: http://<hostname von deinem Server>:5000

Automatischer Start mit Systemd

Auf Dauer ist es natürlich komfortabler den Dienst gleich mittels Systemd abzubilden. Hierzu erstellen wir pro Stimme, die wir verwenden möchten, ein neues Systemd-Service. Hier das Beispiel mit unserem Thorsten:

EDITOR=nano systemctl edit --force --full voice-thorsten.service

Mit diesem Inhalt:

[Unit]
Description=Piper TTS HTTP Server (thorsten Voice)
After=network.target
 
[Service]
Type=simple
User=speak
WorkingDirectory=/home/speak
ExecStart=/bin/bash -c 'source /home/speak/voice/bin/activate && /home/speak/voice/bin/python3 -m piper.http_server -m /home/speak/voice-models/de_DE-thorsten-high.onnx'
Restart=on-failure
RestartSec=5
 
[Install]
WantedBy=multi-user.target

Danach noch aktivieren und starten:

systemctl enable --now voice-thorsten.service

Ab jetzt startet das Service bei jedem Systemstart und muss nicht mehr manuell aktiviert werden.

ki-ai/thorsten_voice_-_ein_stimmme_fuer_dich.1788206061.txt.gz · Zuletzt geändert: von boospy