"声音" 一节介绍了如何用函数和数据列表产生声音. 这里讨论的是如何在
Mathematica 中表示声音.
与图形类似,在
Mathematica 中声音用符号声音对象表示. 声音对象以
Sound 为头部,包含一列声音基元,依次代表着被演奏的声音.
在最底层,
Mathematica 中的所有声音是由一系列振幅样本值或 MIDI 事件确定的. 在
SampledSoundList 中,这些振幅样本是在一个列表中明确给出的. 而在
SampledSoundFunction 中,振幅样本则是在输出声音时将指定的函数作用于一列整数变量而得到的. 在这两种情况下,所得到的振幅值必须在

和

之间. 在
SoundNote 中,一个音符样的声音是由代表着音频、持续时间、振幅和音符风格的一系列 MIDI 事件表示的.
一旦生成了包含各种声音基元的
Sound 对象,必须将其作为声音输出. 与图形很像,基本途径是把根据
Mathematica 对声音的表示,将其转换成
Mathematica 前端等外部程序能够处理的更低级形式.
Mathematica 使用的声音样本的低级形式是一系列表示振幅级的十六进制数字. 在
Mathematica 中,振幅级是由在

和

之间变化的近似实数表示. 在生成低级形式时,这些振幅级被 "量化". 可以使用选项
SampleDepth 来指定每个样本所使用的位数,默认值是
SampleDepth
,它产生256种不同的振幅级,这对大多数情况是够用了. 基于音符的声音的低级形式是一个 MIDI 事件的时间量化的字节流,以此指定音符对象的各种参数. 时间的量化是在回放时自动决定的.