1.5.7 标准音频

最后介绍的基本输出抽象为stdaudio模块,可用于播放、操作和合成音频。你可能以前使用过计算机来处理音乐,本节将介绍通过编写程序来处理音乐。同时,读者将学习一些著名和重要的计算机科学和科学计算领域的概念:数字信号处理。本书仅仅粗略涉及这个很有趣的主题,但读者会发现其内在的概念其实十分简单。

1. 标准A音(Concert A

声音是受分子的震动产生的感知,即耳膜的震动产生的感知。所以,理解声音的关键是震荡。可能理解音乐的最简单开始是讨论高于中C调的音符A,称为标准A音。这个音符为一个正弦波,每秒振荡440次。函数sin(t)重复间隔为2π,所以如果t的测量单位为秒,则绘制函数sin(2πt×440),结果曲线每秒振荡440次。当我们通过拨动吉他琴弦、吹小号或者将一个小圆锥放置在扬声器上振动来演奏音符A,该正弦曲线是我们听见和辨识标准A音的主要部分。频率的单位是赫兹(hertz,即每秒的周期数)。如果让频率加倍或减半,则音乐升高或降低八度。例如,880赫兹比标准A音高一个八度,而110赫兹比标准A音低两个八度。作为参考,人耳能够辨识的频率范围大约为20赫兹到20 000赫兹。声音的幅度(y值)对应于音量大小。绘制曲线时幅度的范围取值为-1到+1,假设记录或播放声音的设备可按比例缩放音量,就如同通过旋转音量按钮进一步控制音量大小一样。音符、频率和波形的关系如图1-5-12所示。

图1-5-12 音符、频率和波形的关系

2. 其他音符

一个简单的数学公式可刻画半音音阶上其他音符的特征。半音音阶上包含12个音符,在对数(对数的底为2)刻度上均匀分布。给定音符上的第个音符频率计算公式为:给定音符的频率乘以2的( ...

Get 程序设计导论:Python语言实践 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.