附录:小技巧

2022/6/24

这两天整理之前做 LV69 的东西的时候看到了之前做音频识别的虚拟机,突然想到还有必要写点这个方面的东西,所以开了这个附录,这个附录和 Ren'Py 完全木有任何关系,不过可能会给这种做移植的你带来些许帮助

# 音频识别(声纹识别)

按照一般情况下,Galgame 的音声是会按照顺序进行的,类似从 “0000001.ogg” 按照从小到大的顺序到 “0001457.ogg” 这样,但是,如果是存在多周目、补录音声,甚至厂商专门打乱音频顺序的情况,就会导致在移植过程中很难找到某句话对应的音声,如果一句一句去听的话,会非常浪费时间,为了解决这个问题,我们在移植中去 Github 上找了这样的库,最后发现了 charlesconnell/AudioCompare (opens new window) 这个音频比对库,这个库是 Northeastern University 的学生在 2013 年为完成学期作业整的,虽然比较老,但是在免费的里面算是非常好用了

# 安装

虽然这个库是 Python 写的,理论上可以跨平台运行,不过在实际使用的时候发现这货和 Win10 兼容性奇差,见 Issues #12 (opens new window) ,要正常使用本项目,你需要使用 CentOS7 并编译安装 lame (安装 lame 可以参考 #6 (opens new window) ),需要的依赖是 numpy 和 lame

如果你搞不定安装的话,我这里提供一个移植中使用的虚拟机,直接导入即可,虚拟机下载链接见下

虚拟机下载链接 (opens new window)

虚拟机的登录账号密码是 root/luckykeeper ,网络配置是 DHCP ,网卡配置文件在 /etc/sysconfig/network-scripts/ifcfg-eth0 ,虚拟机压缩文件大小 1.87G 解压后大小 300G ,请预留充足的硬盘空间

# 使用方法(虚拟机版本的,自己安装请参考并根据需要修改命令)

  1. /root/ 目录下上传将要比对的音声如 target06.mp3(对原作录屏,并将录屏文件转换为 .mp3 格式)
  2. /root/cp_all 目录上传 mp3 格式的全音声比对库(比如要比对心爱酱的音声,就把心爱酱的所有音声传上来)
  3. 进行比对,参考命令:nohup python /home/AudioCompare/main.py -f /root/target06.mp3 -d /root/cp_all/
  4. 获取比对完成的结果 nohup.out
  5. 使用 MS Word 去重,用 MS Excel 排序

Tips:

  • 必须使用 mp3 格式的音频,如果不是,用格式工厂之类的软件转换
  • 文件目录可以更换,比如不放在 /root 而是放在 /opt ,但是要跟着改变命令
  • 上传下载文件可以用 FlashFXP 等软件,sftp 连接
  • 命令除了直接在 NOVNC 操作外,可以用 putty 等软件连接 ssh 操作