当前位置:网站首页>使用互相关进行音频对齐
使用互相关进行音频对齐
2022-07-31 16:04:00 【非典型废言】
在计算一些音频指标如SNR的时候,我们需要音频信号与参考信号对齐,但有时候我们处理后的或者录制的音频并不是与参考信号对齐的,这就需要找到一种方法将它们对齐。
I. 互相关函数
音频对齐可以转化为时延估计问题,我们以前有介绍过使用GCC-PHAT进行时延估计,这里我们采用一种更为简单的方式进行估计——互相关函数。我们在语音信号时域分析介绍过自相关函数,类似的对于离散时域信号互相关函数的计算公式为:

我们知道在频域互相关中我们对广义互相关进行了一个加权,PHAT起到了白化的结果使得其互相关函数峰值更加明显,类似的可以对公式(1)进行类似的操作来使得峰值更为明显:

互相关的计算其实和互相关类似,我找了个视频来解释这个计算过程。
II. Praat
很多编程语言都封装好了互相关函数,这里我们使用一个语音分析领域常用的软件叫Praat。由于语音长度是有限的Praat在互相关函数上进行了适当的修改,简单来说互相关序列的开始时间将是f 的开始时间减去g 的结束时间,结束时间将是f的结束时间减去g的开始时间,即第一个采样的时间是f 的第一个样本减去g的最后一个样本,最后一个样本的时间将是f的最后一个样本减去g 的第一个样本,自相关序列的长度是f和g的样本数之和减1。
我们下面来看下效果,首先我们有两个音频,如下图所示,可以明显看到两个轨道上的音频有明显的延迟。

我们通过Praat计算出两个音频的时间延迟大约是1.284s。

我们把第二个轨道的音频提前1.284s。

得到的结果如下,看起来两段音频基本对齐了。

本文相关代码,在公众号语音算法组菜单栏点击Code获取。
参考文献:
[1]. http://paulbourke.net/miscellaneous/correlate/
[2]. UCBS, Digital Speech Process
[3]. http://www.dsg-bielefeld.de/dsg_wp/wp-content/uploads/2014/10/video_syncing_fun.pdf
[4]. https://www.fon.hum.uva.nl/praat/manual/Sounds__Cross-correlate___.html
边栏推荐
- 牛客 HJ20 密码验证合格程序
- Internet banking stolen?This article tells you how to use online banking safely
- 上传图片-微信小程序(那些年的坑记录2022.4)
- 软件实现AT命令操作过程
- Small program: Matlab solves differential equations "recommended collection"
- ansible study notes 02
- The new BMW 3 Series is on the market, with safety and comfort
- Qt practical cases (54) - using transparency QPixmap design pictures
- 11 pinia use
- 单细胞测序流程(单细胞rna测序)
猜你喜欢

Qt实战案例(54)——利用QPixmap设计图片透明度

Tencent Cloud Deployment----DevOps

i.MX6ULL驱动开发 | 33 - NXP原厂网络设备驱动浅读(LAN8720 PHY)

利用PHP开发具有注册、登陆、文件上传、发布动态功能的网站

01 Encounter typescript, build environment

Why is the field of hacking almost filled with boys?

Premiere Pro 2022 for (pr 2022)v22.5.0

MySQL的相关问题

mysql black window ~ build database and build table

【Meetup预告】OpenMLDB+OneFlow:链接特征工程到模型训练,加速机器学习模型开发
随机推荐
更新数据表update
Website vulnerability repair service provider's analysis of unauthorized vulnerability
How Redis handles concurrent access
深度学习机器学习理论及应用实战-必备知识点整理分享
leetcode303 Weekly Match Replay
JVM parameter analysis Xmx, Xms, Xmn, NewRatio, SurvivorRatio, PermSize, PrintGC "recommended collection"
网站漏洞修复服务商关于越权漏洞分析
全新宝马3系上市,安全、舒适一个不落
Baidu cloud web speed playback (is there any website available)
Getting Started with TextBlock Control Basic Tools Usage, Get Started
Bilateral filtering acceleration "recommended collection"
Applicable Scenarios of Multi-Master Replication (1) - Multi-IDC
Dialogue with Zhuang Biaowei: The first lesson of open source
Deployment application life cycle and Pod health check
利用PHP开发具有注册、登陆、文件上传、发布动态功能的网站
How C programs run 01 - the composition of ordinary executable files
小程序:matlab解微分方程「建议收藏」
MySQL基础篇【单行函数】
牛客 HJ19 简单错误记录
go图书管理系统