分类目录
辅助功能
作者与出处
作者:cxm
http://bbs.ivocaloid.com/thread-58004-1-4.html
此方法可以用来拆各种DDB(Vocaloid声音库)
for i = 0 findloc SNDFILE string "SND " goto SNDFILE get SIGN long get SIZE long get FREQUENCY long get CHANNELS short get DUMMY long savepos OFFSET math SIZE -= 18 #log "" OFFSET SIZE # simple dumping till here, the rest is raw2wav set BITS long 16 set NAME string i string NAME += ".wav" callfunction raw2wav next i startfunction raw2wav set MEMORY_FILE binary "\x52\x49\x46\x46\x00\x00\x00\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x61\x74\x61\x00\x00\x00\x00" set RIFFSIZE long SIZE math RIFFSIZE += 36 set BLOCKALIGN long BITS set AVGBYTES long FREQUENCY math BLOCKALIGN /= 8 math BLOCKALIGN *= CHANNELS math AVGBYTES *= BLOCKALIGN putvarchr MEMORY_FILE 4 RIFFSIZE long putvarchr MEMORY_FILE 20 1 short # wFormatTag: Microsoft PCM Format (0x0001) putvarchr MEMORY_FILE 22 CHANNELS short # wChannels putvarchr MEMORY_FILE 24 FREQUENCY long # dwSamplesPerSec putvarchr MEMORY_FILE 28 AVGBYTES long # dwAvgBytesPerSec putvarchr MEMORY_FILE 32 BLOCKALIGN short # wBlockAlign putvarchr MEMORY_FILE 34 BITS short # wBitsPerSample putvarchr MEMORY_FILE 40 SIZE long append log MEMORY_FILE2 0 44 MEMORY_FILE log MEMORY_FILE2 OFFSET SIZE append math SIZE += 44 log NAME 0 SIZE MEMORY_FILE2
将以上代码存为ddb2wav.txt然后扔入QuickBMS即可
QuickBMS下载地址:http://aluigi.org/papers.htm#quickbms
由于YMH做了加密,通过转储临时文件来解包
因为是转储,所以是不可逆的(即不可封包为ddb)