提取nds游戏的音乐
nds游戏绝对是游戏界的瑰宝,尤其是有些游戏的音乐还很好听,所以想把它们提取出来。网上搜了下教程,这里整理一下,全程在archlinux下操作。
首先用到的工具是(vgmtrans)[https://github.com/vgmtrans/vgmtrans)
按照github上的wiki,首先要安装Qt5 和 FluidSynth,然后编译:
- Run
git clone https://github.com/vgmtrans/vgmtrans - Navigate into the vgmtrans folder, then run
git checkout qt-port - Run
mkdir build && cd build - Run
cmake .. - Run
make -j$(nproc)
编译完成后执行./vgmtrans。
将.nds文件拖到窗口。然后在下面的Detected collections窗口中选择一个音乐,工具栏可以点播放按钮试听,右键导出Save as MIDI and SoundFont 2。也可以在空白处右键导出所有文件。
导出后的mid和音色文件可以用上面安装的FluidSynth组合成wav文件:
fluidsynth -ni sound_font.sf2 input.mid -F output.wav -r 44100
或者是这样批量操作
#!/bin/bash
find -name "*.mid"|while read line
do
input_name=$line
bn=${line//.mid/}
fluidsynth -ni ${bn}.sf2 ${bn}.mid -F ${bn}.wav -r 44100
done
为了方便分享,可以用lame转成mp3:
find -name "*.wav"|cut -c 3-|while read line; do lame --preset insane $line; done