Touhou Patch Center: Modyfikacja utworów muzycznych

From Touhou Patch Center
Jump to navigation Jump to search
This page is a translated version of the page Touhou Patch Center:BGM modding and the translation is 92% complete.
Outdated translations are marked like this.

Dla gier Team Shanghai Alice

(Wzięte żywcem z Discorda)

Wspierowane formaty, od najwyższego priorytetu do najniższego

  • FLAC (.flac)
    Idealnie, posiadasz zmodyfikowaną muzykę w bezstratnym formacie, zaś wsparcie FLAC pozwala na dostarczenie tych bezpośrednio do twoich graczy.
  • Ogg Vorbis (.ogg)
    Obecnie, najlepszy kompromis między kompresją i jakością dźwięków. Jedynie dla muzyki 16-bit.
  • MP3 (.mp3)
    Używaj tego tylko jeśli nie masz innego wyboru, zaś twoja muzyka jest tak mało znana lub tak niewiarygodnie stara, że po prostu nie istnieje w innych formatach. Ponadto, ten format najtrudniej odpowiednio zapętlić i, poczynając od Touhou 7, nie ma możliwości repatchowania.

Te formaty są kompatybilne ze wszystkimi strzelankami ZUNa wspieranymi przez thcrap (th06-th17).

Więcej formatów? Zagadaj do mnie! (Nmlgc)

Stosy łatek

  • Nakładając na siebie różnorakie łatki utworów muzycznych, powyższy priorytet jest brany pod uwagę na poziomie łatki, przed przejściem na kolejną. To jest, MP3 z łatki wyżej na stosie zawsze zastąpi FLAC z łatki niżej na stosie.
  • Pliki pętel zawsze muszą być w tej samej łatce i formacie co plik wstępu.

Jak nazywać pliki

Sprawdź kolumnę z nazwami plików liście utworów Splashmana, a także thcrap_log.txt (Ctrl+F i poszukaj flac > ogg > mp3), aby upewnić się, że wszystkie nazwy są odpowiednio.

Układ plików

Pliki można wrzucić albo do głównego folderu łatki, albo do podfolderu dla danej gry. Zwykle, lepiej użyć głównego folderu łatki - プレイヤーズスコア to np. th10_17 w TH10-12, i th128_08 zaczynając od TH12.8, i jedynie poprzez wrzucenie tych dwóch plików do głównego folderu łatki, będziesz w stanie pokryć wszystkie z tych (i przyszłych) gier. Ale nadal można używać podfolderów dla danych gier, jeśli chcesz osobne Wyniki Gracza dla danych gier, nawet przy dodaniu pliku ogólnego do głównego foldera łatki.
Tak w ogóle, dla spójności z późniejszymi grami, mody muzyczne dla TH06 nie mają osobnego podfolderu bgm/, w przeciwieństwie do tego, co oryginalne pliki sugerują.

Co do samych łatek, zalecany jest ten układ jeśli oferujesz zarówno łatki bezstratne jak i startne:

  • <nazwa>_base: Zmodyfikowane obrazy i komentarze Kącik Muzycznych, wszystkie utwory, które są dostępne tylko jako MP3. Zależne od base_tsa
  • <nazwa: Bezstratne utwory źródłowe przekształcone na Vorbis. Zależne od <nazwa>_base
  • <nazwa>_lossless: Bezstratne utwory źródłowe. Zależne od <nazwa>_base

Zapętlanie

Każdy oryginalny utwór to dwa pliki audio w danej łatce: Plik wstępu, który używa tej samej nazwy, co oryginał, oraz opcjonalny plik pętli, który ma .loop przed roszerzeniem. Więc np. modyfikacji muzyki ekranu tytułowego TH06 w formacie Ogg Vorbis wymaga plików nazwanych th06_01.ogg oraz th06_01.loop.ogg.
Zapętlanie jest wykonywane wewnętrznie, poprzez po prostu cofnięcie obecnie grającego pliku po tym, jak skończy grać. Wszelkie wartości pętli z gry lub modyfikacji punktu pętli są ignorowane.
Oznacza to, że można nie używać pliku .loop, wrzucić cały utwór w "plik wstępu", zaś thcrap po prostu to zapętli.

Jeśli masz bezstratne pliki źródłowe, oczywiście należy podzielić je na dwa przed konwersją tych dwóch plików na Vorbis, na wypadek, jeśli chcesz oferować łatkę stratną.

Jeśli z jakiegoś powodu, nie chcesz pętli i nic nie powinno grać po tym, jak utwór się skończy: to jest równoważne do "zapętlenia krótkiego momentu ciszy". Najlepszym sposobem jest wrzucenie 4 sekund ciszy w odpowiedni plik .loop.

Zapętlanie plików MP3

Dla pierwszego MP3, upewnij się, czy twój edytor audio do zapętlania na pewno wspiera rozszerzenie LAME dla MP3 bez przerw. (Bo np. GoldWave v6.35 i Audacity 2.3.0 nie wspierają.) W tym celu, przekształć MP3 na FLAC lub WAV za pomocą czegoś, co wspiera (np. foobar2000 v1.4) i sprawdź, czy twój edytor pokazuje taką samą ilość ciszy na początku zarówno pliku FLAC/WAV jak i pliku MP3. Jeśli tak nie jest, zawsze należy przekształcić na plik FLAC/WAV, aby "nałożyć" usunięcie MP3 przed przerwą i użyć tego nowego pliku, aby ustalić próbki początku/końca pętli. (Po tym, jak pętla zadziałała, po prostu wyrzucasz bezstratny plik.) Następnie, użyj pcutmp3 w wierszu poleceń, aby dokonać cięcia z dokładnością próbkową.

Tak, niestety potrzebna do tego Java. Nie, mp3DirectCut nie zadziała.

java -jar pcutmp3.jar --crop 1:0-123,1:123-456 "C:\path\to\the\original.mp3", gdzie 123 to próbka początku pętli, and 456 to próbka końca pętli.

Zastrzeżenia i bugi ZUNa

Na to wszystko można kupić poprawki! Pogadaj z Nmlgc, jeśli coś ci potrzeba!

  • TH06 to jedyna gra, gdzie modyfikacje utworów mogą mieć jakąkolwiek częstotliwość próbkowania, głębię bitową, oraz ilość kanałów.
  • TH06: Można by nieco polepszyć wydajność na zmianie utworów.
  • TH09: Upewnić się, że twój zmieniony utwór ekranu tytułowego ma co najmniej 0,3 sekund ciszy na początku. z jakiegoś powodu, gra zawsze chce zacząć grać utwór ekranu tytułowego przez krótką chwilę, przed przejściem na odpowiedni utwór konwersacji na początku poziomu. :zun:
  • TH11: Podobny problem, ale z utworem Poziomu 6: Gra zaczyna odtwarzać go przez kilka milisekund podczas przechodzenia na poziom, potem pauzuje odgrywanie i wznawiania dopiero około 4,9 sekund później.
  • TH13: Wydajność przy przełączaniu z i na utwory transu można by nieco polepszyć.

Zmienianie utworów Touhou dla tępaków

Prosty samouczek krok po kroku

1. Otwórz swój folder thcrap i stwórz nowy folder. Nazwij go, jak tylko chcesz.

2. Stwórz nowy folder w folderze, który właśnie stworzyłeś/aś i nazwij go, jeśli chcesz.

3. Wrzuć do tego folderu swoje pliki audio (do foldera w folderze) WAŻNE Musi użyć odpowiednich nazw, inaczej gra ich nie zrozumie. Patrz tutaj dla nazw.

4. Upewnij się, że plik audio jest w formacie .flac, z częstotliwością próbkowania 44100hz i 16-bitową głębią dźwięku. Do wszystkich tych rzeczy rekomendujemy Audacity.

5. Przejdź do następującej lokacji (nadal w folderze thcrap, NIE THCRAP W FOLDERZE GRY) thcrap -> config i otwórz plik js z danymi gry, które chcesz edytować. Następujący plik zaczyna się od {

 "console": false,
 "dat_dump": false,
 "patches": [
   {

WAŻNE: Nie zapomnij, jak nazwałeś swoją konfigurację gry (np. jeśli chcesz zmienić utwór audio w ósemce, upewnij się, że edytujesz konfigurację ósemki)

6. Dodaj tą linijkę do pliku .js:


},
{
 "archive": "*nazwa folderu/nazwa folderu"

i upewnij się, że po zrobieniu wszystkiego, kończy się tak:

  }
 ]
}


7. Włącz grę - wszystko powinno działać.


Uwaga: W przyszłych grach, możliwe, że nie będzie wymagana częstotliwość próbkowania 44100Hz i 16-bitowa głębia dźwięków, ale nie mogę tego zapewnić.

Nadal nie działa? Wyślij mi e-maila (ratchet12663@gmail.com) lub wiadomość na reddit'cie (u/d12trg)

Dla bijatyk Tasofro (TH13.5, THH14.5, TH15.5)

Ze strony wiki AoCF uzytkownika VasteelXolotl

Link powyżej posiada przykładowe grupy podmienionej muzyki.

Podmiana muzyki jest w pełni ze strony klienta i nie ma wpływu na rozgrywkę sieciową. Ponadto, to wcale nie zmienia plików gry, ponieważ to jest "miękka" modyfikacji poprzez thcrap.

1) Ustawienie wszystkiego

Stwórz nowy folder pod folderem "repos" thcrap. Nazwij go jak tam chcesz, ja po prostu dałem "bgm155", żeby było prosto.
W tym folderze, stwórz kolejny o nazwie "th155", w tym z kolei stwórz "data", a następnie "bgm". Wróc się do głównego folderu thcrap i wejdź do folderu "config".

Gdzieś tam powinien być plik .js nazwany po twojej domyślnej konfiguracji. Jeśli nic nie kombinowałeś/aś podczas instalowania łatki angielskiej, powinno być "en.js". Zrób kopię i nazwij ją "bgm155.js". Otwórz ją w edytorze tekstowym który tam posiadasz.

Otwarty plik powinien wyglądać jakoś tak
1.PNG
Dodaj swoją łatkę do tego. Wrzuć ją po wszystkich innych, aby zapobiec problemom. Plik powinien wyglądać mniej więcej tak - następnie zapisz go.
2.PNG

Teraz znajdź swój skrót th155 od thcrap (w głównym folderze thcrap) i ponownie go skopiuj. Daj mu wygodną nazwę. Kliknij prawym przyciskiem i wybierz Właściwości, a następnie wejdź w zakładkę Skrót w nowo otwartym oknie. Na końcu pola "Element docelowy", zmień "en.js" na "bgm155.js". Naciśnij OK.

Wszystko już jest ustawione. Nieźle.

2) Właściwa podmiana muzyki

Kaźdy utwór to 3 pliki - dwa plik i.ogg (jeden z których to po prostu muzyka grana w grze, zaś drugi to 20-sekundowy podgląd grany podczas wybierania poziomu), a także plik .sfl zawierający metadane pętli dla muzyki w grze.
Zmień im nazwe na te odpowiadające plikom AoCF. Dla ułatwienia, można je znaleźć o tutaj.

Pamiętasz jeszcze te wszystkie foldery, co stworzyłeś/aś? Idź do folderu "bgm" i wrzuć tam odpowiednie pliki. Bum, zrobione.

3) Zmiana tytułów utworów w grze

Więc zmieniłeś/aś motyw Marisy na ten, co ssie mniej, lub też podmieniłeś/aś motyw Nitori na motyw Ayi czy coś innego. Został jednak mały problem - tytuł muzyki się nie zgadza. Chcesz to naprawić? No pewka, bo inaczej będzie to dręczyć przez wieki wieków.

W folderze "bgm", utwórz nowy plik o nazwie "bgm.csv.jdiff". Otwórz go w jakimś edytorze tekstowym. Pamiętasz cyfry w nawiasach w powyższym Pastebinie? Właśnie teraz są potrzebne. Otwórz nawias klamrowy w pierwszej linijce. W drugiej linijce, wpisz numer muzyki, której chcesz zmienić, w cudzysłowiu, następnie dwukropek i następny nawias klamrowy, np.
"2": {

W następnej linijce, wpisz:
"7": "[nazwa utworu]"

Jeśli chcesz także zmienić nazwę osoby odpowiedzialniej za utwór, można to zrobić w następnujący sposób w następnej linijce:
"8": "[composer name]"

Następnie, wpisz zamykający nawias klamrowy, tj. }. Powtarzaj to wszystko tyle razy, ile tylko trzeba, a następnie kolejne }. Już koniec. Tutaj masz mój plik jdiff, jeśli potrzebny ci punkt odniesienia.
jdiff.PNG

4) Właśnie punkty zapętlenia

Użyj narzędzia do zapętlania .sfl Egora.