MHWS 角色语音mod教程(含高效小工具)
准备工具

下载好这些工具后(wwise或许你不会下载,后面会说),我们先不急着去管他,等到后面教程会教怎么使用这些工具。


教程内容

教程内容包括:

  1. 解包。将音频文件从根目录下的pak中提取出来
  2. 找到对应文件。介绍了提取出来的文件格式、分类
  3. 拆包。将音频文件从spck.1.X64.Ja中提取出来,提取出来的文件是wem类型。
  4. wem试听。使用Foobar2000试听提取出来的wem文件。
  5. wem格式转wav。如何把wem文件转换为wav格式文件。
  6. wav编辑。如何编辑wav格式的音频。
  7. 音量调整。如何调整新的音频(wav格式文件)的音量。这步比较复杂,但是没有难点,别出错是重点。
  8. wem封包回spck.1.X64.Ja文件。如题,把转换好的文件封包回去。
  9. 其他

←←←看左侧目录!!


解包

如何解包、使用什么工具与list表,其他各种教程已经教过许多了,这里不多赘述。可以参考风过无痕大佬的外观mod教程中的解包教程。

这里要说的是我们会用的哪些文件。

如图所见,这是本征大佬的ree-pak-rs工具的截图。

我们需要的是natives下的,Sound与streaming/Sound两个文件夹。

勾选这两个文件夹后,选择Extract导出即可。


找到对应npc(文件格式)

首先来到natives\STM\streaming\Sound\Wwise这个路径下。这个路径是存放npc配音音频的路径。

在这个路径下存放着成吨的文件:

这时候我们不用着急,右键空白处,选择分组依据-类型,随后选择排序方式-名称:


随后我们会发现,这里所有文件的后缀名有且只有:DE(德语)、EN(英语)、ES(西语)、FR(法语)、IT(意大利语)、JA(日语)、PTBR(葡萄牙语-巴西)、RU(俄语)、X64(其他)。

而某一个后缀名下的文件,又大致可以分为:

  1. Event_Dia_......
  2. NPC_.....
  3. NPC+数字_数字_数字_......
  4. OT_.....
  5. PL_.....

这五种。其中第3种包括绝大多数npc的配音文件。如果你知道npc对应的编号(例如丁真是NPC101_00_004),则复制那一个文件出来;如果你不知道,那就全部复制出来。这里以日配为例:


拆包

要打开上面的spck.1.X64.Ja文件,你需要下载ringing bloom软件。在github下载zip后直接解压,随后双击其中的exe文件就能打开ringing bloom。

这里注意左上角的Mode。在MHworld或者MHrise模式下,有些后缀名是打不开的。直接选择RE8模式即可。

选择之后点击PCK Editor打开针对...spck.1.X64....的编辑器,如图:

选择被我涂红的import,打开一个spck.1.X64.Ja文件,如下图所示:

这里的wem ID、Wem Name不急着去管它,我们先选择Export Wems,然后新建一个文件夹,下面file names显示的是save here,不用管他,选择打开就可以。

请注意,一定要在你的mod目录里新建一个文件夹。

随后你会得到一大堆wem文件,如图:


wem试听

要试听这些wem,以及转换wem为wav文件,你需要下载Foobar2000以及其插件vgmstream。

在foobar2000官网,如下图所示,选择64-bit版本。

下载完成后是一个exe安装程序,打开后,一路next即可完成安装。安装完成的快捷方式在桌面。

随后下载vgmstream。在github上下载最新的

foo_input_vgmstream.fb2k-component

就可以。下载完后双击下载的文件,foobar2000会自动完成安装。

安装完成之后,你就可以双击.wem文件打开foobar2000播放了。

对于那些不确定哪个spck.1.X64.Ja对应哪个npc的人,我建议你在这一步完成后,找到你想要修改的npc对应的哪个文件。


wem格式转wav

在找到想要修改的文件后,同样的,在foobar2000页面全选所有wem文件,右键-convert-quick convert,将这些wem转换为wav文件。


!!注意这些wem文件是从0开始命名的。虽然命名并不影响游戏的读取,但是当你要大量修改音频的时候,最好要保证不同格式的每个文件命名相同或至少相近。


wav编辑

你可以使用ai音色模拟软件,例如,GPT-SoVITS、CosyVoice、So-vits-svc(SoVITS)、seed-VC等。本人对上述项目不负责,仅举例。

或者你可以从其他地方选择音频文件,以替代原先的特定某句台词,例如交互时的回答,或者角色时不时的问好。


作者常用的是seed-VC:https://github.com/Plachtaa/seed-vc

首先但是,它不具备批量转换的能力,只能一条条的生成。

但是但是,即使你能够批量转换,你也没法保证全部音频的转换效果过关(至少要没有喷麦/哨音)。所以我认为这个软件够用了。

然而但是,你转换过后的音频文件,它保存的命名方式为audio.wav,十分杂乱。因此我写了一个脚本(重命名wav文件工具),可以将当前目录下的所有wav文件按照写入顺序命名。你可以在文末的附件中找到它。

这样就可以保证你的音频文件是同样从0开始的,按创建顺序排列的.wav文件了。


关于如何使用这些ai翻唱软件,你可以参照网上的其他教程。绝大多数现在的ai翻唱软件使用难度都很低,我就不过多介绍了。


音量调整

使用ai翻唱软件“唱”出来的音频,尤其是情感比较丰富的那些,还有喘息、受击声音,往往音量会和原先的音频差距巨大。所以我们需要参照原音频的音量,调整我们新获得的音频的音量。

(当然你可以使用au/pr等其他软件进行调整,但是我觉得麻烦。)

因此我写了一个脚本(音量调整工具),你同样可以在文末的附件中找到它。

打开这个工具的目录,你会找到三个文件夹:目标、要调整的、调整后的。

将你拆包得到的wav音频文件放到目标里面,将修改后的wav文件放到要调整的里面。注意对应的两条音频文件的名字必须一致。

运行程序,他会根据拆包得到的wav文件,计算平均的db,然后调整要调整的文件夹里面的wav文件的音量并保存到调整后的里面。


wav再转wem

这里我们要用到软件Wwise。

进入官网,右上角选择下载,注册账号后,下载一个wwise launcher。

下载过后运行这个软件,选择侧边栏的Wwise:

这里第一次使用的时候,INSTALLED VERSIONS下面应该提示你们Wwise是没有下载的。下载它。然后就会得到我这个界面。

点击Launch Wwise,启动Wwise。

然后得到如下图所示的窗口:

第一次启动时这里没有项目。选择New,新建一个项目。

在Name栏里随便输入一个项目名称后,记住这个项目的路径,点ok进入这个项目。应该长这样:

选择我黄笔高亮的ShareSets。

在左侧栏里面找到Conversion Settings-Default Work Unit-Default Conversion Settings。如图:

双击打开它。在右侧偏上找到Format,改为vorbis,后面quality是4不用管他。如图:

然后再在左侧,点击回到audio栏,右键下方的Default Work Unit,选择import audio files,如图:

然后在弹出窗口中,选择Add Files,选择你要转换格式的所有文件后,点确认,然后点import,然后再在新弹出的窗口中再点import。如图:

然后你的wav文件就导入到Default Work Unit的下拉栏中了。如图:

你可以在这里试听、调整音量试听等(虽然我觉得用不到,但是要说明,这里调整音量并不会改变这个wav文件以及一会导出的wem文件本身的音量。)

右键一个文件,选择convert,然后在弹出窗口中再点convert,就能把它转换为wem文件。


首先注意!

在你导出之后,一定要到(你的项目目录/.cache/随机两字符文件夹)下看一眼导出的wem文件!这个文件的文件大小很重要!因为你使用的编辑wav的手段会或多或少的改变wav文件的大小,使之更大,所以务必务必和最开始拆包时得到的wem文件对比一下。如果你正常设置了Format,改为了vorbis,那么这个wem应该至少小于等于或仅仅略微大于(<15%)最初的wem。否则你需要调小前面我提到的quality,直到不再显著大于原文件。


其次但是!

这个软件很傻逼的两点是:

  1. 它直接把转换后的wem文件放到了(你的项目目录/.cache/随机两字符文件夹)下,所以我之前说,你一定要记住你的项目在哪
  2. 它转换出来的wem的命名,只!能!是!乱!码!

所以如果只是少数三四个文件还好,但是像丁真的语音文件,有从0-508一共509个,完全不可能一个个去和原文件对比。

因此我又又又写了一个脚本(针对wwise转换格式的)。把这个程序直接放到你的项目目录里面。如图:


然后双击启动这个程序,效果如图:

然后回到Wwise程序里面。

手动,按顺序的,一个一个的,

选择每一个要转换的音频文件,并转换。

这里会很麻烦,所以有一个技巧:你不用右键点击这个文件,你只需要鼠标左键聚焦到这个文件的上一级,然后按shift+c,然后按回车,就可以完成转换。但是注意一定要选择上,不要点到旁边的“√”。如图:

随后在我写的那个程序的窗口中会提示:

提示一次文件被占用没有问题。只要下面的moved...路径...新建文件夹\数字.wem显示了,那么就是运行正常的。

转换完成后,在项目目录下面的新建文件夹中,就能得到一连串的数字.wem文件了。



wem封包回spck.1.X64.Ja文件

现在咱们终于可以把折磨了自己许久的wwise关掉了。

现在咱们下一步是要用ringing bloom-PCK Editor,把音频文件替换掉。

然而,即使ringing bloom作者最新更新里面提供了mass replace功能,但是效果是这样的:

还是那句话,如果仅仅是替换少数几个还好,但是如果要替换上百个,毫无疑问是在浪费生命与视力。


因此!!我们可以选择使用另一个功能:ID Replace

我叕写了一个脚本(针对ringing bloom封包的)。这个东西略微有点复杂。

首先:用PCK Editor打开你要替换的spck.1.X64.Ja文件(就是你的wem最开始从哪拆包出来的那个)。然后点击第一行的除文本框/下拉栏以外的地方,聚焦到上面。效果如图:

然后双击运行“从窗口中读取所有可写元素”这个程序,然后再次聚焦到PCK Editor这个窗口上,等。等待过程应该如图:

在此期间程序会慢慢读取所有文本框里面的内容,即左侧的Wem ID和右侧的Wem Name里面的内容。

等到程序一直显示未读取到新内容后,且条数与PCK窗口里面的条数的两倍相近之后,选择程序窗口,按ctrl+c,程序会将所有读取到的内容按序号排列输出。

如图(这里只截取一小段):

共xx条,条数应该是PCK Editor读取到的wem数量的恰好两倍。

把(共xx条下括号冒号)后面的每一行,包括前面的序号,复制。

然后双击打开(提取纯数字)这个程序,然后粘贴进去,然后敲回车,然后按ctrl+C。随后效果应该如图(这里只截取一小段):


复制最下面的排序结果。这是按照id的大小排序过后的所有id。

而恰好,我们的id与导出的wem文件,也与刚刚我们转换完成后的wem文件,就是从小到大对应的,最小的id对应0.wem,然后是第二小的与1.wem等等等等。

随后我们打开一个新的PCK Editor。然后选择import wems,选择所有你在上一步里面准备好的wem文件。

效果如图:

现在你可以看到,Wem ID全都是0。

然后,点击右上的ID Replace。

在弹出的窗口里面,粘贴上你刚刚复制的那一大坨,用英文的半角逗号隔开的,id。如图:

然后点Confirm。

然后选择export。注意这里一定要给文件起一个名字,一定要带有.(语言)的后缀

然后你就能在你选择的路径下,得到两个文件:

没有点nonstream的文件,改名为你拆包时用的文件,放到那个文件的目录下(即natives\STM\streaming\Sound\Wwise)

有点nonstream的文件,删掉后缀的nonstream,同样改名为你拆包时用的文件,(一样的名字。)放到路径(natives\STM\Sound\Wwise)下。

然后,这就是一个完成的mod。



其他

如果你运行之后发现角色没有声音,说明你压缩后的wem文件太大了。去仔细读第8步(wav再转wem),看看注意事项。

欢迎补充,欢迎反馈。

教程中的脚本基本由deepseek使用python编写。deepseek我爱你。

感谢诸葛不太亮大佬提供的工具列表,感谢他的群聊中的各个其他大佬提供的支持。

感谢风过无痕大佬提供的从零开始做外观mod教程,让我可以不用给这个教程想格式。

附件
工具脚本
免费
by 三船山羊 发布于 2025-03-13
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
默认
最新


1