Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thebowja/genshindata-scripts

Node scripts to extract data from ExcelBinOutput
https://github.com/thebowja/genshindata-scripts

Last synced: 29 days ago
JSON representation

Node scripts to extract data from ExcelBinOutput

Awesome Lists containing this project

README

        

# GenshinData-scripts
Node scripts to extract data from ExcelBinOutput

Used by my genshin-db repo

For personal use, edit the `config.json` file. The folder pointed by `GenshinData_folder` must include `ExcelBinOutput`, `TextMap`, and `Readable`.

AssetStudioCLI
`D:\GenshinImpact\AssetStudioCLI\AssetStudioCLI.exe "D:\GenshinImpact\3.7\patch\blocks" "D:\GenshinImpact\3.7\patch" --silent --types "Texture2D" --types "Sprite" --game GI --names "(^UI_.*)|(^Img.*)|(^Icon.*)|(^Eff_UI_Talent.*)|(^Skill_.*)|(^MonsterSkill.*)"`

## Audio files for voiceovers

Audio files for voiceovers can be extracted by using the script at `voice/audio.js` which is a partially translated JavaScript version of Razmoth/Audio's audio extractor. The files extracted are in `.wem` format which can be converted to other audio formats using other tools.

It does not extract audio files for story and etc. If you need other audio files, you can generate a `vo.txt` using `voice/getAllVO.js` and use it on the audio extractor from Razmoth/Audio.

Read the instructions below for detailed prerequisites and instructions for the following steps:
- [Generating vo.txt](#generating-votxt)
- [Audio extraction](#audio-extraction)
- ~~Converting audio format~~ TODO

### Generating vo.txt

Without being provided a `vo.txt` file, the audio extractor will export audio files with their hashed names. It is impossible to figure out what each audio file is supposed to be. Example:
```
/sfx/External_1792857726997092.wem
/sfx/External_1886194340482565.wem
/sfx/External_2128006690787571.wem
/sfx/External_2170657161166428.wem
```

Providing a `vo.txt` file allows the audio extractor to map audio source paths to audio ids by using the FNV1 64-bit hashing function. A `vo.txt` file is a list of audio source paths delimited by a `\n`. It is typically generated by scraping through the files in `GenshinData/BinOutput/Voice/Items`. Example:

```
VO_friendship\VO_ayaka\vo_ayaka_draw_appear.wem
VO_friendship\VO_ayaka\vo_ayaka_character_idle_01.wem
VO_friendship\VO_ayaka\vo_ayaka_character_idle_02.wem
VO_friendship\VO_ayaka\vo_ayaka_character_idle_03.wem
```

Note that Razmoth/Audio's audio extractor requires the audio language to be appended in front of the source path in the `vo.txt`.

```
English(US)\VO_AQ\VO_dainsleif\vo_SZAQ004_1_dainsleif_04.wem
Japanese\VO_AQ\VO_dainsleif\vo_SZAQ004_1_dainsleif_04.wem
Chinese\VO_AQ\VO_dainsleif\vo_SZAQ004_1_dainsleif_04.wem
Korean\VO_AQ\VO_dainsleif\vo_SZAQ004_1_dainsleif_04.wem
```

#### Generating vo.txt related to genshin-db voiceovers

The `voice/getAllVO.js` script generates a list of voiceover audio source paths and saves it to `voice/db-vo.txt`.
TODO

#### Generating vo.txt for all audio source paths
The `voice/getAllVO.js` script generates a list of all audio source paths and saves it to `voice/vo.txt`. This is a standalone script and you must modify the script and update the variable `BASE` to be your local `GenshinData/BinOutput/Voice/Items` path. The script may take more than a couple seconds to run due to the number of file reads it does.