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

2023-12-19 15:52

本文主要是介绍音频筑基:瞬态、基音、偏噪信号类型分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

是什么


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

基音的概念:

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

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

深入理解


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

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

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

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

常见解决方法:

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

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

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

这篇关于音频筑基:瞬态、基音、偏噪信号类型分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/512785

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十