【发布时间】:2017-08-31 16:38:39
【问题描述】:
我是一名 IT 学生,我接到了一项关于动态时间规整 (DTW) 的作业,我使用语音信号处理工具包 (SPTK) 比较了 2 位说话者所说的一些单词并找出了相似之处。 我设法让 SPTK 正常工作,收集了 8 个人(4 名女性,4 名男性),他们为我每人录制了 8 个单词(每个人的单词相同)并将它们保存为扩展名为 .wav 的文件。
我的 .wav 文件是:RIFF(小端序)数据、WAVE 音频、单声道 16000 Hz。 我将每个 .wav 文件转换为 .short 数据文件。 我使用这行代码将每个 .short 文件转移到一个 .mcep 文件中:
x2x +sf < source_maleA.short | frame -l 400 -p 80 | window -l 400 -L 512 | mcep -l 512 -m 20 -a 0.42 > source_maleA.mcep
之后,我又去对比了.mcep文件和这行代码:
dtw -m 24 target_maleB.mcep < source_maleA.mcep > source_maleA_target_maleB.dtw
该命令行的输出应该是一个数值(可能是一个浮点/双精度/整数值)或几个值。问题是我不确定如何打开那个 .dtw 文件,并且在我得到的文档中没有任何好的信息。当我尝试在任何编辑器中打开它或在终端中打开它时,我会得到一些奇怪的字母作为输出 [图 1]。
然而,在文档中它说使用参数 -s [Score] 我可以获得 DTW 进程的分数。所以我用这个命令行试了一下:
dtw -m 24 -s Scorefile target_maleB.mcep < source_maleA.mcep > source_maleA_target_maleB.dtw
我得到一个值,但格式很奇怪。
我在网上搜索了很多关于 .dtw 文件的文档,但没有找到任何东西。我试图将结果转换为另一种格式,但没有任何运气。 试图联系我的导师,但到目前为止还没有答案,而且已经有一段时间了。
任何人都可以就做什么或其他事情给我任何建议吗? 该文档可以在此站点上找到:http://sp-tk.sourceforge.net/(对不起,没有链接,但仍然没有足够的声誉 - 如果需要,将删除),但我认为不需要那么多,因为我认为我非常了解DTW 进程并认为我已经完成了,只是输出导致我出现问题。
提前致谢,
马可。
【问题讨论】: