
Die Mycroft Open Source Mimic Technologies sind Text-to-Speech-Motoren, die einen schriftlichen Text aufnehmen und in gesprochenes Audio umwandeln. Die neueste Generation dieser Technologie, Mimic 2, verwendet maschinelles Lernenstechniken, um ein Modell zu erstellen, das eine bestimmte Sprache sprechen kann und wie die Stimme klingt, auf der es trainiert wurde.
Das Mimic Recording Studio vereinfacht die Sammlung von Trainingsdaten von Einzelpersonen, von denen jede zur Erzeugung einer ausgeprägten Stimme für die Mimic verwendet werden kann.
git clone https://github.com/MycroftAI/mimic-recording-studio.gitcd mimic-recording-studiostart-windows.batWarum Docker? Um dies super einfach zu machen, um Cross -Plattformen einzurichten.
git clone https://github.com/MycroftAI/mimic-recording-studio.git
cd mimic-recording-studio
docker-compose up zum Erstellen und Ausführen ( Hinweis: In Abhängigkeit von Ihrer Verteilung müssen Sie möglicherweise sudo docker-compose up verwenden ).
Alternativ können Sie separat bauen und laufen. docker-compose build und dann docker-compose up
Gehen Sie in Ihrem Browser zu http://localhost:3000
HINWEIS: Die erste Ausführung von docker-compose up wird eine Weile dauern, da dieser Befehl auch die Docker-Container erstellt. Nachfolgende Ausführungen von docker-compose up sollten schneller zu starten sein.
cd backend/pip install -r requirements.txtpython run.py cd frontend/npm install , alternativ yarn installnpm start , alternativ yarn startOnline, http://mimic.mycroft.ai gehostete Version, die Null -Setup erfordert.
Audio wird als WAV -Dateien in backend/audio_file/{uuid}/ Verzeichnis gespeichert. Das Backend wird automatisch den Beginn und die endende Stille für alle WAV -Dateien mit FFMPEG abgebildet.
Metadaten werden auch in backend/audio_file/{uuid}/ gespeichert. Diese Datei ordnet den WAV -Dateinamen dem gesprochenen Phrase ab. Dies zusammen mit den WAV -Dateien braucht das, was Sie zum Training Mimic 2 beginnen müssen.
Im Moment haben wir einen englischen Corpus, english_corpus.csv zur Verfügung, das in backend/prompt/ zu finden ist. Um Ihren eigenen Korpus zu verwenden, befolgen Sie diese Schritte.
english_corpus.csv unter Verwendung der Registerkarten ( t ) als Trennzeichen.backend/prompt -Verzeichnis hinzu.CORPUS Umgebungsvariable in docker-compose.yml in Ihren Corpus-Namen. Wenn Sie ein Korpus in einer anderen Sprache als Englisch entwickeln möchten, kann das Mimic Recording Studio verwendet werden, um Sprachaufnahmen für TTS -Stimmen in zusätzlichen Sprachen zu erstellen. Wenn Sie einen Korpus in einer anderen Sprache als Englisch bauen, empfehlen wir Ihnen, Phrasen auszuwählen, die:
Wichtig: Im Moment müssen Sie die sqlite -Datenbank zurücksetzen, um einen neuen Korpus zu verwenden. Wenn Sie auf einem anderen Korpus aufgezeichnet haben und diese Daten speichern möchten, können Sie einfach Ihre sqlite -DB in backend/db/ in einen anderen Namen umbenennen. Das Backend erfasst, dass mimicstudio.db nicht da ist und eine neue für Sie erstellt. Sie können weiterhin Daten für Ihr neues Korpus aufzeichnen.
Die Web-Benutzeroberfläche wurde mit JavaScript erstellt und reagiert und erstellt React-App als Gerüst-Tool. Siehe CRA.MD, um mehr darüber zu erfahren, wie Sie mit Erstellen von React-Apps verwendet werden.
Der Webdienst wird mit Python, Flask als Backend -Framework, Gunicorn als HTTP -Webserver und SQLite als Datenbank erstellt.
Docker wird verwendet, um beide Anwendungen zu konstruieren. Standardmäßig verwendet der Frontend Network Port 3000 , während der Backend Networking Port 5000 verwendet. Sie können diese in der Datei docker-compose.yml konfigurieren.
Hinweis: Wenn Sie docker-registry ausführen, wird dies standardmäßig auf Port 5000 ausgeführt, sodass Sie den von Ihnen verwendeten Port ändern müssen.
Die Erstellung einer Stimme erfordert eine erreichbare, aber erhebliche Anstrengung. Eine Person muss 15.000 - 20.000 Phrasen aufzeichnen. Um die bestmögliche Mimic -Stimme zu erhalten, müssen die Aufnahmen sauber und konsistent sein. Folgen Sie zu diesem Zweck folgende Empfehlungen:
Mimic-Recording-Studio schreibt alle Aufnahmen in einer SQLite-Datenbankdatei unter/Backend/DB/. Dies kann mit Datenbank -Tools wie DBeaver geöffnet werden.
Die Datenbank enthält zwei Tabellen.

Alle Aufnahmen sind in dieser Tabelle mit bestehen
Die Datenbank kann verwendet werden, um Ihre Aufzeichnungen abzufragen.
Hier sind einige Beispielfragen:
-- List all recordings
SELECT * FROM audiomodel;
-- Lists recordings from january 2020 order by phrase
SELECT * FROM audiomodel WHERE created_date BETWEEN ' 2020-01-01 ' AND ' 2020-01-31 ' ORDER BY prompt;
-- Lists number of recordings per day
SELECT DATE (created_date), COUNT ( * ) AS RecordingsPerDay
FROM audiomodel
GROUP BY DATE (created_date )
ORDER BY DATE (created_date)
-- Shows average text length of recordings
SELECT AVG (LENGTH(prompt)) AS avgLength FROM audiomodelEs gibt viele Möglichkeiten, wie die Abfrage der SQLite -Datenbank nützlich sein kann. Beispielsweise kann die Suche nach Aufnahmen in einem bestimmten Zeitbereich dazu beitragen, Aufnahmen in einer schlechten Umgebung zu entfernen.
Mimic-Recording-Studio kann von mehr als einem Lautsprecher mit derselben SQLite-Datenbankdatei verwendet werden.
In diesem Tabellen werden folgende Informationen pro Sprecher angezeigt:
Diese Werte werden zur Berechnung von Metriken verwendet. Zum Beispiel kann das Sprech -Tempo zeigen, ob die aufgezeichnete Phrase im Vergleich zu früheren Aufnahmen zu schnell oder langsam ist.
Abfragetabelle "UsModel", um eine Liste von Sprechern wie UUID und einige Aufzeichnungsstatistiken zu erhalten.
SELECT user_name AS [name], uuid FROM usermodel;
Der Browser, mit dem Ihre Sätze aufgezeichnet wurden, bestehen bei den uuid und name in seiner Lokalstorie, um sie mit SQLite und Dateisystem synchron zu halten.
Wenn ein Problem auftritt und Ihr Browser die UUID-Zuordnung für Mimic-Recording-Studio verliert/ändert, können Sie Schwierigkeiten haben, eine frühere Aufzeichnungssitzung fortzusetzen. Aktualisieren Sie dann die folgenden zwei Attribute in LocalStorage Ihres Browsers:
Open Mimic Recording-Studio in Ihrem Browser, wenden Sie sich zu Webentwicklernoptionen, Lokalstor- und Setzen Sie den Namen und UUID auf die ursprünglichen Werte.

Danach sollten Sie in der Lage sein, Ihre vorherige Aufzeichnungssitzung ohne weitere Probleme fortzusetzen.
Wir begrüßen Ihre Sprachspenden für Mycroft für die Verwendung in Text-zu-Sprach-Anwendungen. Wenn Sie Ihre Sprachaufzeichnungen anbieten möchten, müssen Sie sie uns unter der Creative Commons CC0 Public Domain -Lizenz lizenzieren, damit wir sie in TTS -Stimmen verwenden können - die abgeleiteten Werke sind. Wenn Sie bereit sind, Ihre Sprachaufnahmen zu spenden, senden Sie uns eine E -Mail an [email protected].
PRs werden gerne akzeptiert!
Sie können Hilfe und Unterstützung mit Mimic Recording Studio erhalten.