Skip to main content

WAD、BIN、BNK、WPK文件简单处理

Project description

league-tools

WAD、BIN、BNK、WPK文件简单处理

介绍

可以将英雄联盟中wpk或bnk中音频文件按照皮肤的触发条件分类解包, 默认为wem音频格式, 使用 vgmstream 可转码.

其余bnk文件结构来参考:http://wiki.xentax.com/index.php/Wwise_SoundBank_(*.bnk)

安装

pip install league-tools

pip install -e git+https://github.com/Virace/py-bnk-extract@package#egg=league_tools

使用

此包适合提取已知皮肤语音, 如需全部提取请关注 lol_extract_voice

from league_tools import extract_audio
from league_tools.formats import WAD


def example():
    """
    按触发事件文件夹分类提取 剑魔 语音文件
    :return:
    """

    # 临时目录和最终输出目录
    temp_path = r'D:\Temp'
    out_path = r'D:\Out'

    # 英雄名字, 以及对于默认皮肤的三个文件路径
    champion = 'aatrox'
    bin_tpl = f'data/characters/{champion}/skins/skin0.bin'
    audio_tpl = f'assets/sounds/wwise2016/vo/zh_cn/characters/aatrox/skins/base/{champion}_base_vo_audio.wpk'
    event_tpl = f'assets/sounds/wwise2016/vo/zh_cn/characters/aatrox/skins/base/{champion}_base_vo_events.bnk'

    # 需要解析两个WAD文件, 这个路径修改为自己的游戏目录
    wad_file1 = r"D:\League of Legends\Game\DATA\FINAL\Champions\Aatrox.wad.client"
    wad_file2 = r"D:\League of Legends\Game\DATA\FINAL\Champions\Aatrox.zh_CN.wad.client"

    # 将上面三个文件提取到临时目录
    WAD(wad_file1).extract([bin_tpl], temp_path)
    WAD(wad_file2).extract([audio_tpl, event_tpl], temp_path)

    # 根据三个文件对应提取语音并整理
    extract_audio(
        bin_file=os.path.join(temp_path, os.path.normpath(bin_tpl)),
        event_file=os.path.join(temp_path, os.path.normpath(event_tpl)),
        audio_file=os.path.join(temp_path, os.path.normpath(audio_tpl)),
        out_dir=out_path
    )

if __name__ == '__main__':
    example()

问题

待解决:

  • 不同事件调用相同语音, 导致文件重复
  • 不排除文件有缺失问题, event文件解析不完整

维护者

Virace

感谢

许可证

GPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

league_tools-0.2.2.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

league_tools-0.2.2-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

File details

Details for the file league_tools-0.2.2.tar.gz.

File metadata

  • Download URL: league_tools-0.2.2.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for league_tools-0.2.2.tar.gz
Algorithm Hash digest
SHA256 05afa67ea5d7c7a01ce8494d83d8a86821ba16a61a7f4aa61d17c85522396682
MD5 15fb76bb9e02695ca6a2f5bfe1411972
BLAKE2b-256 d15cc6531e357dcf2607f7eeedf184f8f2889a98eece152a140334365cf3e679

See more details on using hashes here.

File details

Details for the file league_tools-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for league_tools-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d0a161a569a7cb5ad77e8dcb4c59a4866709b812fac8e8d3e3c17ea78a46cd47
MD5 6930fe632034e6190bec39d68c188791
BLAKE2b-256 aeb9d718f574d998dc5e7a38e9be19923ecbc494a727eea5c4633ea5b006dc61

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page