音频啸叫检测算法

这篇具有很好参考价值的文章主要介绍了音频啸叫检测算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

啸叫产生的原理

        扩声系统用于放大声音,其典型应用包括:多媒体电教室、本地会议系统、助听器和人工耳蜗等,该电声系统至少包括一个麦克风、一个放大器以及一个扬声器。当麦克风与扬声器处于同一个声学环境时,扬声器信号经过反馈路径之后被麦克风采集,被放大器放大,并再次被扬声器播放,该过程不断循环,形成声反馈。当某些频点满足奈奎斯特不稳定性条件:

(1)系统开环增益函数模值大于1

(2)开环增益函数相位角为2 整数倍。信号的幅度不断增大并引发啸叫,影响主观听觉感受,甚至会对电声设备造成严重的破坏,产生不可逆的系统损伤。

啸叫产生的几种常见的应用场景:

1、在助听器、KTV、演唱会、带扩音器的会议室等场景:

                                           防啸叫算法,音视频

此种应用场景下,当麦克风直接采集到扬声器的声音时,如循环增益大于1,就会出现啸叫。

2、在点对点通话、会议通话等场景:

防啸叫算法,音视频

当通话或会议的参与者之间,间隔距离较近时,呈现出声音循环反馈闭环,当这个闭环增益大于1就会出现啸叫。

此种情况的啸叫跟回音不一样,及时用回音消除算法AEC来处理也起不到任何作用。

比如,免提通话情况下,形成的声音闭环可以通过回声消除AEC来断开循环,避免啸叫的产生;而这种场景是无法使用AEC技术的,因为缺少AEC算法中需要的参考信号,所以只能使用啸叫抑制算法来解决这个问题。

啸叫检测技术

要抑制啸叫,首先要检测啸叫。

啸叫现象的基本特征是在一个频点或多个频点能量占比特别高,如下图所示:

防啸叫算法,音视频

上图上半部为语音时域信号图,啸叫饱和状态已经使得信号振幅持续满格。

上图下半部为语音的声谱图,图中的4条亮线即为啸叫的4个频点。

检测算法包括以下几点:

1)、峰值阈值功率比

啸叫的功率远大于正常播放的音频。故设定一个阈值,只有功率超过阈值的频点,列为疑似啸叫频点。

2)、峰值均值功率比

产生啸叫的频点功率远大于其他频点的功率,故可以先计算出整个频谱的平均功率,然后计算每个频点功率与平均功率之比。比值大于预设阈值的频点,记为候选啸叫频率。

3)、峰值临近功率比

当前频点功率比邻值都高时,记为候选啸叫频率。

场景介绍

在某些应用场景下,我们可以只做啸叫检测,管理人员通过综合平台监测到某些终端设备产生异常啸叫后,可以做下一步的处置预案。

我们的啸叫检测算法在2秒检测时延内,误检率小于5%,效果还是非常不错的。

windows平台和linux嵌入式平台的我都已经编译好了,封装成了sdk库,接口调用也比较简单,如果需要商用的话可以跟我联系,或者有技术问题想要沟通、交流的也非常欢迎。

联系方式:

vx:unique_no_1 

tel:18108010758文章来源地址https://www.toymoban.com/news/detail-851835.html

到了这里,关于音频啸叫检测算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 音视频开发:音频编码原理+采集+编码实战

    消除冗余信息,压缩量最大,也叫有损压缩 剔除人耳听觉范围外的音频信号20Hz以下和20000Hz以上; 去除被掩蔽的音频信号,信号的遮蔽可以分为频域遮蔽和时域遮蔽; 频域遮蔽效应 屏蔽70分贝以下,20HZ以下,20000HZ以上 屏蔽分贝小,频率小的声音 两个频率相近发出的声音,

    2024年02月05日
    浏览(61)
  • 【音视频 | AAC】AAC格式音频文件解析

    😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭 🤣本文内容🤣:🍭介绍AAC格式音频文件解析🍭 😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭 本文未经允许,不得转发!!

    2024年02月04日
    浏览(55)
  • 音视频八股文(11)-- ffmpeg 音频重采样

    所谓的重采样,就是改变⾳频的采样率、sample format、声道数等参数,使之按照我们期望的参数输出。 为什么要重采样?当然是原有的⾳频参数不满⾜我们的需求,⽐如在FFmpeg解码⾳频的时候,不同的⾳源有不同的格式,采样率等,在解码后的数据中的这些参数也会不⼀致(最

    2024年02月04日
    浏览(102)
  • 音视频剪辑|FFMPEG|windows10下的音视频格式转换,遮挡填充,GIF动图制作,背景音频抽取,替换

    最近对于音视频和图像的处理问题比较感兴趣,但发现很多目前需要的功能要么需要付费但不会过于麻烦,要么比较麻烦,很可能某个功能实现需要安装很多软件 例如,视频转GIF动图,该功能的实现要么使用Photoshop全家桶,要么找在线网站,或者是wps充会员,或者找其它方法

    2024年02月20日
    浏览(59)
  • 音视频开发系列(10):基于qt的音频推流

    今天分享一下利用qt录制音频,然后再利用ffmpeg推流到nginx服务器,最后再利用vlc进行拉流的demo。 首先介绍一下如何利用qt来进行音频的录制,qt的音频录制主要利用qt的QAudioFormat先进行音频信息的配置。主要需要配置以下的信息: 然后使用QAudioDeviceInfo来获取是否支持改设置

    2024年02月02日
    浏览(60)
  • Qt 多媒体音频模拟按钮发音(音视频启动)

    ## 项目演示 平台 :windows或者ubuntu  要求 :平台需要支持音频播放功能 文件格式 :.wav 可以使用剪映生成,音频部分,我这里是简短的音乐 # Qt 多媒体简介 Qt QSound是Qt框架中的一个类,用于播放音频文件。它可以在Qt应用程序中实现简单的音频播放功能,包括播放、暂停和停

    2024年02月03日
    浏览(53)
  • Android音视频处理技术:音频混音与播放

    作者:禅与计算机程序设计艺术 在现代生活中,我们都会听到各种各样的声音。但是有的声音会相互抵消影响我们的正常生活,而有的声音则会增加我们的情绪快乐。人类为了能够真正体验到声音带来的快感,需要将不同类型的声音合并,再将它们再传达给大脑。音频混音与

    2024年02月08日
    浏览(44)
  • qt+ffmpeg 实现音视频播放(二)之音频播放

    通过  avformat_open_input () 打开媒体文件并分配和初始化  AVFormatContext   结构体。 函数原型如下: int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt, AVDictionary **options); 参数说明: - `ps`:指向 `AVFormatContext` 结构体指针的指针,用于存储打开的媒体文件的信息。

    2024年04月22日
    浏览(57)
  • 【音视频处理】音频编码AAC详解,低码率提高音质?

    大家好,欢迎来到停止重构的频道。 本期我们介绍 音频编码格式AAC 。 AAC是音频最常用的编码格式之一 ,几乎所有的播放器都支持这个编码格式。 其他音频编码格式都是类似的,只是某些细节存在差别,如压缩算法、某些音频参数存在限制等。 我们按这样的顺序讨论 :

    2024年02月09日
    浏览(91)
  • 音视频八股文(7)-- 音频aac adts三层结构

    AAC(Advanced Audio Coding)是一种现代的音频编码技术,用于数字音频的传输和存储领域。AAC是MPEG-2和MPEG-4标准中的一部分,可提供更高质量的音频数据,并且相比于MP3等旧有音频格式,AAC需要更少的比特率。 AAC通过使用一些高级的音频编码算法来实现更好的声音质量和更低的压

    2024年02月06日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包