下面是一个信号,它代表某人说话的录音。我想在此基础上创建一系列较小的音频信号。这个想法是检测“重要”声音何时开始和结束,并使用这些标记来制作新的音频片段。换句话说,我想使用静音作为音频“块”何时开始或停止的指标,并以此为基础制作新的音频缓冲区。
例如,如果一个人记录自己说
Hi [some silence] My name is Bob [some silence] How are you?
然后我想从中制作三个音频剪辑。一个说Hi
,一个说My name is Bob
,一个说How are you?
。
我最初的想法是通过音频缓冲区不断检查低振幅区域的位置。也许我可以通过取前十个样本来做到这一点,平均这些值,如果结果很低,则将其标记为无声。我将通过检查接下来的十个样本来继续缓冲区。以这种方式递增,我可以检测到信封在哪里开始和停止。
如果有人对一个好的但简单的方法有任何建议,那就太好了。就我的目的而言,解决方案可能非常初级。
我不是 DSP 的专业人士,但了解一些基本概念。此外,我会以编程方式执行此操作,因此最好谈谈算法和数字样本。
感谢所有的帮助!
编辑 1
到目前为止反应很好!只是想澄清这不是现场音频,我将自己用 C 或 Objective-C 编写算法,因此任何使用库的解决方案都不是真正的选择。