|
|
|
|
移动端

1.4.4 声音的表示

《计算机科学概论(第12版)》第1章数据存储,在本章中,我们学习有关计算机中数据表示和数据存储的内容。我们要研究的数据类型包括文本、数值、图像、音频和视频。除了传统计算外,本章的很多内容还涉及数字摄影、音频/视频录制和复制,以及远程通信等领域。本节为大家介绍声音的表示。

作者:刘艺/吴英/毛倩倩 译来源:人民邮电出版社|2018-01-28 20:17

【新品产上线啦】51CTO播客,随时随地,碎片化学习

1.4.4 声音的表示

为了便于计算机存储和操作,对音频信息进行编码的最常用方法是,按有规律的时间间隔对声波的振幅采样,并记录所得到的数值序列。例如,序列0、1.5、2.0、1.5、2.0、3.0、4.0、3.0、0可以表示这样一种声波:它的振幅先增大,然后经短暂的减小,再回升至较高的幅度,接着又减回至0(见图1-12)。这种技术采用每秒8000次的采样频率,已经在远程语音电话通信中使用了许多年。通信一端的语音被编码为数字值,表示每秒8000次的声音振幅。接着,这些数字值通过通信线路被传输到接收端,用来重现声音。

尽管每秒8000次的采样频率似乎是很快的速率,但它还是满足不了音乐录制的高保真需求。为了实现现在音乐CD重现声音的质量,我们需要采用每秒44 100次的采样频率。每次采样得到的数据要用16位的形式表示(32位用于立体声录制)。因此,录制成立体声的音乐,每一秒需要100多万个存储位。

乐器数字化接口(musical instrument digital interface,MIDI,读作“MID–ee”)是另外一种编码系统,被广泛用于电子键盘的音乐合成器、视频游戏声音,以及网站的辅助音效。MIDI是在合成器上编码产生音乐的指令,而不是对音乐本身进行编码,因此它避免了采样技术那样的大存储容量要求。更精确地说,MIDI是对什么乐器演奏什么音符以及持续时间进行编码。例如,单簧管演奏D音符2秒,可以编码为3个字节,而不必按照每秒44 100次的采样频率用两百多万个二进制位来编码。

简言之,可以把MIDI看作是对演奏者乐谱编码的一种方法,而不是对演奏本身编码。因此,MIDI“录制”的音乐在不同合成器上演奏时声音可能是截然不同的。

问题与练习

1.下面是用ASCII编码的一条消息,每个符号8位。它的含义是什么?(见附录A)

  1. 01000011  01101111  01101101  01110000  01110101  01110100  01100101   
  2. 01110010  00100000  01010011  01100011  01101001  01100101  01101110  
  3. 01100011  0110010 

12.在ASCII码中,大写字母码和相应小写字母码之间的关系是什么?(见附录A)

3.用ASCII对下列语句编码:

  1. a. “Stop!” Cheryl shouted.  
  2. b. Does 2+3=5? 

4.描述一种在日常生活中能够呈现两种状态的设备,例如,旗杆上的旗帜,或者升起或者降下。给一种状态赋值1,另一种赋值0,请说明当以这样的位来存储时,字母b的ASCII码会怎样表示?

5.将下列二进制表示分别转化为相应的十进制形式。

a. 0101   b. 1001 c. 1011   d. 0110   e. 10000 f. 10010

6.将下列的十进制表示分别转化为相应的二进制形式。

a. 6 b. 13 c. 11     d. 18   e. 27     f. 4

7.如果每个数字采用每字节一个ASCII码的模式编码,那么3个字节可以表示的最大数字值是多少?如果采用二进制编码,那么又能够表示多大的数字值?

8.除十六进制记数法以外,另一种表示位模式的方法是点分十进制记数法(dotted decimal notation),其中每个字节由相对应的十进制数来表示,而且这些字节表示之间是用句点分开的。例如,12.5表示模式0000110000000101(12表示字节00001100,5表示字节00000101),而136.16.7表示模式100010000001000000000111。用点分十进制记数法表示下列位模式:

a. 0000111100001111 b. 001100110000000010000000

c. 0000101010100000

9.相对于位图技术,用几何结构表示图像有哪些优点?位图技术相对于几何结构又有哪些优点?

10.假如采用文中所讨论的每秒44 100次的采样频率,对1小时音乐的立体声录音进行编码。请问这段音乐编码的大小与CD的存储容量相比结果如何?

*1.5 二进制系统

在1.4节中我们看到,二进制记数法是表示数字值的一种方法,它只使用数字0和1,而不用较常见的十进制记数系统中的10个数字0到9。现在,我们来深入了解一下二进制记数法。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

2006软考上半年试题分析与解答

本书是针对全国计算机技术与软件专业技术资格(水平)考试而编写的,书中详尽分析与解答了2006年上半年的程序员级、软件设计师级、软件评测...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊