Professionelle Stimme gesucht


#1

Falls jemand jemanden kennt oder sich selbst berufen fühlt:

Ich denke es wäre super cool, wenn wir anstelle der verfremdeten Siri Stimme einen echten Menschen aus dem TonUINO hören könnten.


#2

Hallo Thorsten,

welche Texte werden benötigt und in welchem Format sollen sie vorliegen?
Ich würde gerne die Text in diese Stil erstellen: https://clyp.it/ioftu0gz#
Kann man mit http://fromtexttospeech.com/ (German, Michael, Medium) machen.

LG Martin


#3

Ich hab mir mal die aktuellen Dateien aus GitHub geladen und schau mal.


#4

Computer generierte Stimmen sind ja schon vorhanden.


#5

Hier wäre halt die Lizenz zu beachten. Da wären eigene Aufnahnen unter Public Domain deutlich sicherer.


#6

Habe fromtexttospeech mal angeschrieben unter welcher Lizenz die Dateien stehen. Die scheinen sich ja über Werbung zu finanzieren.


#7

Also soooo gut finde ich die Sprachausgabe jetzt nicht - da gefällt mir die Siri Stimme fast besser.

Die neue Google Stimme ist krass, aber gleiches Problem. https://cloud.google.com/text-to-speech/


#8

Amazon Polly kann ich empfehlen. Dort ist caching und offline replay erlaubt. Eine echte Lizenzvereinbarung kann ich aber auf die Schnelle nicht finden. Eine synthetische Stimme hätte den Vorteil, dass man bei neuen Funktionen nicht zurück ins Tonstudio müsste.

Amazon Polly allows for unlimited replays of generated speech without any additional fees. You can create speech files in standard formats like MP3 and OGG, and serve them from the cloud or locally with apps or devices for offline playback.


#9

Die Google Stimmen klingen wirklich gut. Ich kann online nichts zu den Nutzungsbedingungen finden.
Gibt es denn überhaupt ein Problem, wenn wir ein Skript zur Verfügung stehen würden welches die Sprachdateien erzeugt? Man würde die Dateien ja nicht „verteilen“ oder gar verkaufen.


#10

Das ist ja nicht anders als jetzt auch mit der Siri Stimme. Vorteil is halt (nen Mac vorausgesetzt) man kann sich mal eben neue Prompts machen für den Privatverbrauch. Wenn einer keinen Mac hat, wäre es sicher cool wenn wenn wir Ausweichmöglichkeit hätten die auch okay klingt. Von der Idee einer professionellen Stimme abgesehen.


#11

Das meinte ich. Dann werde ich mich an dem APIs probieren. Ob die Dateien auch auf GitHub veröffentlicht werden dürfen ist dann eine andere Frage.


#12

Ich habe ein paar Typos in create-soundfiles.sh gefixt und die Reihenfolge sortiert, bin aber zu doof die Datei bei Github hochzuladen… was muss ich genau tun?


#13

In das offizielle TonUINO Repo kannst Du die Datei selber nicht hochladen. Du kannst das Repo Forken, die Änderungen vornehmen und dann einen Pull Request machen. Wenn Thorsten mit den Änderungen einverstanden ist kann er den Pull Request mergen oder eben auch nicht.


#14

Ich habe mich mal für die Google-API angemeldet, scheint aber komplizierter zu sein als gedacht.
Zumindest wenn man am Schluss fertige MP3-Dateien haben möchte.

In welcher Umgebung habt Ihr denn diese SH-Skripte laufen lassen?


#15

Das Shellscript in Thorstens Repo läuft unter MacOS X.


#16

Das passt gut - ich schaue mir zuerst die Amazon API an. Ich werde es mit PowerShell machen. Primär für die Windows User, aber inzwischen ist PowerShell ja auch unter MacOS und Linux lauffähig.


#17

Für “meinen” Tonuino habe ich das mit der Google Wavenet Sprachsynthese via API gemacht. Hier mein krudes Skript:

#!/bin/bash
# replace google api key with your key
GOOGLE_API_KEY=ABCDEFGH12345678

for i in {1..255}
do
  j=$(printf %04d $i)
  echo $j
  curl --header "Content-Type: application/json; charset=utf-8" --data "{
    'audioConfig': {'audioEncoding': 'MP3','speakingRate': 1.00,'sampleRateHertz': 44100,'pitch': 0},
    'voice': {'languageCode': 'de-DE','name': 'de-DE-Wavenet-C'},
    'input': {'text': '${i}'}
  }" "https://texttospeech.googleapis.com/v1/text:synthesize?fields=audioContent&key=${GOOGLE_API_KEY}" | php -r "print(json_decode(file_get_contents('php://stdin'),true)['audioContent']);" | base64 --decode > mp3.johannes/${j}.mp3
done

s="$(cat << EOF
0300_new_tag|Diese Karte kenne ich noch nicht! Verwende die Lautstärke-Tasten um einen Ordner für die Karte auszuwählen. Drücke die Pause-Taste um die Auswahl zu speichern.
0310_tag_linked|Alles klar, ich habe die Karte mit dem Ordner verknüpft. Wähle nun mit den Lautstärke-Tasten den Wiedergabemodus aus.
0311_mode_random_episode|Hörspiel-Modus: Eine zufällige Datei aus dem Ordner wiedergeben.
0312_mode_album|Album-Modus: Den kompletten Ordner wiedergeben.
0313_mode_party|Party-Modus: Ordner zufällig wiedergeben.
0314_mode_single_track|Einzel-Modus: Eine bestimmte Datei im Ordner wiedergeben.
0315_mode_audio_book|Hörbuch-Modus: Einen Ordner wiedergeben und den Fortschritt speichern.
0320_select_file|OK, wähle nun bitte die Datei mit den Lautstärke-Tasten aus.
0316_admin|Administrator-Funktionen.
0800_reset_tag|Bitte lege die Karte, die du löschen möchtest, auf! Zum Abbrechen einfach eine der Lautstärke-Tasten drücken.
0801_reset_tag_ok|OK, du kannst die Karte nun wieder neu konfigurieren.
0802_reset_aborted|OK, ich habe den Vorgang abgebrochen.
0999_reset_ok|Reset wurde durchgeführt!
0330_say_number_ask|Soll ich vor einer Datei jeweils die Nummer ansagen? Du kannst jederzeit durch einen langen Druck auf die Pause-Taste die aktuelle Nummer abfragen.
0331_say_number_no|Nein, Nummer nicht ansagen.
0332_say_number_yes|Ja, Nummer ansagen.
0400_tag_ok|OK. Ich habe die Karte konfiguriert.
0401_error|Schade! Das hat leider nicht geklappt!
EOF)"
IFS=$'\n'
for a in `echo "$s"`; do
  j=`echo $a | cut -f1 -d'|'`
  i=`echo $a | cut -f2 -d'|'`
  curl --header "Content-Type: application/json; charset=utf-8" --data "{
    'audioConfig': {'audioEncoding': 'MP3','speakingRate': 1.00,'sampleRateHertz': 44100,'pitch': 0},
    'voice': {'languageCode': 'de-DE','name': 'de-DE-Wavenet-C'},
    'input': {'text': '${i}'}
  }" "https://texttospeech.googleapis.com/v1/text:synthesize?fields=audioContent&key=${GOOGLE_API_KEY}" | php -r "print(json_decode(file_get_contents('php://stdin'),true)['audioContent']);" | base64 --decode > mp3.johannes/${j}.mp3
done

#18

Danke Johannes. In welcher Umgebung lässt Du das Skript denn dann laufen?


#19

Das Shellscript sollte man unter Linux und Mac OS X ans laufen bekommen wenn man alle Abhängigkeiten (php cli etc) installiert.


#20

Ich hab das Skript unter macOS laufen lassen und mit brew alle nötigen Pakete installiert. Sollte aber genauso unter Linux laufen.