当前位置: 首页 > news >正文

音频筑基:瞬态、基音、偏噪信号类型分析

音频筑基:瞬态、基音、偏噪信号类型分析

    • 是什么
    • 深入理解
      • 从编码角度看,基音信号编码通常会有啥问题?
      • 在频域感知编码过程中,瞬态信号会有啥问题?如何解决?
      • 瞬态信号场景下,5/10ms帧长编码有啥区别?是否短帧长更有优势?

在分析音频信号中,不同信号类型如瞬态、基音、偏噪信号是我们经常遇到的概念,这里谈谈自己的理解。

是什么


  • Transient Signal:瞬态信号
    • 时域表现:时域中信号反复突变,周期不明显,如在动态范围内突变不连续
    • 频域表现:频率成分分布广,在有限码率下,以编码频点的方式无法完全刻画
    • 信号实例:现实世界里的物品敲击音、乒乓球落地的声音
  • Pitched Signal:基音信号
    • 时域表现:时域内周期明显,相同包络信号反复拼接
    • 频域表现:频域内表现为一根根谐波,层次分明
    • 信号实例:人声清唱、钢琴音、琴弦扫弦音
  • Noise Signal:偏噪信号
    • 时域表现:时域内呈现随机性,变化剧烈
    • 频域表现:频谱铺的很满,在基波和次谐波上叠加了许多早是你提供
    • 信号实例:乐器嘈杂的流行乐,背景嘈杂的摇滚乐

基音的概念:

基音是指声音中最低的频率成分,也就是声音的基础频率,它是声音音调的主要决定因素之一。

简单说,分析声音信号的频谱,找出其中最强的频率成分,这个频率就是声音的基频或基音。

深入理解


从编码角度看,基音信号编码通常会有啥问题?

  • 基音信号一般周期会大于帧长,导致无法准确获取谐波。常见的解决方式是加入长短窗切换。

在频域感知编码过程中,瞬态信号会有啥问题?如何解决?

  • 时域编码对瞬态信号表现好,瞬态为突变信号,频域特征不明显,不利于编码表达。
  • 瞬态信号通常会在频域编码中产生预回声问题

常见解决方法:

  • 长短窗切换,遇到瞬态信号用短窗变换。自适应窗切换技术是感知音频编码技术领域的一项重要技术,其主要作用是抑制暂态信号引起的预回声问题。
  • TNS,在编码段,TNS技术对检测到的暂态信号的频谱系数进行线性预测分析,在解码端,对暂态信号进行频谱预测合成,可以调节误差的形状以适应输入音频信号的时域形状,从而将编码噪声置于解码信号之下,大幅降低量化噪声对解码后音频主观听觉的影响。

瞬态信号场景下,5/10ms帧长编码有啥区别?是否短帧长更有优势?

  • 客观上,同码率下,短帧长总体残差是要大于长帧长。
  • 主观上,短帧长预回声现象减少,突变更清脆,有瞬态感,主观听感短帧长控制的更好。
http://www.lryc.cn/news/264046.html

相关文章:

  • HarmonyOS ArkTS 中DatePicker先择时间 路由跳转并传值到其它页
  • Axure RP 8 for Mac/win中文版:打造完美交互式原型设计体验
  • 迪文屏开发保姆级教程——页面键盘
  • Unity的UI界面——Text/Image
  • sklearn和tensorflow的理解
  • css中BFC
  • 华为OD机试 - 小朋友来自多少小区(Java JS Python C)
  • 前端:NPM的介绍和使用
  • 力扣57. 插入区间
  • Linux c++开发-11-Socket TCP编程简单案例
  • ros2机器人常规控制流程
  • 分布式全局ID之雪花算法
  • 拿到服务器该做的事和升级docker engine
  • 【VScode和Leecode的爱恨情仇】command ‘leetcode.signin‘ not found
  • mangokit:golang web项目管理工具,使用proto定义http路由和错误
  • 微信小程序实现一个简单的登录功能
  • whisper深入-语者分离
  • LuaJava操作Java的方法
  • oracle怎样才算开启了内存大页?
  • 【halcon深度学习之那些封装好的库函数】determine_dl_model_detection_param
  • 跟着我学Python进阶篇:01.试用Python完成一些简单问题
  • neo4j-Py2neo使用
  • uint29传输格式
  • Linux:终端定时自动注销
  • STM32F103RCT6开发板M3单片机教程06--定时器中断
  • 数据库故障Waiting for table metadata lock
  • Springboot数据校验与异常篇
  • 第三十六章 XML 模式的高级选项 - 创建子类型的替换组
  • 堆与二叉树(上)
  • HBase查询的一些限制与解决方案