文档章节

写给小白的音频认识基础

叶大侠
 叶大侠
发布于 03/07 12:03
字数 1194
阅读 39
收藏 0

初识音频

从初中物理上我们就学到,声音是一种波。计算机只能处理离散的信号,通过收集足够多的离散的信号,来不断逼近波形,这个过程我们叫做采样。怎么样才能更好的还原声音信息呢?这里很自然引出两个概念了。

声音波形图

采样频率(Sample Rate):每秒采集声音的数量,它用赫兹(Hz)来表示。

采样率越高越靠近原声音的波形,常见的采样率有以下几种:

  • 8khz:电话等使用,对于记录人声已经足够使用。
  • 22.05khz:广播使用频率。
  • 44.1kb:音频CD。
  • 48khz:DVD、数字电视中使用。
  • 96khz-192khz:DVD-Audio、蓝光高清等使用。

采样精度(Bit Depth): 它表示每次采样的精度,位数越多,能记录的范围就越大。

采样精度常用范围为8bit-32bit,而CD中一般都使用16bit。

把声音记录下来之后,通过喇叭的震动把波再还给空气传到你的耳朵就完成了这个完美的循环了。但是富有创造力的人类不会限制于此就结束了,很快人们发现,当把不同的声音传递到不同的喇叭的时候,竟然会惊奇地让声音变得有空间感了,即时是同一个声音,也比单个通道能获得更好的体验,于是就出现了什么立体声,5.1 环绕等看起来很高大上的东西。所以,音频又多了一个东西:

声音通道(Channel): 你知道每个通道存储的声音会从其中的一个喇叭出来就好了,不过可以通过算法的模拟来让没有那么多喇叭也能出来类似的效果。

有了声音通道,乐队在录音的时候就可以每个人插一条音轨了,然后每一个声音可以写到不同的通道里面,当然,实际录音当然都是后期混音而成的。下面介绍的其中一个混音算法会用到声音通道这个特性。

最后再介绍一个大家经常看到的概念:

比特率(bps [bits per second]): 其实看单位就很容易知道它要表达的意思了,就是每秒钟要播放多少 bit 的数据。公式一目了然:

比特率 = 采样率 × 采样深度 × 通道。

比如 采样率 = 44100,采样深度 = 16,通道 = 2 的音频的的比特率就是 44100 * 16 * 2 = 1411200 bps。

一般来说,比特率越高,音频质量越好。要注意一些比特率的换算不是 1024 作为一个级别换算的哈。

1,000 bps	= 【1 kbps】 =	1,000 bit/s
1,000,000 bps	= 【1 Mbps】 =	1,000,000 bit/s	
1,000,000,000 bps	= 【1 Gbps】 =	1,000,000,000 bit/s

音频在计算机中的表示

我们来看一下真实音频在计算机中究竟是怎样的表示状态,这里指的是原始的数据表示,而非编码(Mp3,Acc等)后的表示,平时我们看到的.wav后缀的音频,把前面 44 个字节用于记录采样率、通道等的头部信息去掉后就是就是原始的音频数据了。

WAV表示图

在理解了上面的概念之后,我们再来看这张图。对于文件头部信息我们就不详细介绍了,不影响我们理解介绍的混音处理方式,需要了解的可以点击这里

我们抽取其中的一个采样来看,这里我加多了一个通道,便于大家理解通道的存储位置。

音频采样图

不难理解,这个采样中有三个通道,每通道采样精度是 16 比特。每个采样值的排序是 Little-Endian 低位在前的方式,比如通道 1 的采样值就是 AB03, 每个采样值的大小表示的是幅度信息。

好了,先介绍到这里,希望对你有帮助,如果文章有理解错误的地方,请给我留言指出,感谢你的阅读,下一篇将会介绍有关音频混音的相关知识。

参考资料

  1. WAV文件格式
  2. 维基百科-比特率

不玩音乐的看到这里可以关闭了。

色彩浓重的广告时间:

如果你有玩音乐,我做了一个音乐学习和记录的辅助工具。刚在 Google Play 发布,音乐笔记+。我平时会用它来作即兴练习和合奏练习,这是个付费应用,你可以通过购买它对我表示支持。

以下是免费的:

© 著作权归作者所有

共有 人打赏支持
叶大侠

叶大侠

粉丝 58
博文 44
码字总数 67312
作品 5
广州
程序员
私信 提问
你应该如何学习一个未知的技术领域?- 菜鸟小白篇

一、前言 2018年初开始从事线上课程的开发,陆续开发了几门课程,《人工智能产品经理最佳实践请添加链接描述》《知识图谱实战开发完全剖析请添加链接描述》和《智能对话机器人实战开发完全剖...

数据饕餮
07/12
0
0
辱骂抹黑开源作者的恶劣行为在开源中国是不是要谴责?

近日收到以下低素质用户的辱骂邮件,真的让人愤慨 fourinone到底挖了谁家的祖坟,至于这样变态吗? 一个坚持创新并自由分享的开源软件,居然一直有这种阴暗卑鄙的人对作者做人身攻击,并且到...

fourinone
2015/12/08
5K
42
强烈谴责辱骂抹黑开源作者的恶劣行为

近日收到以下低素质用户的辱骂邮件,真的让人愤慨 fourinone到底挖了谁家的祖坟,至于这样变态吗? 一个坚持创新并自由分享的开源软件,居然一直有这种阴暗卑鄙的人对作者做人身攻击,并且到...

fourinone
2015/12/08
169
2
学爬虫先学什么?写给小白的python爬虫入门方法论

编者注:这是笔者基于自身在入门python爬虫一些感悟,而写作的——入门小参考或建议。本文没有过多讲述学习爬虫需要哪些库或代码,而是期望为初学者提供一些爬虫思维或方法论,从而快速入门。...

铁扇公主1
2017/06/13
305
1
专注才是第一生产力

写给自己的话: 在程序开发这个行业,学历不是最重要的,梦想,兴趣和坚持才是最重要的! 一个人是否成功,完全取决于对待工作的态度和投入的热情有多大!!要做就做最好。 坚持是获得成功的...

DevShaw
2015/11/25
108
0

没有更多内容

加载失败,请刷新页面

加载更多

《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
26分钟前
1
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
34分钟前
1
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
40分钟前
1
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
2
0
exportfs命令, vsftp搭建ftp服务

exportfs命令 当修改/etc/exports文件后,更改的内容是不会立即生效的。如果重启nfs服务,会导致客户端重启期间的请求是挂起等待的,可以把客户端的挂载umount进行卸载后,再重启nfs服务,但...

野雪球
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部