Gothic Dubbing Generator 439 0

O temacie

Autor 0judge0

Zaczęty 5.03.2018 roku

Wyświetleń 439

Odpowiedzi 0

0judge0

0judge0

Użytkownicy
posty10
Propsy26
  • Użytkownicy
Wstęp:
Po paru ładnych latach postanowiłem pograć sobie w gothica itd. i po przejściu kilku modów wpadłem na ciekawy (przynajmniej w moim mniemaniu) pomysł napisania programu który analizował by skrypty postaci i na podstawie zawartych tam informacji generował pliki audio z kwestiami dialogowymi. Program jest w dość prymitywnej formie (działa z konsoli) ale zrobiłem go dla zabawy i postanowiłem się nim po prosu podzielić.

Zasada działania:
Program generuje dialogi używając opcji text to speech systemu windows, więc do poprawnego działania musi być zainstalowany jakiś polski głos w systemie. Ja dla celów testowych zainstalowałem sobie jakiś jeden z głosów ivony 2 ale po internetach są dostępne inne opcje również. Myślę że najlepszy efekt można osiągnąć mając kilka głosów tak by się zbytnio nie powtarzały ale program zawiera też prymitywną opcję modulacji głosu by można było osiągnąć kilka różnych brzmień.

Podstawy:
Program jest napisany w javie więc wiadomo że JVM będzie wymagana.
Program korzysta też z kilku zewnętrznych programów (zawarte w paczce):
- Voice - generuje pliki audio z tekstu używając systemowego głosu
- ffmpeg - konwersja wygenerowanych plików audio tak by działały w gothicu
- Sounder - odtwarzanie audio (przydatne do testowania ustawień)

Skrypty postaci muszą znajdować się w tym samym folderze co program, po zakończeniu działania otrzymamy folder w którym będą znajdować się pliki audio już z odpowiednimi nazwami itd. wystarczy wrzucić je do paczki i powinny działać.

Aby uruchomić program wymagane jest wsianie pewnych komend.
java -jar GDG.jaruruchamia program ale oczywiście trzeba podać jeszcze parametry, takie jak nazwa pliku czy wybrany głos.

java -jar GDG.jar -n DIA_vlk_120_NPCNAME.d -g "NAZWA GŁOSU"po -n podajemy nazwę pliku z jakiego chcemy wygenerować dubbing, a po -g podajemy nazwę głosu. Aby dowiedzieć się jakie mamy głosy w systemie wpisujemy:
voice -l
Opcje dodatkowe:
Jak już wspomniałem posiadanie jednego głosu może nie wystarczyć aby osiągną coś sensownego więc jest możliwość małej modulacji głosu:
java -jar GDG.jar -n DIA_vlk_120_NPCNAME.d -g "NAZWA GŁOSU" -r 1 -p 0.8 -h 1.1-r, zmienia szybkość z jaką się mówi (przedział od -10 do 10).
-p, zmienia pitch npc (przedział od 0.5 do 1.5)
-h, to samo co -p tylko że dla bohatera

Te opcje nie są wymagane, można ich nie podawać, można podać tylko 1,2 lub 3. Jeśli się ich nie poda to zostaną zastosowane ustawienie standardowe -r 0 -p 1.1 -h 1

Oczywiście ustawienia można przetestować zanim rozpocznie się generację plików, wystarczy zamiast nazwy pliku wpisać test.
java -jar GDG.jar -n test -g "NAZWA GŁOSU"
Wyjątki:
Jak wiadomo text to speech czasem czyta coś czego nie powinien albo czyta to źle więc dodałem możliwość dodawania wyjątków czyli jakiś tekst zostanie zastąpiony czymś innym.

java -jar GDG.jar -e Rhobar@RobarDo listy zostanie dodany wyjątek Rhobar@Robar, czyli jeśli program napotka w skryptach słowo Rhobar to zostanie to przeczytane jako  Robar

java -jar GDG.jar -d Rhobar@RobarTen wyjątek zostanie usunięty z listy

java -jar GDG.jar -lWyświetla listę wyjątków

Linki:
Krótki klip przedstawiający działanie programu, moment w którym pokazane są % jest przyspieszony, program działa nieco wolniej niż to jest pokazane.

Clip
Program (program jest mały większość jego wagi to zewnętrzny program ffmpeg)

Mam nadzieję że wszystko w miarę wyjaśniłem i nigdzie się nie pomyliłem, jeśli komuś się to przyda to super a jak nie to trudno, przynajmniej ja miałem zabawę go tworząc. Jakby coś nie działało to piszcie.
 


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry