|
-
Da es sanjaesc bereits angekündigt hat geb ich vielleicht auch einfach mal eine kurze Vorschau des neuen GUIs. Evtl. kann man dazu ja auch gerade schonmal Feedback/Wünsche/Anregungen sammeln, Priorität ist derweil aber erstmal die Anbindung des UI an die eigentliche Funktionalität.
[Bild: vorschau.png]
Diese Features sind derweil geplant:
- Einfache Installation via Installer
- Automatischer Download von benötigten Abhängigkeiten (wie z.B. Python)
- Sonst die gleiche Funktionalität wie die der Web-App
Geändert von GenerationLost (23.07.2021 um 00:31 Uhr)
-
Zitat von GenerationLost
Da es sanjaesc bereits angekündigt hat geb ich vielleicht auch einfach mal eine kurze Vorschau des neuen GUIs. Evtl. kann man dazu ja auch gerade schonmal Feedback/Wünsche/Anregungen sammeln, Priorität ist derweil aber erstmal die Anbindung des UI an die eigentliche Funktionalität.
+ Das man einen Dateinamen vorgeben kann finde ich sehr gut.
? Wie arbeiten die Eingabezeile und der Button csv daneben? Wie kann ich mir das vorstellen?
? Ist geplant in der csv Verarbeitung die Möglichkeit zu ergänzen darüber auch einen Dateinamen vorgeben zu können?
PS:
Ich habe vor ein paar Tagen knapp über 9000 Helden-Sätze für das Gothic3 Community Story Projekt mit sanjaesc Web-GUI vertont.
Dabei ist mir aufgefallen, das nach einigen 100 Sätzen im Hintergrund ein Chrome-Prozess immer mehr Speicher benötigt.
Die CPU Last dieses Prozesses schwankt zwischen 10-20% (Habe eine 6-Kern-CPU ohne Hyper-Threading).
Nachdem alle 9000 Takes umgewandelt waren, standen ca. 3,3GB genutzter RAM für den Chrome Prozess im Taskmanager.
Das liegt vermutlich an der Aktualisierung der Dateiliste in der Weboberfläche. Diese Aktualisierung deaktivieren zu können wäre willkommen.
Aber möglicherweise ist dies für deine neue Oberfläche irrelevant.
Ich würde mich freuen, wenn ich mit der csv-Verarbeitung 50.000 Takes am Stück umwandeln könnte.
-
Zitat von MadFaTal
? Wie arbeiten die Eingabezeile und der Button csv daneben? Wie kann ich mir das vorstellen?
Die obere Eingabezeile ist wie bisher für den Text der gesprochen werden soll. Mit dem CSV-Button kann man eine beliebige CSV-Datei einlesen und direkt verarbeiten lassen. Darüber hinaus kann man im Einstellungs-Tab eine fixen Pfad für CSV-Dateien angeben, es fehlt nur noch ein Button um diese zu verarbeiten.
Z.B. kann man sich einen Ordner anlegen, in denen man einfach immer die CSVs ablegt und mit einem Klick werden die dann verarbeitet. Sollte man ausnahmsweise eine Andere CSV verarbeiten wollen, benutzt man den Button neben der Texteingabe. Falls das etwas zu verwirrend ist, bitte bescheid sagen, bin für Vorschläge offen.
Die meisten Felder und Buttons haben auch Tooltips, die nochmal kurz erklären wozu sie gut sind, falls es durch die Element selbst noch nicht ganz einhergeht.
Zitat von MadFaTal
? Ist geplant in der csv Verarbeitung die Möglichkeit zu ergänzen darüber auch einen Dateinamen vorgeben zu können?
Meinst du damit den Pfad/Name pro Sound-File in der CSV angeben? Habe mir bisher noch nicht angeschaut wie dieser Import-Prozess abläuft, das wäre dann wohl eher etwas, das sich sanjaesc anschauen müsste.
Zitat von MadFaTal
Aber möglicherweise ist dies für deine neue Oberfläche irrelevant.
Genau, das Problem sollte mit der neuen Anwendung gelöst sein, da es eine native Windows-Oberfläche ist und damit weniger Speicher belegen sollte wie Chrome. WPF optimiert soweit ich weiß auch Listen, sodass trotz großer Mengen an Einträgen der Speicherverbrauch sich im Rahmen halten sollte.
Geändert von GenerationLost (23.07.2021 um 17:10 Uhr)
-
Zitat von GenerationLost
Meinst du damit den Pfad/Name pro Sound-File in der CSV angeben?
Nur den Dateinamen des Soundfiles. Der Pfad lässt sich aktuell in den Einstellungen konfigurieren.
-
Hey sanjaesc,
habe gesehen du hast vor zwei Tagen eine neue Version committed,
welche .wav als 16 Bit PCM speichert und es kann sogar das Format .ogg ausgewählt werden.
Herzlichen Dank dafür. Besonders für den .ogg Export, das erspart mir einen Arbeitsschritt.
PS:
Als Anhang die Datei main.py, in der ich ergänzt habe, den Dateinamen bei der .csv Dateiverarbeitung vorgeben zu können.
Mein Ziel war dabei so wenig Code wie möglich zu verändern, aber auch möglichst abwärtskompatibel zu bleiben:
- Der zu sprechende Text darf keinen Stern mehr enthalten.
Ich habe nur innerhalb der Funktion synthesize kleine Änderungen vorgenommen.
Aufbau der .csv Inputdatei:
[Dateiname ohne Dateiendung*]zu sprechender Text[|Sprecher ID]
z.B.:
Code:
INFO_Diego_Diego_CSP70054_04_German*Du könnest dich als Händler ausgeben.|34
Der Anhang enthält auch eine GameTTS.csv als Beispiel.
GameTTS_main_py.zip
Geändert von MadFaTal (24.07.2021 um 09:51 Uhr)
Grund: Schreibfehler korrigiert
-
Finde die Ergebnisse super! Ich stelle mir gerade vor wie man jetzt in Balancing Mods indem z.B man Dämonenbeschwörer werden kann, jetzt mithilfe dieser TTS auch ordentliche Quests und Dialoge dazu bauen kann und es sich dadurch natürlicher eingebunden anfühlt.
-
Abenteurer
Zitat von Milky-Way
Ich persönlich interessiere mich gerade mehr für TTS allgemein als für eine konkrete Anwendung für eine Gothic Mod (ist aber natürlich eine tolle Arbeit, die du da geleistet hast, um das ganze auch direkt nutzbar zu machen)
Wie sieht das bei VITS denn aus, wenn neue Sprecher hinzugefügt werden -- reichen bei neuen Sprechern deutlich weniger Aufnahmen, weil das Modell das meiste schon von anderen Sprechern gelernt hat (und somit vor allem Klangfarbe, Tempo,... Sprecher-spezifisch lernen muss)? Oder funktionieren Modelle, die viel über Sprecher hinweg teilen nicht gut? Bieten solche TTS Modelle an, den Sprechern Attribute zuzuweisen (hohe / tiefe Stimme, rau / ..., Alter) um ggf. dabei zu helfen, wie sich Sprecher ähneln / unterscheiden?
Was wären da deine ungefähren Zahlen, wie viele Sätze / Dateien / Stunden (was auch immer pratkisch / informativ ist als Statistik) man braucht, um 1) von Grund auf das Modell zu trainieren, und dann 2) um einen zusätzlichen Sprecher halbwegs vernünftig abbilden zu können?
Hey, in der Regel reichen bei einem Mehrsprechermodell weniger Daten pro Sprecher, wenn es einen "Hauptsprecher" mit einem umfassenden Datensatz gibt, hier der Held (ca. 10 Std. an Sprachmaterial). Wie du schon richtig schreibst, teilen sich die Sprecher ein "Grundwissen" wie ein Text gesprochen werden soll. Zusätzlich lernt das Modell pro Sprechen dessen Charakteristiken (Klang, Tempo). Das geteilte Grundwissen ermöglicht es Sprecher einzubeziehen die wenig Datenmaterial haben. Wahrscheinlich hätte ich geschätzt 70% der Sprecher nicht in einem single-speaker Modell trainieren können, da einfach die Daten fehlen.
VITs implementiert aktuell keine Funktion, um neue Sprecher hinzuzufügen. Aber ich denke es sollte nicht allzu schwer sein die bereits trainierten Layer zu re-initialisieren und das Training fortzusetzen.
Das mit Attributen sollte möglich sein, was wäre hier der Anwendungsfall? Ich kenne Ansätze, wo Emotionen den Sprachdaten zugewiesen werden (verärgert, glücklich etc.) das spiegelt sich dann auch in der Sprachsynthese wieder.
Zu den Zahlen, ist schwierig. Wie oben erwähnt hat der Held ca 10 Std. Datenmaterial, das sind ~ 10.000 Zeilen. Damit bekommt man schon ein relativ robustes Modell hin. Natürlich gibt es weiterhin Probleme mit Eingaben, die nicht in den Trainingsdaten vorkommen, besonders mit Anglizismen.
Was man so in Foren ließt, werden ~5 Std. als guter Start angegeben. Ich habe aber auch schon Stimmen mit nur 1 Std. Material von Grund auf trainiert. Dort treten dann natürlich deutlich öfter Probleme in der Synthese auf. Es gilt weiterhin im Deep Learning, je mehr Daten desto besser. ^^
-
Abenteurer
Zitat von MadFaTal
PS:
Ich habe vor ein paar Tagen knapp über 9000 Helden-Sätze für das Gothic3 Community Story Projekt mit sanjaesc Web-GUI vertont.
Dabei ist mir aufgefallen, das nach einigen 100 Sätzen im Hintergrund ein Chrome-Prozess immer mehr Speicher benötigt.
Die CPU Last dieses Prozesses schwankt zwischen 10-20% (Habe eine 6-Kern-CPU ohne Hyper-Threading).
Nachdem alle 9000 Takes umgewandelt waren, standen ca. 3,3GB genutzter RAM für den Chrome Prozess im Taskmanager.
Das liegt vermutlich an der Aktualisierung der Dateiliste in der Weboberfläche. Diese Aktualisierung deaktivieren zu können wäre willkommen.
Aber möglicherweise ist dies für deine neue Oberfläche irrelevant.
Ich würde mich freuen, wenn ich mit der csv-Verarbeitung 50.000 Takes am Stück umwandeln könnte.
Hey, ich denke es sollte hier reichen die Zeile https://github.com/lexkoro/GameTTS/b...af/main.py#L51 auszukommentieren.
-
Ich habe das Gefühl, das Christian Wewerka's Stimme irgendwie in "viel zu schnell" synthetisiert wird, gerade bei kurzen Texten passiert das sehr oft.
klingt als würde er in 1.5x Geschwindigkeit reden. Sobald der Text jedoch über ~8-12 Wörter hinaus geht, passt die Geschwindigkeit wieder.
Ich hab's mit den Modellen G_60000 / G_70000 und G_80000 probiert. (aktuellen release tag, sowie dev stand)
-
Abenteurer
Zitat von Kirides
Ich habe das Gefühl, das Christian Wewerka's Stimme irgendwie in "viel zu schnell" synthetisiert wird, gerade bei kurzen Texten passiert das sehr oft.
klingt als würde er in 1.5x Geschwindigkeit reden. Sobald der Text jedoch über ~8-12 Wörter hinaus geht, passt die Geschwindigkeit wieder.
Ich hab's mit den Modellen G_60000 / G_70000 und G_80000 probiert. (aktuellen release tag, sowie dev stand)
Dein Gefühl trügt nicht ^^. Christian Wewerka spricht einige Dialoge relativ schnell, wie dir auch schon aufgefallen, vor allem bei kurzen Sätzen.
Das Netzwerk lernt diese "Tempo" als dominante Sprechgeschwindigkeit.
Aktuell hilft es nur, die Sprachgeschwindigkeit in den Einstellungen zu reduzieren.
-
Adventurer
Training voices
Zitat von sanjaesc
Hallo zusammen,
ergänzend zu diesem Thread und endlich mit ausreichend Zeit, habe ich mich wieder mit dem Thema TTS beschäftigen können. (Entschuldigt die Abwesenheit)
Ohne groß weiter zu schwafeln, will ich euch das von mir zuletzt trainierte TTS-Modell zur Verfügung stellten. (Das Training läuft aktuell seit 2 Wochen und ist noch aktiv)
Um das Ganze ein wenig zugänglicher zu machen, habe ich eine kleine GUI geschrieben.
Das ganze ist als WebApp verpackt, heißt ihr braucht einen der gängigen Browser (Chrome, Edge, Firefox).
Dies war ein erster Versuch, eine solche WebApp zu schreiben, daher solltet ihr nicht allzu viel erwarten.
Sollte ich das Thema GUI weiter verfolgen, werde ich wahrscheinlich auf Electron oder eine der nativen GUI Bibliotheken von Python umsteigen.
Anbei der Link zur Anwendung samt Anleitung und den trainierten Modelle.
Link Anwendung: https://github.com/lexkoro/GameTTS
Link Modelle: https://drive.google.com/drive/folde...Nb?usp=sharing
Verwendetes TTS Repository: https://github.com/jaywalnut310/vits
Viele Grüße
How can I train voices? And how do I create audio files based on the voices that I trained? What are the steps from training voices to generating audio files based on those voices?
-
I tried getting the program to work. Unfortunately, I only managed to get install.ps1 running and have it install all the requirements. run.ps1 won't start because it seems like my system doesn't allow it.
Is there a function I can use to make run.ps1 be an exception on my system? After all, I don't want to allow all scripts on my system.
-
Abenteurer
Zitat von dolorosa
How can I train voices? And how do I create audio files based on the voices that I trained? What are the steps from training voices to generating audio files based on those voices?
You can start with this repository I guess: https://github.com/coqui-ai/TTS
They also have documentation that you should take a look at first: https://tts.readthedocs.io/en/latest...beginners.html
If you are completely new to this field, it might take some time to get an overview before you can start.
However, what you generally need is training data in this case audio files with the corresponding transcriptions.
Following the documentation you should be able to train your own models.
-
Abenteurer
Zitat von Gregox
I tried getting the program to work. Unfortunately, I only managed to get install.ps1 running and have it install all the requirements. run.ps1 won't start because it seems like my system doesn't allow it.
Is there a function I can use to make run.ps1 be an exception on my system? After all, I don't want to allow all scripts on my system.
Where did you extract the program? Did you try running as administrator?
-
Zitat von sanjaesc
Where did you extract the program? Did you try running as administrator?
In C:\Modding\GameTTSdev
It's not program files, so that's not the issue, right?
I tried but when I type the file path, it says "Unauthorized Access" again.
(Also: I just noticed you're german too. I just used English so others that may have the same issue understand. )
-
Abenteurer
Zitat von Gregox
In C:\Modding\GameTTSdev
It's not program files, so that's not the issue, right?
I tried but when I type the file path, it says "Unauthorized Access" again.
(Also: I just noticed you're german too. I just used English so others that may have the same issue understand. )
Either try installing it in another folder, like "Documents" etc.
Or try setting Execution Policy temporarily to unrestricted
Code:
Set-ExecutionPolicy Unrestricted
If it still doenst work change it back
Code:
Set-ExecutionPolicy Restricted
Otherwise I am not sure what might be causing this.
-
Still nothing ... Very weird.
-
Adventurer
Zitat von sanjaesc
You can start with this repository I guess: https://github.com/coqui-ai/TTS
They also have documentation that you should take a look at first: https://tts.readthedocs.io/en/latest...beginners.html
If you are completely new to this field, it might take some time to get an overview before you can start.
However, what you generally need is training data in this case audio files with the corresponding transcriptions.
Following the documentation you should be able to train your own models.
I followed your steps on GitHub, but I'm getting an error while installing the dependencies. https://ibb.co/2ynpyKG
-
The solution is shown in the error message: You'll need to install Microsoft Visual C++ 14 in order to run the script.
-
Zitat von dolorosa
I followed your steps on GitHub, but I'm getting an error while installing the dependencies. https://ibb.co/2ynpyKG
Your picture shows a Windows Powershell.
I had the same problem under Windows 10 some time ago. I stored some links. I hope it's helpful for you.
I found this helpful topic for Visual Studio Build Tools 2017.
Later I recognised this topic, but I never tried.
Maybe pipwin solve your problem without installing C++ Build Tools:
- pip install pipwin
- pipwin install yourLibrary
Personally I only tried / used C++ Build Tools Version 2019, but some options are not identical compared to the 2017 link above. I sucessfully guessed some of the options. But sorry I don't remember all details.
Geändert von MadFaTal (08.10.2021 um 21:28 Uhr)
Grund: some typos corrected
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|
|