Was mich daran überraschte, wie klein das Modell ist, wenn ich Text zu Sprache auf unserer eigenen Hardware laufen lässt. Eine Datei, 78 MB, mit 904 verschiedenen Lautsprechern. Das ist weniger als ein Telefonfoto-Burst und etwa ein Zehntel des Gewichts eines einzelnen Sprachmodells der Mittelklasse, und daraus wird eine Stimme hervorgerufen, die Sie nicht sofort als synthetisch platzieren würden. Ich habe drei der acht Stimmen gemessen, die das Tool aufzeigt: Ihre mittleren Tonhöhen sind 103 Hz, 184 Hz und 242 Hz, was ein echter Bereich von einer niedrigen männlichen Stimme bis zu einer hohen weiblichen ist, und zwar aus derselben Datei mit einer anderen Anzahl angegebener Nummer.
tl; dr: Der Motor läuft auf der eigenen Box, die das Libritts-R-Modell verwendet. Gemessen: 113 Zeichen erzeugten 5,8 bis 6,1 Sekunden Audio in etwa 3 bis 4 Sekunden Wandzeit, so dass es schneller synthetisiert, als Sie hören können. Sie erhalten einen 22.050 Hz Mono WAV, was ungefähr 2,6 MB pro Minute entspricht. Die Geschwindigkeitsregelung funktioniert, ist aber komprimiert: Der gesamte Bereich von 0,7 bis 1,5 erzeugt eine Laufzeit von 1,61-fachen statt des 2,14-fachen Die Zahlen implizieren und 0,85 ist nicht von 1,0 zu unterscheiden. Der gleiche Text ist nie zweimal der gleiche Ton. der Text-zu-Speech-Tool Caps-Eingabe mit 3.000 Zeichen.
Was macht das Sprechen?
Piper, eine neuronale Text-to-Speech-Engine, die neben der Web-App als eigener Container ausgeführt wird, mit einem Modell, das auf trainiert ist Libritts-Rdrohen
Dieser Korpus ist es wert, darüber zu wissen, weil er sowohl die Qualität als auch den Charakter der Ausgabe erklärt. Es sind ungefähr 585 Stunden Lese-Englischsprache, ursprünglich aus den Librivox-Hörbuchaufzeichnungen, und dann ein Sprachwiederherstellungsmodell durchgeführt, um die Aufnahmequalität des Ausgangsmaterials zu bereinigen. Die Redner sind Freiwillige, die öffentlich-Domain-Bücher lesen.
Die Stimmen klingen also wie Leute, die laut lesen, denn genau das haben sie getan. Das Modell ist gut darin, Sätze und Prosa-Absätze zu deklarieren, was es gehört hat. Es ist weniger überzeugend bei irgendetwas Gespräch, weil niemand in den Trainingsdaten ein Gespräch geführt hat.
Die Modelldatei enthält 904 Lautsprecher und das Werkzeug stellt acht davon frei. Die IDs im Code sind die eigenen Modelle, die eher den Bereich überspannen als die besten Acht. Dies ist eine Unterscheidung, die es wert ist, wenn keine der acht für Sie geeignet ist.
Unterscheiden sich die acht Stimmen voneinander?
Ja, messbar. Ich habe in drei von ihnen denselben Satz erstellt und die mediane Grundfrequenz der stimmhaften Frames berechnet:
| Stimme | Sprecher-ID | Median F0 |
|---|---|---|
| Stimme 2 | 3 | 103,3 Hz |
| Stimme 5 | 45 | 183,8 Hz |
| Stimme 8 | 150 | 242,3 Hz |
Das sind keine Variationen eines Themas. Die männliche Sprache für Erwachsene liegt in der Regel bei 85 bis 155 Hz und bei einer erwachsenen weiblichen Sprache bei 165 bis 255 Hz, so dass diese drei unten, der Mitte und der Oberseite des normalen menschlichen Bereichs sitzen.
Die Dauer war fast identisch, 2,07 bis 2,08 Sekunden für denselben Satz, sodass das Wechseln der Stimme die Klangfarbe und die Tonhöhe ohne Änderung des Tempos ändert. Das macht die acht wirklich austauschbar für ein bestimmtes Skript, was wichtig ist, wenn Sie eine Reihe von Clips produzieren und einen neu aufnehmen möchten.
Wie schnell ist es?
Schneller als Zuhören, was die Zahl ist, die zählt.
| Messen | schätzen |
|---|---|
| Eingabe | 113 Zeichen |
| Audio produziert | 5,77 bis 6,08 Sekunden |
| Wandzeit | 2.994 bis 3.929 ms |
| Verhältnis | Etwa 1,5 bis 1,9 mal in Echtzeit |
Eine Audiominute dauert also dreißig bis vierzig Sekunden, und das maximale 3.000-Zeichen-Minuten-Minuten ergibt sich bei etwa zwei- und dreiviertel Minuten Rede für etwas weniger als zwei Minuten Wartezeit.
Die Einschränkung ist, dass jeweils eine Anfrage bedient wird. Der Server läuft absichtlich einen einzigen Synthese-Slot: gemessen auf der Box, allein ein Text dauert etwa 2,2 Sekunden und drei dauert auf einmal etwa 9 Sekunden, so dass Parallelität insgesamt nichts kauft und die erste Person in der Warteschlange sieben Sekunden kostet. Bis zu zwanzig Anfragen können warten, nach dem Tool heißt es, dass es viel los ist, anstatt Sie einige Minuten warten zu lassen.
Es gibt auch ein Budget von zwanzig Generationen pro Besucher, das alle zehn Minuten so hoch ist, dass der normale Gebrauch es nie trifft und niedrig genug ist, dass niemand die Box in eine kostenlose Hörbuchfabrik verwandelt.
Was bekommst du zurück?
Eine WAV-Datei, unkomprimiert, und die Größe ist zu wissen, bevor Sie eine lange erstellen.
codec pcm_s16le
sample rate 22,050 Hz
channels 1 (mono)
bit depth 16
Das sind 44,1 KB pro Sekunde Audio, also ungefähr 2,6 MB pro Minuteund ein voller Lauf mit 3.000 Zeichen landet in der Nähe von 7 MB. Die obige 113-Zeichen-Probe betrug 254.508 Bytes für 5,77 Sekunden.
Unkomprimiert ist die richtige Standardeinstellung für etwas, das Sie bearbeiten oder konvertieren möchten, da es das Format ist, das jeder Editor ohne Beschwerde annimmt und kein Generierungsverlust hinzuzufügen ist. Es ist die falsche Standardeinstellung für etwas, das Sie hochladen oder per E-Mail senden möchten, und der Fix ist ein Schritt: Führen Sie den Wav durch der Audiokonverter und nehmen Sie die MP3 oder M4A. Seine Anleitung Cover, die ausgewählt werden soll, und die kurze Antwort für die Rede lautet, dass alles bei oder über 128 KBit / s in Ordnung ist.
Die 22.050 Hz-Rate ist das Modell des Modells und die Hälfte der CD-Rate. Es ist erwähnenswert, dass Libritts-R bei 24 kHz verteilt ist, so dass das Modell unterhalb der Rate des Korpus ausgibt, aus dem es gelernt hat, nämlich die eigene Konfiguration von Piper und nicht alles, was hier verloren geht. Für eine Stimme ist es so oder so unauffällig, da die Sprachenergie deutlich unter 11 kHz liegt, was 22.050 Hz trägt. Dies bedeutet, dass die Ausgabe nicht als Studioaufnahme übergeben wird, und das erneute Abtasten nach oben fügt nichts hinzu.
Macht die Geschwindigkeitsregelung das, was sie sagt?
Es ändert die Geschwindigkeit und nicht so viel, wie es die Zahl vermuten lässt. Dies ist die gemessene Kurve:
| Geschwindigkeitseinstellung | Dauer | Verhältnis zu 1,0 | linear würde geben |
|---|---|---|---|
| 0,7 | 7.268 s | 1.195 | 1.429 |
| 0,85 | 6.142 s | 1.010 | 1.176 |
| 1.0 | 6.084 s | 1.000 | 1.000 |
| 1.25 | 5.271 s | 0,866 | 0,800 |
| 1.5 | 4.516 s | 0,742 | 0,667 |
Monoton, so dass die Steuerung in der von Ihnen erwarteten Richtung arbeitet und an beiden Enden komprimiert wird. Der volle Bereich von 0,7 bis 1,5 sollte eine 2,14-fache Laufzeit haben und 1,61x misst. Die Einstellung von 0,85 liegt innerhalb von 1% von 1,0, das heißt, es tut nichts, was Sie hören können.
Der Mechanismus besteht darin, dass die Einstellung als Dauerskala an das Modell übergeben wird und der eigene Dauervorhersager entscheidet, wie lange jedes Phonem dauert. Es behandelt die Skala eher als starken Hinweis als als Multiplikator.
Die praktische Lesung: Verwenden Sie 0,7 oder 1,5, wenn Sie ein merklich andere Tempo wünschen, und erwarten Sie nicht, dass die Zwischeneinstellungen Ihnen eine gute Kontrolle geben. Wenn Sie eine genaue Dauer benötigen, generieren Sie bei 1,0 und ändern Sie das Tempo in einem Audio-Editor, wobei die Zahl das bedeutet, was es sagt.
Warum ist der gleiche Text nie zweimal der gleiche Ton?
Denn das Modell trifft eine neue Entscheidung über das Timing bei jedem Lauf.
Ich habe zweimal eine identische Anfrage gesendet, den gleichen Text, die gleiche Stimme, die gleiche Geschwindigkeit. Die Ergebnisse waren 6,084 Sekunden und 6,002 Sekunden, und die Dateien unterscheiden sich Byte für Byte. Nichts wird zwischengespeichert und nichts wird ausgesät.
Das ist dieser Modellfamilie inhärent: Der Dauerprädiktor ist stochastisch, so dass die Phonemlängen zwischen den Läufen auch bei fester Eingabe variieren. Die hier gemessene Variation beträgt etwa 1,4%, was als Geschwindigkeitsunterschied unhörbar und deutlich als Differenz der Dateilänge sichtbar ist.
Zwei Konsequenzen. Wenn eine Aufnahme eine unangenehme Pause oder ein Wort hat, das seltsam gelandet ist, ist das Erzeugen wieder eine echte Lösung als ein Aberglaube. Und wenn Sie eine Reihe von Clips produzieren, die übereinstimmen müssen, generieren Sie sie in einer Sitzung und behalten Sie das, was Sie erhalten, da Sie morgen für eine Ersatzlinie eine Zeile erhalten, die einen Bruchteil einer Sekunde verschieden ist.
Warum gibt es eine 3.000 Zeichen-Limit?
wegen dem, was dahinter steckt, und nicht durch den Text.
Dreitausend Charaktere sind ungefähr zwei- und dreiviertel Minuten Rede und ungefähr 7 MB WAV, die in einem einzigen Synthese-Slot produziert werden, den jeder teilt. Ein Kapitel mit 30.000 Zeichen würde diesen Steckplatz für zwanzig Minuten belegen und dabei einen 70-MB-Puffer im Speicher halten.
Für alles längere Absätze auf Absatzgrenzen aufteilen und die Teile verbinden. Das ist sowieso besser zu üben: Ein Fehler in Absatz neun kostet Sie Absatz neun und nicht das gesamte Kapitel, und das Audiokonverter Wird das Set anschließend beitreten und konvertieren.
Das Aufteilen von Mitte des Satzes ist das einzige, was zu vermeiden ist, da das Modell die Intonation pro Äußerung entscheidet. Ein halbierter Satz erzeugt zwei Fragmente, die beide wie vollständige Sätze klingen, mit einem fallenden Ton in der Mitte des Gedankens.
Wofür ist es gut und was nicht?
Gut für alles, was geschrieben wird, um vorgelesen zu werden, was eine engere Kategorie ist, als es sich anhört.
| Funktioniert gut | Funktioniert schlecht |
|---|---|
| Erzählung über ein Video oder Folien | Dialog zwischen den Charakteren |
| Eine Audioversion eines Artikels | alles, was Emotionen oder Betonung braucht |
| Barrierefreiheit: Hören Sie Ihren eigenen Entwurf | Namen und Orte außerhalb des allgemeinen Englisch |
| Platzhalter-Voice für einen Prototyp | Präzises Timing zu einem Videoschnitt |
| Aussprache eines Satzes, den Sie geschrieben haben | Singen oder etwas Musical |
Das Muster in der rechten Spalte ist die Steuerung. Das Modell gibt Ihnen eine Stimme, eine Geschwindigkeit und einen Sitzplatz zum Anhören. Es gibt keine Möglichkeit, ein bestimmtes Wort zu betonen, eine Pause einer bestimmten Länge einzufügen, eine Intonation in einer Frage zu ändern oder ein Akronym zu buchstabieren. Dies sind die Dinge, die eine professionelle TTS-API durch Markup aufzeigt, und dies hat nichts davon.
In der ersten Zeile der linken Spalte verdient sie ihren Platz. Eine Stimme, die Ihr eigenes Schreiben an Sie liest, ist das schnellste Korrekturlese-Tool, denn ein Satz, der nicht funktioniert, ist offensichtlich, wenn jemand anderes es sagt.
Können Sie eine Stimme hören, bevor Sie sich dazu verpflichten?
Nein, und das ist das einzige Stück der Schnittstelle, das ich ändern würde.
Die acht Stimmen sind ein Dropdown-Menü von Labels: Voice 1 bis Voice 8, ohne dass eine von ihnen angehängt ist. Die einzige Möglichkeit herauszufinden, wie Voice 6 klingt, ist, damit zu generieren, was den gemeinsamen Synthese-Slot belegt, einige Sekunden dauert und gegen Ihre zwanzig Generationen pro zehn Minuten angerechnet wird.
Für ein einmaliges ist das in Ordnung. Für die Auswahl einer Stimme für ein Projekt bedeutet dies, dass Sie acht Takes derselben Zeile vor dem Start vorsprechen. Dies entspricht dem größten Teil Ihres Budgets für die Entscheidung.
Der praktische Ansatz besteht darin, mit einer kurzen Zeile und nicht mit Ihrem Skript vorzuspielen. Ein Satz mit einem Dutzend Wörtern kommt in etwa zwei Sekunden zurück und sagt Ihnen die Tonhöhe und den Charakter, was alles ist, zwischen dem Sie wählen. Wechseln Sie dann zum echten Text, sobald Sie ausgewählt haben.
Die Tabelle zuvor in dieser Anleitung ist eine Teilverknüpfung: Voice 2 ist niedrig, Voice 5 ist mittel, Voice 8 hoch. Die fünf, die ich nicht gemessen habe, sitzen irgendwo unter ihnen.
Wie ist es mit einer Cloud-Voice zu vergleichen?
Nicht günstig auf Polnisch, und das ist nicht der Vergleich, der hier zählt.
Eine kommerzielle API bietet Ihnen eine bessere Prosodie, Dutzende von Sprachen, Markup-Kontrolle über Pausen und Betonung sowie für die Übertragung trainierte Stimmen. Wenn Sie etwas für die Veröffentlichung produzieren, ist es das Geld wert.
Was Ihnen stattdessen bedeutet, ist, dass der Text niemals die eigene Hardware der Website verlässt und die Ausgabe Ihnen ohne Rechnung pro Zeichen und ohne Konto gehört. Für die Verwendung in der linken Spalte oben, insbesondere wenn Sie Ihren eigenen Entwurf zurücklesen, ist der Unterschied in Polnisch kein Cloud-Konto und ein API-Schlüssel wert.
Die ehrliche Zusammenfassung ist, dass dies das TTS-Äquivalent eines anständigen eingebauten Mikrofons ist. Es ist gut genug, dass Sie aufhören zu bemerken, dass es da ist, und nicht das, was Sie verwenden würden, um ein Album aufzunehmen.
Können Sie das Audio kommerziell verwenden?
Wahrscheinlich, mit Zuschreibung, und die Lizenz verdient eher einen sorgfältigen Blick als ein Ja.
Der Piper-Motor ist MIT lizenziert. Das Modell hier wird auf Libritts-R trainiert, das OpenSLR verteilt als "Lizenz: CC BY 4.0"und CC durch 4.0 erlaubt eine gewerbliche Nutzung, sofern eine Zuordnung gegeben ist.
Die Pflege ist gerechtfertigt, da die eigenen Zitat-Metadaten der Libritts-R-Papiere eine andere Lizenzzeichenfolge tragen, die nichtkommerzielle Variante ohne Derivate. Das ist höchstwahrscheinlich ein Überbleib in einer Zitatvorlage und nicht eine Absichtserklärung, und die Verteilungsseite ist das stärkere Signal, aber die beiden sind anderer Meinung und ich bin nicht in der Lage, es für Sie aufzulösen.
Also: Bei allem, was zufällig ist, ist dies keine Frage, die jemand stellen wird. Lesen Sie für ein kommerzielles Produkt, das auf dem Audio basiert, die Lizenz des jeweiligen Sprachmodells und nehmen Sie Ratschläge, anstatt eine Datensatzseite zu lesen.
Was sollten Sie vor der Veröffentlichung von Audio überprüfen?
Vier Dinge, in der Reihenfolge, in der sie schief gehen.
- Hören Sie sich das Ganze an. Dies klingt offensichtlich und wird routinemäßig übersprungen, und es ist der einzige Weg, um einen falsch ausgesprochenen Namen zu erfassen.
- jedes Eigenname, Akronym oder Einheit. Das Modell hat kein Wörterbuch, das Sie bearbeiten können. Wenn "OSEI" oder "GDPR" falsch herauskommt, schreibt der Fix es phonetisch im Eingabetext und akzeptiert, dass die Eingabe jetzt hässlich ist.
- Die Länge, gegen den Schlitz, den sie ausfüllen muss. Denken Sie daran, dass das Tempo nur lose steuerbar ist. Lassen Sie also den Raum, anstatt zum zweiten zu planen.
- Konvertieren Sie vor dem Hochladen. 2,6 MB WAV ist nicht das, was Sie auf einer Webseite wollen.
Warum läuft es auf dem eigenen Server der Website?
Denn die Texte, die Menschen vorgelesen haben, sind häufig ihre eigene unveröffentlichte Schrift.
Ein Entwurf, ein Drehbuch, ein Anschreiben, eine Rede, eine Nachricht, bei der sie nicht sicher sind. Die herkömmliche Alternative postet es zu einem Service, der pro Zeichen abrechnung, den Text unter Begriffen, die niemand liest, hält und ein Konto vor dem ersten Wort benötigt.
Hier geht es zu einem Container neben der Web-App, wird synthetisiert und kommt als Datei zurück. Die Kosten sind in jeder obigen Messung sichtbar: jeweils ein Slot, eine 3.000-Zeichen-Decke, 22 kHz Mono und eine Stimme, die eher gut als gesendet wird. Im Gegenzug wurde der Text von einer Maschine gelesen, der Sie bereits vertrauten.



