matlab - 音频信号的延时

标签 matlab audio microphone speaker timedelay

这是场景:

我生成的信号是: 200ms @ 2kHz 1000ms of zeros 200ms @ 2kHz

我想计算它们之间的时间延迟,而不是两个合成音频部分之间的时间延迟。但是通过在扬声器上播放信号并使用麦克风记录它(增加噪音)

Fs = 44100

我试过:1.互相关2.计算8820个样本大小的RMS窗口的两个最大值之间的差异。 (当窗口位于声音部分时,我们得到最大值。

扬声器和麦克风之间的距离约为 30 厘米。我无法得到稳定的结果。为什么?

最佳答案

如果您想准确一致地执行此操作,那么我过去使用的一种方法是将一个 channel (例如左 channel )从输出环回输入,然后使用另一个(即右) channel 进行时序测试.然后,您可以在左(环回)和右(实际音频) channel 之间进行交叉关联。这消除了许多潜在的错误来源(缓冲区延迟、硬件延迟、软件问题等),因为左右 channel 将始终“同步”,并且您应该能够将测量精确到 +/- 1 个采样周期(在 44.1 kHz 时为 +/- 12 µs)。

关于matlab - 音频信号的延时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24009805/

相关文章:

linux - 获取 Linux 和 MacOSX 上用户文档文件夹的路径

android - 从两个或多个 mp3 文件创建混合音频文件

android - 静音手机时应用程序卡住

java - 计算麦克风音量(试图找到最大值)

java - 从麦克风读取数据并检测 DTMF 音调的代码

Matlab:向二维图添加第三维

matlab - 为什么 Matlab 2014a/b 中的 TreeBagger 只使用并行池中的几个 worker ?

variables - Simulink 和 MATLAB - 何时使用工作区变量与输入/输出端口

azure - 如何在 Azure Windows Server 2016 DataCenter 上激活 Remoteaudio?

unity3d - 使统一音频播放与原始WAV文件完全相同的高频音频以进行听力测试