代码之家  ›  专栏  ›  技术社区  ›  fyasar

比较应用程序内部的声音

  •  1
  • fyasar  · 技术社区  · 14 年前

    能比较两种声音吗? 例如,应用程序已经有一个声音文件mp3或任何格式,有可能比较任何静态声音文件和记录的声音内的应用程序?

    欢迎任何意见。

    当做

    1 回复  |  直到 14 年前
        1
  •  2
  •   deanWombourne    14 年前

    这个论坛的帖子有一个很好的答案(大约三个)- http://www.dsprelated.com/showmessage/103820/1.php .

    诀窍是从mp3中获取解码的音频-如果它们只是简短的“你好”声音,我会将它们存储在应用程序中作为wav,而不是解码它们(尽管我以前从未使用过CoreAudio或任何其他框架,因此mp3解码到内存中可能很容易)。

    信号:

    http://www.sonicspot.com/guide/wavefiles.html

    2时间扭曲可能是必要的,也可能不是,这取决于差异 两个采样率之间:

    http://en.wikipedia.org/wiki/Dynamic_time_warping

    3时间扭曲后,截断两个信号,使其持续时间 等价物。

    http://en.wikipedia.org/wiki/Power_spectrum .

    信号:

    http://en.wikipedia.org/wiki/Mean_squared_error

    两个信号之间的距离是一个很好的度量 文件,其中2个几乎是 相同,但其他的不是,这两个 接近的应该有一个 相对较低的MSE。两个完美的 不同时间尺度的信号, (20秒人类对话) 5秒的花栗鼠),不同的能量 花栗鼠)和不同的阶段 (取样开始时间略有不同。) 输入);MSE仍应为零, 但量化误差 大于零。

    http://en.wikipedia.org/wiki/Minimum_mean-square_error

    您应该得到两个不同的MSE值,一个在男性录制的曲目之间,另一个在女性录制的曲目之间。差别最小的比较可能是正确的性别。