diff --git a/profile/aufzug-notdienst/ansage.ogg b/profile/aufzug-notdienst/ansage.ogg new file mode 100644 index 0000000..0aa6cb4 Binary files /dev/null and b/profile/aufzug-notdienst/ansage.ogg differ diff --git a/profile/aufzug-notdienst/ansage.txt b/profile/aufzug-notdienst/ansage.txt index 9f7edeb..50b7154 100644 --- a/profile/aufzug-notdienst/ansage.txt +++ b/profile/aufzug-notdienst/ansage.txt @@ -1 +1 @@ -Sie erreichen den 24-Stunden-Notdienst für Aufzugsanlagen der Musterfirma. Befindet sich eine Person eingeschlossen im Aufzug, nennen Sie bitte sofort die genaue Adresse und die Aufzug-Nummer. Bitte hinterlassen Sie danach Ihr Anliegen und Ihre Rückrufnummer nach dem Signal. Wir rufen Sie umgehend zurück. +Aufzug-Notdienst, Testansage. Bitte hinterlassen Sie eine Nachricht nach dem Signal. diff --git a/telefon/ansage_bauen.sh b/telefon/ansage_bauen.sh index 6dec301..93033b6 100755 --- a/telefon/ansage_bauen.sh +++ b/telefon/ansage_bauen.sh @@ -3,16 +3,18 @@ # siehe README). # Ergebnis: telefon/ansage.wav in Telefonqualitaet (8 kHz mono, PCM16). # -# Drei Sprachsynthesen: +# Vier Quellen: # piper (Standard, natuerlicher, lokal) - Modelle unter ~/piper-voices # say (macOS-Bordmittel, lokal, Rueckfall wenn Piper fehlt) # mistral (Voxtral-API, Cloud - nur fuer diesen einmaligen Erzeugungslauf; # die fertige ansage.wav wird danach lokal fuer jeden Anruf # wiederverwendet, es geht dabei keine Patientendaten raus) +# datei (echte Aufnahme statt Synthese - profile/$PROFIL/ansage., +# ansage.txt wird dabei nicht gelesen) # # Steuerung ueber Umgebungsvariablen bzw. .env: # PROFIL= -# ANSAGE_TTS=piper|say|mistral +# ANSAGE_TTS=piper|say|mistral|datei # ANSAGE_STIMME= # ANSAGE_EMOTION= + # (erste gefundene Endung gewinnt). ansage.txt wird in diesem Modus nicht + # gelesen; sie bleibt trotzdem als Beleg/Backup stehen, was gesagt wird. + QUELLE="" + for ext in ogg mp3 wav m4a aiff; do + if [ -f "profile/$PROFIL/ansage.$ext" ]; then + QUELLE="profile/$PROFIL/ansage.$ext" + break + fi + done + [ -n "$QUELLE" ] || { + echo "Keine Ansage-Audiodatei gefunden (profile/$PROFIL/ansage.{ogg,mp3,wav,m4a,aiff})" >&2 + exit 1 + } + ffmpeg -v error -y -i "$QUELLE" -ar 8000 -ac 1 "$TMP/sprache.wav" + BESCHREIBUNG="datei/$QUELLE" + ;; piper) MODELL="$STIMMEN_ORDNER/$STIMME.onnx" [ -f "$MODELL" ] || { echo "Piper-Stimme fehlt: $MODELL" >&2; exit 1; }