音视频入门基础:PCM专题(3)——使用Audacity工具分析PCM音频文件

 =================================================================

音视频入门基础:PCM专题系列文章:

音视频入门基础:PCM专题(1)——使用FFmpeg命令生成PCM音频文件并播放

音视频入门基础:PCM专题(2)——使用Qt播放PCM音频文件

音视频入门基础:PCM专题(3)——使用Audacity工具分析PCM音频文件

=================================================================

一、引言

音频编辑录音器Audacity是一款开源免费的跨平台(包括Linux、Windows、Mac OS X)音频编辑器。可以使用它来录音,播放,输入输出PCM、WAV、AIFF、Ogg Vorbis和MP3等格式的音频文件。它还支持大部份常用的操作,如剪裁、贴上、混音、升/降音以及变音特效等功能。本文介绍通过Audacity工具打开、分析PCM音频文件的方法。

二、Windows平台安装Audacity工具

Audacity工具是开源的,其源码可以从github: https://github.com/audacity/audacity  下载。

在它的官网:https://support.audacityteam.org/  有提供文档讲解怎样下载和安装本工具。

根据官网上的文章:https://support.audacityteam.org/basics/downloading-and-installing-audacity

按照上面的提示操作,即可成功安装Audacity工具。

 

三、使用Audacity工具导入PCM音频文件

Audacity工具中,“文件” -> “导入” -> “原始数据”:

选择根据文章《音视频入门基础:PCM专题(1)——使用FFmpeg命令生成PCM音频文件并播放》中介绍的方法,生成的PCM音频文件:

填写该PCM音频文件的参数。因为PCM文件仅包含原始的无压缩的PCM音频数据,它没有文件头,也不包含任何采样频率、通道数、采样位数等信息,所以打开和播放的时候得指定这些参数。填写完成后点击“导入”按钮,即可成功导入:

打开后通过“暂停”和“播放”按钮即可实现暂停或者播放该PCM音频文件:

由于我们打开的PCM音频文件有2声道(立体声),所以显示了上下两个声音波形图:

四、音色、音调和响度的概念

这里先简单讲解一下声音的三个主要的主观属性,即音量(响度)、音调、音色(也称音品)。

1、响度。声音的强弱叫做响度。响度是感觉判断的声音强弱,即声音响亮的程度,根据它可以把声音排成由轻到响的序列。

2、音调。声音的高低叫做音调,频率决定音调。物体振动的快,发出声音的音调就高。振动的慢,发出声音的音调就低。

3、音色。音色指不同声音表现在波形方面总是有与众不同的特性,不同的物体振动都有不同的特点。

五、通过Audacity中的声音波形图分析音色、音调和响度

声音波形图指:将声波转换为电信号存起来,并以图展示出来。默认情况下,Audacity中的声音波形图的X轴是时间,Y轴是Amplitude(也就是声音的振幅,Audacity中可以通过修改配置,改成以分贝为单位)。

1.波形图的多少即波形的疏密程度(相同时间内振动的快慢)指音调;

2.波形图的高低即波形图的最高点和最低点的垂直距离(振幅大小)指响度;

3.波形图的形状即波形图上细小的波形差距指音色。

根据上面条件,我们可以判断出来,由于“区域2”比“区域1”的波形更密而且最高点和最低点的平均垂直距离更大,所以“区域2”比“区域1”的声音音调更高,响度更大:

六、参考文章

《如何利用波形图区分音调音色和响度-巧妙区分声音的三大特点》

《声音波形图怎么看音调和响度》

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从0开始搭建vue + flask 旅游景点数据分析系统(一):创建前端项目

根据前面的爬虫课程,我们重新开一个坑,就是基于爬取到的数据,搭建一个vueflask的前后端分离的数据分析系统 1 通过这个系列教程可以学习到什么? 从0开始搭建一个 vue flask 的数据分析系统;了解系统的整体架构&…

19.延迟队列优化

问题 前面所讲的延迟队列有一个不足之处,比如现在有一个需求需要延迟半个小时的消息,那么就只有添加一个新的队列。那就意味着,每新增一个不同时间需求,就会新创建一个队列。 解决方案 应该讲消息的时间不要跟队列绑定&#xf…

AI绘画入门实践 | Midjourney:使用 --chaos 给图像风格来点惊喜

在 Midjourney 中,--chaos 影响初始图像网格的多样性,指 MJ 每次出的4张图之间的差异性。 默认值为0,值越高,差异性越大。 使用格式:--chaos 0-100的整数值 使用演示 a lot of flowers --chaos 0 --v 6.0a lot of fl…

AOP~面向切面编程介绍

AOP基础 概述 AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),面向特定方法的编程。 动态代理是面向切面编程最主流的实现。 SpringAOP是Spring框架的高级技术,旨在管理bean对象的过程中&#xff0c…

C# datetimePicker

1. 直接把控件拉到设计器中,此时不要调整控件的values属性,这样就可以 打开后每次默认显示当天日期。 2. 属性Format long长日期格式默认值short短日期格式Time时间格式custom自定义时间格式在customFormat这个属性设置,比如yyyy-MM-dd HH…

golang 文件

golang 文件 概念 文件是计算机系统中用于存储和管理的 数据集合,具有唯一的名称,存在于存储介质上,包含创建、修改等属性,通过文件系统进行组织,用户可进行读取、写入等操作 文件流 文件输入流(InputS…

Redis底层数据结构的实现

文章目录 1、Redis数据结构1.1 动态字符串1.2 intset1.3 Dict1.4 ZipList1.5 ZipList的连锁更新问题1.6 QuickList1.7 SkipList1.8 RedisObject 2、五种数据类型2.1 String2.2 List2.3 Set2.4 ZSET2.5 Hash 1、Redis数据结构 1.1 动态字符串 Redis中保存的Key是字符串&#xf…

漏洞复现-F6-11泛微-E-Cology-SQL

本文来自无问社区,更多漏洞信息可前往查看http://www.wwlib.cn/index.php/artread/artid/15575.html 0x01 产品简介 泛微协同管理应用平台e-cology是一套企业级大型协同管理平台 0x02 漏洞概述 该漏洞是由于泛微e-cology未对用户的输入进行有效的过滤&#xff0…

Scrapy + Django爬虫可视化项目实战(一)

目录 一、项目介绍 (一) 项目背景 (二) 项目介绍 二、系统实现 (一) 爬虫 1. 实现步骤 一、爬取字段 二、分析页面 三、具体实现 2. 爬虫结果 系列文章 Python升级打怪—Django入门 Python升级打怪—Scrapy零基础小白入门 实现技术 ScrapyDjangoEcharts 一、项目…

HDMI的等长要求到底是多少?

四对差分走线对内误差最好做到 5mil 范围之内,对与对的差分误差最好控制在 10mil 范围之内。同时,对与对之间的间距要求做到 15mil,空间准许的情况下尽量拉开,减小串扰。 作者:凡亿教育 https://www.bilibili.com/rea…

数据丢失不用愁!这四款数据恢复大师免费版助你找回珍贵回忆

我们在办公或者是生活中常常会遇到不小心将手机设备或者计算机当中的重要数据误删除/格式化/或其他不小心丢失的情况,但是不用紧张,这篇文章就是给大家分享如何恢复他们,以下带来除易我数据恢复外的其他好用的数据恢复软件: 第一…

进程关系与守护进程

进程关系与守护进程 1. 进程组2. 会话3. 控制终端4. 作业控制5. 守护进程 1. 进程组 什么是进程组 之前我们提到了进程的概念, 其实每一个进程除了有一个进程 ID(PID)之外 还属于一个进程组。进程组是一个或者多个进程的集合, 一个进程组可以包含多个进…

猫头虎分享:PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案

🐯 猫头虎分享:PyTorch异常ModuleNotFoundError: No module named ‘torch’解决方案 💻 摘要 在本篇博客中,我们将深入探讨如何解决PyTorch中常见的“ModuleNotFoundError: No module named ‘torch’”错误。通过详细的步骤指…

如何在 VitePress 中自定义logo,打造精美首页 #home-hero-image

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

【matlab】使用movefile批量修改命名,并保留原命名中指定的数字

【matlab】使用movefile批量修改命名,并保留原命名中指定的数字 文章目录 【matlab】使用movefile批量修改命名,并保留原命名中指定的数字一、情况说明二、代码示例通配符正则表达式匹配 (regexp 函数):提取捕获组中的数字 (number 变量): 一、情况说明 …

CTF之网站被黑

简单看一下网页和源码没发现什么明显漏洞 那就扫描一下目录 发现了/shell.php文件,访问一下,发现是一个后台管理登录页面 别无他法只能爆破喽,爆破后发现密码是hack flag{25891d9e9d377f006eda3ca7d4c34c4d}

rust学习——move关键字

示例讲解 在闭包章节中,有讲过 move 关键字在闭包中的使用可以让该闭包拿走环境中某个值的所有权,同样地,你可以使用 move 来将所有权从一个线程转移到另外一个线程。 首先,来看看在一个线程中直接使用另一个线程中的数据会如何…

22.备份交换机-处理无法投递的消息

前面提到当消息发送给交换机,交换机出故障,或者队列出现故障,会反馈给生产者。 如果交换机备份,将无法投递的消息发送给备份交换机,再由备份交换机给备份队列和告警队列的思路,来防止消息不丢失。 小提示…

探索LLM世界:新手小白的学习路线图

随着人工智能的发展,语言模型(Language Models, LLM)在自然语言处理(NLP)领域的应用越来越广泛。对于新手小白来说,学习LLM不仅能提升技术水平,还能为职业发展带来巨大的机遇。那么,…