音频帧包含什么?

我正在做一些关于如何比较声音文件(波形)的研究。基本上我想将存储的声音文件(wav)与麦克风的声音进行比较。因此,最后我想预存储自己的一些语音命令,然后在我运行我的应用程序时,我想将预存储的文件与麦克风的输入进行比较。

我的想法是在进行比较时要留出一定的余地,因为我猜很难以完全相同的方式连续说两次。

因此,经过一番谷歌搜索后,我发现python具有名为wave和Wave_read对象的模块。该对象具有一个名为readframes(n)的函数:

读取并返回最多n帧音频(以字节字符串形式)。

这些字节包含什么?我想一次将波形文件循环播放一帧,然后逐帧比较它们。

回答:

音频帧或样本包含该特定时间点的幅度(响度)信息。为了产生声音,依次播放成千上万帧以产生频率。

对于CD质量的音频或未压缩的波形音频,每秒大约有44,100帧/样本。这些帧中的每一个都包含16位分辨率,从而可以相当精确地表示声级。另外,由于CD音频是立体声的,所以实际上有两倍多的信息,左声道16位,右声道16位。

当您在python中使用声音模块获取框架时,它将作为一系列十六进制字符返回:

  • 8位单声道信号的一个字符。
  • 8位立体声的两个字符。
  • 16位单声道的两个字符。
  • 16位立体声的四个字符。

为了转换和比较这些值,您必须首先使用python wave模块的功能来检查位深度和通道数。否则,您将比较不匹配的质量设置。

以上是 音频帧包含什么? 的全部内容, 来源链接: utcz.com/qa/398361.html

回到顶部