声音理论
要理解声音在掌上电脑上是怎么再现的,有必要解释一下数字声波是怎么创建和被感知的。在非数字的真实世界里,声音像压力波一样通过空气传播,它是一种实时的模拟现象。压力波使我们的鼓膜产生振动(并且向它们传递能量)。每微秒传递的能量值并不是固定的某些值,而是一段连续值中的任何一个。而且,产生的压力在随时间而不断地变化,并且变化的速度几乎是无限的。
当现实世界中的声音被转换到数字世界的时候,会受到一些限制,而这些限制在现实世界中并不存在。在计算机中,声波被转换成数字流,这个过程称为采样。对声波的能量以规则的快速等间隔拍下快照,称为“样本”,再把取得的能量值以数字的形式保存在数据流中,采样声音通过上述方法来近似达到它们的原始声音。回放的时候,保存数据流中的数字就被用来再现原始声波的形状。再现的质量取决于对原始声波的模拟的精确程度。这一点基本上取决于两个因素:声音采样的动态范围和频率响应。
动态范围
数字声波的动态范围取决于每一个采样点的取值范围。例如,一个 8 位的数字能存储 256 个数值,即 0 到 255(或 -128 到 127)。当对声波进行采样时,声音的能量就被映射成数字,音量最大的部分对应的是最大值。因此,8 位的声音采样值介于 -128 和 +127 之间,0 表示静音。
如果动态范围太小,就无法精确再现原始声波的形状,导致回放时只能听到噪音。人的耳朵很难察觉到 1/255 的音量变化,这个值正好是 8 位的精度。而 16 位(占用两倍空间,产生 65536 个值)则是高质量音频的标准。
声波中音量最大的部分被映射成采样值的全范围,而音量较小的部分则不能充分利用数据的所有位数,这就产生了差别。举例来说,假如您要对 1812 序曲采样,或许会调整一下映射关系,使音量较大的部分占用从 -128 到 +127 的取值。这些部分就会占用所有 8 位,可能音质非常好。然而,音量较小的部分就不那么令人满意了。假如它们的音量只有整个音乐中最大音量的 1/16,那么它们的取值范围就是 -7 到 +8,只占用整个 8 位中的 4 位。然而,如果以 16 位对整个波形重新采样,那么即使是最安静的部分也会达到 12 位的精度,整个声音的音质也更好。
频率响应
第二个因素,频率响应,是指采样的速度,即采样率,单位是每秒采样的次数,即赫兹(Hz)。当声波迅速变换时,必须提高采样率才能反映原始声波的形状。快速变换的声波不仅能表达类似瓶子打碎的高频音符,也能表达鼓、钹及其它打击乐器。如果采样率不足以再现原始声波,那么与原始声波相比,这些声音就听起来有些“含混”或不如原始声音“脆”。
采样声音可以通过在两个不同值之间的简单变换来表现它的最高频率。每两次采样,这两个值就会重复出现一次,因此,可以生成一个最高频率的数字声波,称为 Nyquist 频率,它是采样率的一半。人能察觉到的最小声音频率是 20000 Hz,所以高保真音响的最小采样率大约是 40000 Hz。普通音质的语音的最小采样率大约是 8000 Hz。
声音格式
不同的数字设备采用不同音质和大小的数字声音格式。音频 CD 存储的是 16 比特 44000 Hz 的立体声,音质非常好,根本感觉不到它和原始声音之间的区别。然而,就像在停车库里停了一辆 SUV 一样,CD 音质的音频占用了大量的存储空间,每分钟需要 10 兆字节。
当音质不太重要时,经常需要降低动态范围和/或采样率来减小文件尺寸。通常认为,对于语音和非音乐应用程序来说,8 位、8000 Hz 的声音已经足够了。
压缩技术也可以用来降低文件尺寸。然而,就像视频一样,音频也很难压缩。要想有效压缩,总是需要修改原始声音数据。这种压缩称为“有损压缩”,会导致声音失真,在最后输出中通常会产生背景噪音。例如,TealMovie 的 ADPCM 压缩算法能使声音文件尺寸减少一半,却会在声音样本中听到明显的噪音。
高级压缩技术,例如 MP3,利用强大的计算能力和巧妙的算法,能使声音文件的尺寸缩减到原来的十分之一。虽然 MP3 使用的仍然是“有损”压缩,但对大部分声音来说,却很难听出有任何变化。其副作用就是回放 MP3 文件需要极其强大的计算能力;结果导致大多数 Palm Powered 掌上电脑虽然支持 MP3,实际上却需要专用硬件的支持才能做到这一点。于是需要了解……
音频硬件
令人吃惊的是,第一款 Palm Powered 掌上电脑就已经支持采样声音回放了。这一功能来自 Motorola 的 Dragonball 处理器。它内置的硬件可以回放 8 位的 10000 Hz 采样声音。但是,为了播放咔哒、喇叭和闹钟之外的声音,还需要额外的过滤硬件设备。虽然添加新的硬件只要很少的一笔费用,但是由于音频特性并不是最重要的,所以觉得并不划算。
今天,所有基于 Dragonball 的 Palm Powered 掌上电脑仍然只有基本的内置声音支持。有些掌上电脑,例如 TRGpro、HandEra 330 和 Sony CLIE,它们具备专用的过滤器,所以能够播放出保真的声音。很多 Sony 掌上电脑还提供了耳机插孔——设备中的一个很好的多媒体功能应用特性。
大多数基于 ARM 的掌上电脑也支持高品质音频。Sony NX70 和 Palm Tungsten T 都提供了耳机插孔,并且支持采样声音回放。然而,有一点重要的区别,Tungsten T 能回放各种不同格式的,以及达到 CD 级音质的各种不同采样率的未压缩的采样声音。而 NX70 虽然能播放保存在记忆棒上的高品质 MP3 文件,但它只能识别 8 位、8000 Hz 的压缩格式,使游戏和应用程序的音质受到限制。游戏和应用程序的声音数据可能是临时生成的,也可能是储存在内存中的数据。
然而,Sony NX70、NR70 及其类似型号还有其它一些特殊功能,比如支持声音合成。这些设备不能播放语音。它们借助极少用的硬件,用类似钟和羽管键琴的声音的基本声波合成声音。声音合成支持不仅能给掌上电脑提供音乐报警的功能,还能生成音乐,听起来就像摆满了羽管键琴等乐器的房间。
Beat Plus Springboard 模块给 Handspring Visors 添加了像 Sony 一样的音频支持,而其它的 Springboard 模块和 Kyocera 7135 Smartphone 则提供了 MP3 回放支持。大多数情况下,MP3 的播放需要专用硬件芯片的支持。这些硬件直接从 SD 卡或记忆棒中读取数据。从本质上说,这和独立的 MP3 播放器很相似,仅仅是很松散地集成到掌上电脑中。这样能最大限度地延长电池寿命。但我们很快就会发现,这种做法限制了软件程序对它们的使用。
软件支持
在选择一个新设备时,最重要的考虑点并不仅是它的声音性能,还有第三方软件能否利用那些特性。有什么硬件可用一般不是问题,重要的是对于开发人员来说,这些信息在多大程度上可用。
开发人员可以很容易地从 Motorola 免费获取必需的文档,并按文档说明极其方便地给基于 Dragonball(OS 4 及其以前版本)的掌上电脑添加声音支持。几乎这一系列的所有设备都能支持各种音质的基本音频。重要的是,用于以前的 Pilot、PalmPilot 和 Palm III 的 Dragonball 处理器的音频缓冲区太小了,在播放采样声音的同时就不能进行其它操作,比如播放视频。从 PalmIIIx 开始,后来的型号不仅改进了原来不够清晰的屏幕,还添加了 Dragonball-EZ、-VZ 和 -SuperVZ 芯片。这些为音频缓冲和更重要的 TealMovie 音频提供了支持。
然而,即使是 Dragonball,对软件声音的支持常常也依赖于提供给开发人员的文档。例如,TRGpro 和 HandEra 330 配备了一个由软件控制的放大器,它必须在播放采样声音之前由程序显式打开。幸运的是,HandEra(以前的 TRG)在发布的几个月之前就为开发人员提供了这些信息。但是,某些 Sony 掌上电脑的音频支持常常就没这么容易了。例如,在 NR70 或 NX70 播放采样声音时,要求至少操纵三个软音量控制,但只有一个提供了公共文档。
PalmOS 5 承诺提供新的采样声音回放支持以减少这些问题。改进的声音支持已经添加到了 PalmOS 5.1 中,但是在 Tungsten T 上的 Palm OS 中,Palm 又撤消了这些改进。而且,Sony NX70 不支持这一新的声音库。另外,与 Sony NR70 不同的是,NX 不再使用 Dragonball 硬件。于是,采样声音的回放受到极大限制。要想添加支持,就需要专门文档,而这些文档很难得到。这极大地降低了对第三方软件的支持。
MP3 的回放又怎样呢?MP3 文件的回放确实是一个很好的特性,能给掌上电脑用户以更好的体验。遗憾的是,大多数 MP3 播放支持使用的是定制的硬件芯片,所以软件应用程序的功能通常只限于开始和停止回放 SD 或记忆棒上的 MP3 文件。一般的程序不能直接访问音频硬件,所以有高品质的 MP3 回放功能并不表示游戏、电影和其它应用程序也能播放出高品质的声音,这些程序都需要从主内存更快地访问声音数据。
总结
购买设备时,如果音频是重要考虑点,那么要考虑好使用最多的音频应用程序是什么。游戏?电影?音乐?选择的设备要配备耳机插孔,具有良好的采样声音回放功能。如果想播放 MP3 文件,就要确信厂商标明的电池寿命足够用。记住,音质随型号的不同而不同,能为 MP3 回放提供“增强型”音频支持的设备也许只能播放语音品质的采样声音。最后,购买时还要考虑软件的支持。如果设备自带的软件可以满足您的所有需要,那么附加软件就不那么重要了。但是如果想使用很多第三方游戏和应用程序,那么要确认能充分利用设备的所有新功能。查看可能用到的软件的手册,检查兼容性。
大多数设备越来越需要更好的软件支持,于是开发商为设备提供了有帮助的强大开发程序。下面列举了一些值得考虑的特性:
TUNGSTEN T
·处理器:ARM
·开发文档:很好
·PalmOS 声音库:有
·采样声音:灵活,最高支持 16 位、44000 Hz 的 CD 音质
·MP3 播放:只能通过附加软件实现
·耳机:有
·其它:录音机
SONY NX70
·处理器:ARM
·开发文档:有限
·PalmOS 声音库无
·采样声音:只支持 8 位、8000 Hz ADPCM 压缩格式
·MP3 播放:包含(硬件)
·耳机:有
·其它:声音合成
SONY NR70
·处理器:Dragonball Super VZ
·开发文档:只有 Dragonball
·PalmOS 声音库:无
·采样声音:支持 8 位 10000 Hz Dragonball 或 8 位 8000 Hz ADPCM 压缩格式
·MP3 播放:包含(硬件)
·耳机:有
·其它:声音合成
KYOCERA 7135
·处理器:Dragonball VZ
·开发文档:好(Dragonball)
·PalmOS 声音库:无
·采样声音:8 位 10000 Hz Dragonball
·MP3 播放:包含(硬件)
·耳机:有
·其它:内置麦克风