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

(done) 声音信号处理基础知识(4) (Understanding Audio Signals for ML)

来源:https://www.youtube.com/watch?v=daB9naGBVv4


模拟信号特点如下
时域连续(x轴)
振幅连续(y轴)
在这里插入图片描述

如下是模拟信号的一个例子:
在这里插入图片描述

数字信号特点如下:
一个离散值序列
数据点的值域是一系列有限的值
在这里插入图片描述

ADC:模拟信号到数字信号的转换
1.采样
2.量化
在这里插入图片描述

采样:对模拟信号进行采样
在这里插入图片描述

Locating Samples: 定位样本 T 指的是任意两个采样点之间间隔的时间
在这里插入图片描述

T 的倒数就是采样率
在这里插入图片描述

低采样率会得到低采样误差
高采样率会得到高采样误差
在这里插入图片描述

一个问题:为什么音频采样率大部分时候都是 44100hz ?
在这里插入图片描述

通常认为,采样频率至少得是信号频率的两倍以上,否则会发生信号混叠
在这里插入图片描述

所以,CD 的 nyquist frequency 是 22050
人类能听到的hz范围是 20~20Khz。因此,只要把 20Khz 的声音采样好就行。
因此,44100hz可以采样到 22050 hz 以下频率的声音而不发生混叠。
这就是音频CD选择 44100hz 采样率的原因
在这里插入图片描述

以下是发生混叠 aliasing 的一个例子:
在这里插入图片描述

为了把模拟信号转为数字信号,这里有一个步骤叫 “量化”,把振幅的每一个小部分分配给一个离散值
在这里插入图片描述

量化的分辨率是上一张图的 bits 的数量,通常也叫做 bit depth。CD的分辨率一般是 16 bits
在这里插入图片描述

使用以上信息,可以计算出 CD 中 1min 的音频所需的存储大小是 5.49 MB
在这里插入图片描述

一个概念叫 Dynamic range 动态范围
可变化信号最大值和最小值的比值
在这里插入图片描述

一般而言,分辨率越大,我们使用的 bit depth 越多,dynamic range 也就越大
在这里插入图片描述

SQNR 约等于 6.02 x Q,Q 是 bit depth
在这里插入图片描述

对于 CD 来说,由于 bit depth = 16,经过计算,SQNR(16) 约等于 96dB
在这里插入图片描述

问一个问题:我们如何记录声音?
我们说话,空气产生震动,震动集中麦克风,麦克风组件开始震动,麦克风组件的震动产生电子模拟信号,模拟信号传给 ADC,ADC应用采样率和量化避免混叠(可能还有低通滤波器过滤掉超过 nyquist frequency 的信号),最终得到一个数字信号,存入电脑中
在这里插入图片描述

如下图是重建声音的过程,经过一个 DAC
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python虚拟环境创建使用
  • 神舟笔记本安装Control Center无法打开
  • [机器学习]04-逻辑回归(python)-03-API与癌症分类案例讲解
  • Math Reference Notes: 微分与积分:局部与全局的几何理解
  • Linux必学知识点:单独编译、烧写构建某个镜像,打包Linux系统镜像
  • AI日常绘画【国庆海报】:盛世迎华诞,最强AI绘图大模型Flux国庆节海报制作教程
  • 管家婆分销费用分摊功能使用说明!
  • Gradio 自定义组件
  • 三天搞了7000,AI绘本副业赚钱新途径,抓住绘本创业,轻松开启副业
  • PostgreSQL 主从的进程和Oracle dataguard的进程对比介绍
  • 计算机毕业设计 基于 Hadoop平台的岗位推荐系统 SpringBoot+Vue 前后端分离 附源码 讲解 文档
  • [Redis][Zset]详细讲解
  • PHP转Go很丝滑开发框架设计思路-把php优秀设计借鉴到Go框架设计里面-保留php开发习惯又能提供高软件性能
  • 主流的消息队列
  • Java语言的Springboot框架+云快充协议1.5+充电桩系统+新能源汽车充电桩系统源码
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • Angularjs之国际化
  • ES6 学习笔记(一)let,const和解构赋值
  • JAVA之继承和多态
  • laravel 用artisan创建自己的模板
  • Python十分钟制作属于你自己的个性logo
  • spring学习第二天
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 测试开发系类之接口自动化测试
  • 对JS继承的一点思考
  • 漂亮刷新控件-iOS
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 算法---两个栈实现一个队列
  • 正则表达式小结
  • Android开发者必备:推荐一款助力开发的开源APP
  • 积累各种好的链接
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • # Panda3d 碰撞检测系统介绍
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • ###C语言程序设计-----C语言学习(3)#
  • #include
  • #进阶:轻量级ORM框架Dapper的使用教程与原理详解
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (3)llvm ir转换过程
  • (C语言)fread与fwrite详解
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二) 初入MySQL 【数据库管理】
  • (二)fiber的基本认识
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (十)c52学习之旅-定时器实验
  • (新)网络工程师考点串讲与真题详解
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • ****三次握手和四次挥手
  • .htaccess配置重写url引擎
  • .NET Core中如何集成RabbitMQ
  • .NET Reactor简单使用教程
  • .NET Windows:删除文件夹后立即判断,有可能依然存在