单词边界的音频挖掘

时间:2011-04-25 00:16:39

标签: c# algorithm word-boundaries

我打算做什么:

我想开发English accent(没有专业培训)。

在执行摘要的推理背后的一组公理:

以下是故意简化,对不起。我试图让问题保持简短。

第1部分:了解学习如何运作。

目前我认为,Broca's areaWernicke's area必须注意语言,并且现有语音字母的肌肉记忆将构建语音。通过语音字母同化,口音随着时间的推移自然形成。

areas

使用Google我发现,speech shadowing可能会用于语音符号同化。另一方面,肌肉记忆可以通过重复动作轻松训练。这是最有效的,如果一个人年龄在23-24岁之间并且在他/她手上有很多无法解释的时间,因为失去焦点会大大降低有效的学习曲线梯度。这种procedural memory可以优化为在memory with designed sleep pattern中刷新。

第2部分:设计行为模式

  • 找一个流利的发言者,我想听起来像是一种口音。
  • 区分目标重音音素和手机。
  • 训练肌肉记忆以产生目标口音。

第3部分:找一个流利的发言者,我想听起来像是什么口音。

Youtube是一个强大的免费资源。音频样本,我很难挑选: 高清audio Someone Like You - Adele (Cover)

它不会打扰我,这是高调的女性声音。

第4部分:区分目标重音音素和手机。

这不是一项微不足道的任务 - 识别和判断口语电话是否正确。人类如何正确地传达有形文本。事实上似乎很复杂,我不打算自动化它,只使用IPA作为基线。

这是上面示例音频的美国IPA中第一首带有单词重音的诗篇: IPA

不打算侵犯版权。图像是使用upodn创建的(替代方法:photransedit)。

第5部分:训练肌肉记忆以产生目标口音。

虽然尝试模仿和归档同步很有趣,但我更喜欢构建一个工具,将单词提取为音频文件。所以我可以使用winamp或ipod来循环播放我想要的单词。

我想,我可以使用MS Expression Encoder。

问题

如果给出一个音频文件(例如wav格式,大小< 32mb)并且它的文本等效(有限nr个单词,例如2000),那么如何将它分成多个文件,每个文件包含1个单词。 Word可以包含一些多余的空格,边界检查可以由用户批准。如果它不准确,那么获得对字边界的良好估计的最佳方法是什么。

如果要手动完成,主要目的是减少我将要做的工作。

2 个答案:

答案 0 :(得分:1)

检测字边界是一项非常复杂的任务!我不知道你是否更多地研究过这个问题,但请参阅Saffran等,(1996)。 分词:分配线索的角色。 对于许多语言,还有许多语言生成的“语料库”,所以我不会使用新人,而是研究语言学文献中有关检测单词边界的内容。

答案 1 :(得分:0)

首先,我会通过在其上运行FFT将信号从时域转换到频域。这可能允许您将文本中的某些辅音与fft中的宽带噪声相匹配。这里的事情是你不是要尝试完整的语音识别,只需找到信号与文本的最佳匹配。 (当我在大学时,我做了类似的文档图像突出显示 - 不需要求助于OCR,因为我已经有了文本)。我的猜测是,寻找振幅下降对你没有多大帮助,因为有些词会相互碰撞。

以下是我第一次接触它的方法:

  1. 分析以辅音开头的单词的文本/ IPA,这些辅音会在频谱中产生易于识别的模式。
  2. 从高阈值开始,检测模式的实例。
  3. 降低阈值,直到获得正确数量的实例,并且它们之间的相对距离与您对文本距离的估计值相匹配。
  4. (如果可能,请在此处获取分割点的用户验证)
  5. 这应该会给你一套有希望的短语和频谱块。
  6. 使用其他特征检测方法将这些块拆分为单词。
  7. 继续,直到你只有一个单词。
  8. 我确信它可以推广,但这就是我尝试它的方式。