-
-
Notifications
You must be signed in to change notification settings - Fork 17
Pls add more Games #11
Comments
Sure, if you help me with extracting, preprocessing and cleaning of the data :) |
Sure, if you tell me how to. I would like add tons of new Voices. Do you have discord? |
What format do you need the data in? This TTS system is a godsend for mod developers, and your work at creating an easy-to-use GUI and providing pre-trained models might just turn out to be a game changer for the modding community as a whole. |
Hi, thanks for the kind words. :) Overall structure of the metadata is wav file | text | speaker | emotion | speech rate Here is a sample from the metadata used https://pastebin.com/NiBrw6yw So each speaker has several wav files for training, which range from 1 to ~8 seconds. For each file there is also a transcript (text) of what is spoken in the file. These texts must be cleaned. For example, numbers must be written out (1 -> one) or abbreviations must be expanded (if they are fully pronounced). The files and texts must be assigned to a speaker. This is a rough summary of what is needed. |
This sounds like it'd be near-impossible to do by hand... and really feasible for video games with access to sound and subtitle files! Please let me ask a few more questions:
Given access to subtitles and voice files, as long as they are at least by some way assigned to each other - as they should be with most video games! - programmatically formatting the data in this way wouldn't be too hard. We could probably harness community power by providing an easy-to-follow Readme on how to train models, and maybe a few useful bash scripts (like using ffmpeg to convert arbitrary audio files into the required wav format). |
The training of a model itself is not the difficulty. https://github.com/jaywalnut310/vits#pre-requisites |
I recently was able to extract the dialogs from Elex. The combined length is about 26h, with the following top speaker durations:
@lexkoro: Hast du dein Mozilla Discourse Account noch? Dann kann ich's dir da so wie die anderen wieder schicken. @all-others: You can find the extraction steps at: https://gitlab.com/Jaco-Assistant/corcua. The instructions for Skyrim and Witcher can be found there as well, for those interested in training the model in a different language. |
@DanBmh Sollte den Account noch haben, bin dort aber nicht mehr aktiv. Elex hatte ich auch schon extrahiert, jedoch habe ich kein mapping zwischen Text und Audio (bzw. Sprecher) hinbekommen, in der strings.csv waren nur IDs. Weiter hatten auch die Audiofiles zum Teil eine komische Audioqualität, weshalb ich mich mit den Daten nicht weiter auseinander gesetzt habe. |
Ich hab ein paar Dateien probegehört und die fand ich eigentlich ganz in Ordnung. Der Trick beim mapping ist, dass sich die hashid in der stings.csv aus dem Namen der Audiodatei berechnen lässt (siehe https://gitlab.com/Jaco-Assistant/corcua/-/blob/master/corcua/readers/elex.py)
…-------- Original-Nachricht --------
Am 16. Jan. 2022, 20:35, Alexander Korolev schrieb:
***@***.***(https://github.com/DanBmh) Sollte den Account noch haben, bin dort aber nicht mehr aktiv.
Elex hatte ich auch schon extrahiert, jedoch habe ich kein mapping zwischen Text und Audio (bzw. Sprecher) hinbekommen, in der strings.csv waren nur IDs.
Weiter hatten auch die Audiofiles zum Teil eine komische Audioqualität, weshalb ich mich mit den Daten nicht weiter auseinander gesetzt habe.
—
Reply to this email directly, [view it on GitHub](#11 (comment)), or [unsubscribe](https://github.com/notifications/unsubscribe-auth/AENWJSSTP65OFV5GRYK23ETUWMMWLANCNFSM5KB26RVQ).
Triage notifications on the go with GitHub Mobile for [iOS](https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675) or [Android](https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub).
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Würde nur noch das mapping zu den Sprechern fehlen. Die oben genannten durations sind nicht nach Sprecher aufgeteilt, bspw. hat IKENI7 mehrere Stimmen. Gilt auch für die anderen. Ich hatte die Idee mir mit einem speaker-encoder, ähnliche Stimme gruppieren zu lassen. |
Gibt es eine Möglichkeit, dass du Laien erklärst, wie sie sich selbst ein Model für dein Tool trainieren können? Ich habe einen Haufen klare Voicelines von vielen Charactern auf dem Rechner und hätte gerne eine Möglichkeit, diese irgendwo einspeisen zu können um sie mit dem Tool zu verwenden. Ich schätze mal, dass wird nicht sehr kompliziert, sondern nur sehr viel Handarbeit sein? Wenn es für dich einfacher ist, kann ich dir auch nach dem oben genannten Muster, was du auf Pastebin gepostet hast, die Files nachbauen und schicken, damit du die dann in das Tool einbauen kannst. |
@JJDonYT Das Tool bietet lediglich eine Schnittstelle, die die Verwendung des trainierten Modells vereinfachen soll. Wenn du anhand der dir vorliegenden Voicelines ein eigenes Modell trainieren willst, Dort gibt es auch Beispiele, wie die Metadaten zu strukturieren sind, ähnlich wie ich es oben aufgezeigt habe. Ich kann aber nicht garantieren, dass das trainierte Modell dann direkt mit der GUI funktioniert. Es könnte sein, dass weitere Anpassungen notwendig sind. Müsste mich sich dann durch den Code wurschteln... |
Hey! Ist die "metadata" einfach nur ne .txt-Datei im Editor, in die ich das ganze eingeben muss? Und ansonsten bin ich einfach nur lost, ich hab von sowas -10 Ahnung und frag mich, ob ich überhaupt ne Hilfe sein könnte... |
Hallo, ich habe was sehr interessantes entdeckt: Die Frage ob es auch andere Sprachen als Englisch unterstützen kann: |
Hey TorToise kenne ich, aber man muss bedenken, dass der Name Programm ist...
Theoretisch wäre dies auch mit dem von mir verwendeten VITS Modell möglich, wenn ich mit einer Datenmenge wie TorToise trainiert hätte. In dem aktuell von mir trainierten Modell habe ich auch solche Tests durchgeführt und es funktioniert ganz gut, solange die Merkmale der zu klonende Stimme in einem Spektrum liegt, das so ähnlich in den Trainingsdaten vorkam. Die Datenmenge macht es am ende aus.
Das ist bereits jetzt möglich, aber nur über den Code.
Möglich ist alles, TorToise hat eine recht gut programmierte Schnittstelle. Den Synthesizer https://github.com/lexkoro/GameTTS/blob/main/GameTTS/vits/synthesizer.py müsste man durch deren Interface ersetzen.
Der Autor sagt ja schon richtig, dass es keinen Grund gibt, warum andere Sprachen nicht funktionieren sollten. Aber man muss diese erst trainieren. Wie oben schon erwähnt, sind die Anforderungen an eine solches Training aber enorm. Da müsste sich erst einmal jemanden finden, der das angehen will. PS: Ich hatte auch schon ein multilinguales VITS Modell trainiert, heißt die deutschen Sprecher konnten dann auch englisch, französisch oder auch polnisch sprechen. So auch umgekehrt für die nicht deutsch sprechenden Sprecher. Wenn ich das Thema wieder angehe, werden dementsprechend auch mehr stimmliche Merkmale aufgrund der anderen Sprachen zur Verfügung stehen... |
Pls add more Voices.
The text was updated successfully, but these errors were encountered: