Dubbingowanie Skyrima #2

Obsługa plików bsa

Wstęp

Witam w drugim wpisie, w którym pokrywam temat dubbingowania modyfikacji do Skyrima.

Ten artykuł skupi się na rozpakowaniu i spakowaniu plików bsa poprzez BSArch.

Dodatkowo powiem co nieco o strukturze archiwum .bsa z głosami oraz przegląd struktury paru modyfikacji, które zawierają dubbing (tu: Alternate Start i Gifts of the Outsider).

BSArch

Rozpakowywanie i pakowanie bsa

By rozpakować, należy najpierw stworzyć folder docelowy a potem dopiero uruchomić BSArch

Ważne! Zakładam, że BSArch.exe jest w aktywnym folderze!

mkdir output
BSArch.exe unpack ./Gifts Of The Outsider.bsa output
export WINEPREFIX=$HOME/.local/share/wineprefixes/wine_dotnet
mkdir output
wine BSArch.exe unpack ./Gifts Of The Outsider.bsa output 2>>/dev/null

Pozamienialiśmy pewne pliki to czas spakować z powrotem do bsa

# -sse - Pakuje dla Skyrim Special Edition

BSArch.exe pack "output" "Gifts Of The Outsider.bsa" -sse
export WINEPREFIX=$HOME/.local/share/wineprefixes/wine_dotnet

# -sse - Pakuje dla Skyrim Special Edition

wine BSArch.exe pack "output" "Gifts Of The Outsider.bsa" -sse 2>>/dev/null

Poza -sse można pakować też dla Falloutów, Obliviona, Skyrima czy Starfielda

Lista opcji ustalających format dla docelowej gry:

  • -tes3 - Format archiwum Morrowinda
  • -tes4 - Format archiwum Obliviona
  • -fo3 - Format archiwum Fallout 3
  • -fnv- Format archiwum Fallout New Vegas
  • -tes5- Format archiwum Skyrima LE (wersja przed SE)
  • -sse- Format archiwum Skyrim SE/AE
  • -fo4- Format archiwum Fallout 4
  • -sf1- Format archiwum Starfielda

Struktura bsa z głosami

Archiwum bsa może zawierać w sobie dźwięki efektów specjalnych, tekstury, skrypty, pliki głosów przypisane dla danego voice type i inne potrzebne modowi pliki.

Oto parę przykładów struktury bsa dla modów Gifts of the Outsider i Alternate Start.

Pozwoliłem sobie uciąć nazwy czy je zmienić, że realnie będą dłuższe. Nazwy są tutaj poglądowe.

bonecharm.nifrune.nif
invisibleactivator01.nif
goto_q00.psc<...pliki pex...>
goto_q00.pex<...pliki pex...>
file_1.lipfile_1.wav<...pliki wav i lip...>

Można zauważyć, że autor Gifts of the Outsider nie składał plików audio do fuz, tylko zostawił wav i lip i to działało

0003136c.nif<...pliki nif...>
lalfarmintcorner02v2.nif
skrypt_1.pex<...pliki pex...>
skrypt_1.psc<...pliki psc...>
mara_powitanie.xwm
mara_audio_1.fuz<...pliki fuz...>
kobieta_audio_1.fuz<...pliki fuz...>
<...pliki fuz...>

W Alternate Start spakowano lip i wav do pliku fuz oraz zastosowano audio do fx (format xwm), stąc trzeba też sprawdzać efekty w poszukaniu głosów

Można zadać pytanie, czemu zatem pakować do .fuz, skoro działa bez pakowania, wystarczy, by nazwa się zgadzała.

To kwestia kompresji, że w .fuz jest plik .xwm (skompresowane audio) i opcjonalnie .lip, dzięki czemu szybciej się pobiera co ma znaczenie zwłaszcza dla większych modlist czy modów.

Dodatkowo, jak robi się poza Creation Kit, to jest mniejsza szansa literówki przy jednym pliku

Przykład z pliku z Alternate Start:

Plik Rozmiar
arthlalrum_[…]_0001fb15_1.wav 103 kB
arthlalrum_[…]_0001fb15_1.lip 0.9 kB
arthlalrum_[…]_0001fb15_1.fuz 20 kB

Słowa końcowe

To jest jeden ze sposobów na rozpakowanie i spakowanie plików do/z .bsa skierowane ku wykorzystaniu w CLI i, w konsekwencji, w skryptach bat, powershell czy bash.

Nic nie broni użyć działających rozwiązań GUI, które może nie pozwalają na taką automatyzację, ale są wygodniejsze w użyciu.

Planuję napisać o wydobywanie tekstów z xTranslatora, generowaniu plików .lip oraz pakowaniu audio do .fuz przez Yakitori Audio Converter czy fuz_extractor.