【问题标题】:Dynamic time warping to compare two audio recordings动态时间扭曲比较两个录音
【发布时间】:2011-01-11 04:49:06
【问题描述】:

我想使用动态时间扭曲来比较两个音频记录的两个特征向量(当然,我会先进行所有必要的预处理)。我的程序应该以百分比输出两个录音之间的相似度。例如 100% 意味着两个录音完全相同,录音的差异越大,我得到的数字就越小。我该如何解决? DTW 只给我路径的长度或转换的成本,我不知道如何将这些数字之一转换为百分比值。

【问题讨论】:

    标签: audio wav signal-processing audio-recording


    【解决方案1】:

    我不知道以百分比衡量的信号之间的任何距离度量。如果有 100% 的含义,那么一定有 0% 的含义。所以首先你需要问自己:0% 是什么意思?

    对于 DTW,我很确定没有将最小距离转换为“百分比匹配”的既定转换。如果必须,则需要定义一个启发式量,它是最小 DTW 距离的函数。

    编辑:实际上,如果您有两个有限长度的记录,您可以定义一个最长距离。那将是一条路径的距离(如果查看成本矩阵)一直向右然后向下,或者一直向下然后向右。最佳路径,即完美匹配,沿着主对角线。

    一个简单的想法:如果使用 (0,1) (1,0) (1,1) 作为候选步骤,您可以使用 (0,1) 和 (1,0) 所采取的步骤数作为衡量坏的程度。这个度量当然有一个最大值和一个最小值,所以它可以映射到一些理想的范围,比如 0-100%。

    【讨论】:

    • 0% 可能意味着录音是无限不同的(DTW 路径的无限长度)。所以当然在实践中我永远不会得到 0%。但是让我重新表述这个问题——我需要做什么才能使 DTW 路径的长度直接相互比较?当然,我比较的录音长度越大,我得到的路径就越长。
    • 所以我不能直接使用 DTW 路径的长度来为用户提供基于百分比的评分。我需要一些方法来首先标准化生成路径的长度。有什么想法吗?
    • @pako 嗨,我在搜索“使用 R 语言比较两个录音”时已经解决了你的问题,并且自 1 个月以来一直在尝试,但没有运气,我需要你的帮助,在你说的问题“我先做所有必要的预处理。”我能知道在比较音频文件之前需要完成哪些预处理步骤吗?我需要您的经验来完成我的 R 语言工作,请指导我完成工作的步骤,以便我可以使用我的技术完成它。很抱歉打扰你(我的邮箱地址 nalamdinesh@gmail.com 以防这里解释太长)谢谢你
    • @Pako,请按照我可以理解的水平提供详细信息,因为我是音频处理,信号处理领域的初学者,希望您了解我的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多