音频信号特征

news2024/9/24 1:23:22

1.声音

音信号是由空气压力的变化而产生的,可以测量压力变化的强度,并绘制这些测量值随时间的变化。

声音信号经常在规律的、固定的区间内重复,每个波都具有相同形状,高度表示声音的强度,称之为振幅

信号完成一个完整波所花费的时间为周期,信号在一秒钟内发出的波数为频率。频率是周期的倒数,单位是赫兹。

2.怎么以数字表示声音

每隔相同的时间段对声音的振幅进行测量,然后把信号转换为数字。每一次这样的测量就是一个样本,采样率是每秒的样本数。 例如,采样率通常约为每秒 44,100 个样本,也就是说一个 10 秒的音乐片段有 441,000 个样本。

使用深度学习时实际上并没有处理原始格式的音频数据,是把音频数据转换为图像,然后使用标准的CNN架构处理这些图像,通常会从音频中生成声谱图。

3.时域与频域

频谱是表示相同信号的另一种方式,它显示了振幅与频率之间的关系。

4.频谱图

频谱图是组合在一起产生信号的一组频率,频谱图绘制了信号中的所有频率以及每个频率的强度或振幅,信号中的最低频率叫作基频,基频的整数倍的频率叫作谐波。

5.声谱图

信号随时间变化会产生不同的声音,因此其组成频率也会随时间而变化。

声谱图是使用 Fourier Transforms 从声音信号中生成的,Fourier Transforms 将信号分解成其组成频率,并显示信号里的每个频率的振幅。声谱图将声音信号的持续时间缩短为小的时间段,然后将 Fourier Transform 应用于每个时间段来确定该段中所含的频率,然后把所有时间段的 Fourier Transform 合为一个图。

信号的声谱图绘制了它频谱随时间的变化,就像信号的“照片”一样。它在 X 轴上绘制时间,在 Y 轴上绘制频率,就好像我们在不同的时间点一次又一次地拍摄频谱,然后将它们全部合并为一个图。声谱图是声波的“快照”,因为它是图像,所以非常适合输入处理图像的基于 CNN 的架构中。

它使用不同的颜色表示每个频率的振幅或强度。颜色越亮,信号越好。频谱图的每个垂直“切片”本质上是信号在该时间点的频谱,显示了在该时间点信号中发现的每个频率中的信号强度是如何分布的。

 第一张图片显示是时域中的信号,即振幅与时间,可以从图中看出来一个片段在每个时间点的音量,但是没有告诉我们存在哪些频率。

6.音频深度学习模型

声谱图,它是音频信号的等价紧凑表示,就像是信号的“指纹”,是音频数据的基本特征捕获并转换为图像的一个好方法。音频深度模型使用的典型pipeline:

特征图,这是声谱图像的编码表示,从这个编码表示中生成输出预测:

  • 对于音频分类问题,我将音频传入分类器,分类器通常由一些完全连接的线性层组成
  • 对于语音转文本问题,我们可以将其传递给一些 RNN 层来从这个编码表示中提取文本句子

应用:音频分类 / 音频分离与分割 / 音乐流派分类和标记 / 音乐生成和转录 / 语音识别 / 语音转文本和文本转语音

7.音频文件格式和 Python 库

音频文件格式包括 .wav、.mp3、.wma、.aac、和 .flac 等

Python音频处理库,Librosa 、scipy。Pytorch有一个配套库torchaudio,该库与 Pytorch 紧密结合。Pytorch 没有 Librosa 的功能多,但它是专门为深度学习开发的。

音频是以压缩格式保存在文件中的,加载完成后,文件会被解压并转换为Numpy数组,无论文件的原始格式是什么,最后获得的数组看起来都是一样的。

音频在存储器中表现为数字时间序列,代表着每个 timestep 的振幅。例如,如果采样率为16800,则一秒钟的音频片段就包含 16800 个数字。由于测量是在固定的时间间隔下进行的,因此该数据只包含振幅值,不包含时间值。在给定采样率的情况下,可以计算出每个振幅值是在什么特定时间点测量的。

比特位深:每个样本的振幅测量可以取多少个可能的值 。例如,比特位深为 16 表示振幅值可以在 0 到 65535 (2 ¹⁶ -1)之间。比特位深会影响音频测量的分辨率,比特位深越高,音频保真度越好。

8.人类感知声音

人类感知声音的方式比较独特,我们能够听到的大多数声音都集中在狭窄的频率和振幅范围内,声音频率叫作“音调”,人类不会线性感知频率,对低频之间的差异比高频更为敏感。人类对声音振幅的感知就是声音的响度,与频率相似,我们听到的音量增大,一般都是对数的,不是线性的

9.梅尔声谱图

为了真实地处理声音,我们在处理数据的频率和幅度时,必须通过梅尔刻度和分贝刻度来使用对数刻度,Y 轴为梅尔刻度而不是频率,使用分贝刻度代替振幅来指示颜色。深度学习模型通常使用梅尔声谱图而不是简单的声谱图。

普通声谱图:

使用梅尔刻度代替频率:

 使用分贝刻度来代替振幅:  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/79146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文笔记-时序预测-FEDformer

论文标题:FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting 论文链接: https://arxiv.org/abs/2201.12740 代码链接: https://github.com/DAMO-DI-ML/ICML2022-FEDformer 摘要 尽管基于变压器的方法…

笔记--Ubuntu20.04安装Nvidia驱动、CUDA Toolkit和CUDA CuDNN

目录 1--安装Nvidia驱动 2--安装CUDA 2-1--禁用nouveau 2-2--选择CUDA Toolkit 2-3--下载和安装CUDA Toolkit 2-4--配置环境变量 2-5--测试是否安装成功: 3--安装CUDA CuDNN 4--测试pytorch能否使用Cuda 1--安装Nvidia驱动 ① 查看可安装的Nvidia驱动版本…

Matplotlib学习笔记(第二章 2.13 Matplotlib中的图形(一))

在这里,您将发现大量示例图,其中包含生成它们的代码。 线图(Line Plot) 下面是如何使用plot()创建带有文本标签的线图。 Fig. 1: Simple Plot 多个绘图区域(Multiple subplots in one figure) 多个绘图区域由subplot()函数创建: Fig. 2:…

【小程序】内容滚动方案,视频或者照片上方不随滚动而滚动

💭💭 ✨:内容滚动方案,视频或者照片上方不随滚动而滚动   💟:东非不开森的主页   💜: 优于别人,并不高贵,真正的高贵应该是优于过去的自己。——海明威💜&a…

【图像去噪】基于自适应滤波器消除椒盐噪声图像附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

web前端课程设计(HTML和CSS实现餐饮美食文化网站)静态HTML网页制作

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

论文笔记-时序预测-Informer

论文标题: Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting 论文链接: https://arxiv.org/abs/2012.07436 源码链接: https://github.com/zhouhaoyi/ETDataset 摘要 许多实际应用都需要对长序列时间序列…

游戏开发55课 性能优化12

4.9 带宽优化 带宽优化的目的是减少CPU与GPU之间的数据传输。 4.9.1 LOD(Level Of Detail) LOD即细节层次,根据物体在画面的大小选用不同级别的资源,以减少渲染和带宽的消耗。LOD在图形渲染中应用广泛,适用的对象有…

au cs6七线阁教程 笔记

01 驱动 asio 02 I 监听 R录音 一般是单声道 03 调整音量声相 04 导出 删除轨道文件 07 删除选区 自定义波形剪辑颜色 录音激活后,监听才能激活 08 自动控制 默认控制音量: 09 效果器: Vst3 dll 插件 独立效果器面板,实时&a…

[附源码]Python计算机毕业设计SSM基于框架预约挂号系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【leetcode】对称二叉树

一、题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 二、代码思路 详细题解地址 思路有…

初识Dockerfile

初识Dockerfile Dockerfile 就是用来构建 docker 镜像的构建文件,命令脚本! # 创建一个dockerfile文件,建议 Dockerfile # 文件中的内容 指令(大写)FROM centosVOLUME ["volume01","volume02"]CMD echo "-------e…

【总复习】操作系统

操作系统总复习第1章 操作系统引论第2章 进程的描述与控制第3章 处理机调度与死锁第4章 进程同步第5章 存储器管理第6章 虚拟存储器第7章 输入/输出系统第1章 操作系统引论 1、操作系统的概念(定义) 操作系统( Operating System,…

力扣(LeetCode)1691. 堆叠长方体的最大高度(C++)

动态规划 状态计算 : f[i]{cuboids[i][2]if 不存在kmax(f[k])cuboids[i][2]if k∈[1,i−1]f[i] \begin{cases} cuboids[i][2] &\text{if } 不存在k \\ max(f[k])cuboids[i][2] &\text{if } k \in [1,i-1] \end{cases}f[i]{cuboids[i][2]max(f[k])cuboids[i][2]​if 不…

I-02Python自带编辑器IDLE的使用教程

目录 前言 正文 1. 开启行号功能 2. 运行代码,自动保存 3. 放大字体 4. 附常用快捷键 前言 IDLE是在安装python的时候自带的一个编辑器。 拥有基本的python编程的环境, 常用功能点: 代码自动补齐Debug模式python文档 你肯定想说&…

论文笔记-时序预测-Pyraformer

论文标题: Pyraformer: Low-Complexity Pyramidal Attention for Long-Range Time Series Modeling and Forecasting 论文链接: https://openreview.net/pdf?id0EXmFzUn5I 源码链接: https://github.com/alipay/Pyraformer 摘要 根据过去的…

(6)Pytorch常用函数

Pytorch用到的函数 文章目录Pytorch用到的函数1、tensor.eq()和tensor.lt()2、3、torch.pow()4、torch.clamp()5、item()和tolist()说明 1、发现了官方说明文档,使用这一套是最好的! 2、in-place操作说明,这是一个要被抛弃的方法,…

ArcGIS基础:获取栅格数据边界的线要素和独立格网面

本操作是为了提取栅格DEM数据的边界数据: 看一下原始数据:是一个非常普通的DEM栅格数据。 【方法:1】:使用【栅格范围】工具,通过搜索工具进行查找,如下所示: 该工具可以直接提取栅格外边界数…

将Bean交给Spring容器管理有几种方式?

将Bean交给Spring容器管理有几种方式? Spring核心 Spring核心是 IOC 和 AOP 。 所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。 至于更详细的说明,或者去深入理解Spring这两大核心&#x…

手写Spring4(Spring属性填充)

文章目录目标设计思路项目结构一、实现1、定义属性2、定义属性集合包装类3、类引用(bean类型)4、Bean定义补全5、Bean 属性填充二、测试1、准备2、测试案例3、测试结果目标 这一章节目的是接着前面的实例化策略实现后,进行属性填充&#xff…