机器人/组件/音频
机器人的音频组件是那些允许它发出声音的部件,无论是用于娱乐目的还是传递信息。
这可以通过简单的音效芯片来实现:廉价的集成电路,允许用极少的外部组件播放特定的声音。这些通常用于玩具。
其他方法包括存储样本的存储芯片、DAC 和放大器、MP3 播放器或便携式电脑上的语音合成软件。
生成简单的声音很容易。你只需要一个频率在 20 到 20,000Hz 之间的振荡器、一个放大器和一个扬声器。这样的电路可以产生人类可以听到的任何音调。通过改变振荡器的频率,你可以改变发出的音调。Qbasic 有一个命令可以做到这一点:sound。Sound 让你指定一些参数,其中最重要的是频率。通过改变这个频率随时间的变化,可以产生简单的音效。
一种更好的产生声音的方法是采样
声波的强度随时间变化。麦克风(带前置放大器)可以将这种强度转换为具有相同形状的电信号。模数转换器 (ADC) 可以将这个电信号转换为数字。然而,这不是一个连续的过程,而是一个离散的过程,这意味着每隔 x 毫秒测量信号的幅度(电压或电流)并将其转换为数字。这将导致原始信号的数字近似。这个近似值的好坏取决于对信号进行采样的频率。当然,更多的样本意味着消耗更多的存储空间,也需要更昂贵的硬件。ADC 的价格取决于精度(有多少位表示样本)以及它每秒可以采集多少样本(还有更多参数,但对于这本书来说,这些参数超出了范围)。
现在你有一系列数字。当然,现在你想把这个数组恢复成声音。这是通过数模转换器 (DAC) 完成的。这部分将数字值转换回电信号。在 DAC 之后,有一个滤波器来平滑波形,一个放大器和一个扬声器。以与它们采样相同的速率,将数组样本逐个送入 DAC,你就会听到原始的声音。
这种方法的优点是它的(相对)简单性。缺点是它会占用大量的内存。
更高级的方法是存储编码后的声音(例如 MP3)。这更棘手,因为它需要解码器,但现在已经有包含完整 MP3 解码器的集成电路,这使得它成为一个值得关注的方法。
本节应涵盖有关这些电路和 IC 的一些基本信息
当需要放大幅度很小的信号时,使用前置放大器。前置放大器非常线性(它们在信号中产生的失真非常小),但效率非常低。它们放大来自例如麦克风的信号,该信号的幅度通常为 1mV 或更小,使其达到更实用的 100mV 及以上。由于它们的效率如此之低,前置放大器电路不用于功率放大器。
放大器允许低功率信号通过扬声器以相当大的功率输出。为了保持功率,放大器通常允许信号产生一些失真。(除了 A 类放大器,它们消耗大量功率,但失真很小)。
放大器可以用 IC、分立元件或模块来构建。
模数转换器(简称:ADC)将模拟信号转换为数字值。ADC 有一定的精度,以位表示,例如 8 位、10 位和 16 位。这意味着 ADC 将有一个具有 8 位、10 位和 16 位的二进制数。此二进制数所表示的最高值对应于施加在 ADC 特殊输入上的参考电压。例如,如果我们有一个 8 位 ADC,并且我们在这个特殊输入上施加 5V,那么值 255 表示 5V。它的精度将是 1/255 * 5 V 或 0.02V。每次我们在二进制数中加 1,表示的电压就会增加 0.02V。
关于 ADC 的第二个要点是它们的时序。ADC 需要一些时间来完成转换。它们越快,对信号进行数字化的精度就越高(或者换句话说,信号的频率可以越高),价格也越贵。
DAC 将数字值转换为电压电平。它们要么使用参考电压,要么使用“轨到轨”,这意味着它们的最高数字输入值表示与 DAC 供电电压(几乎)相等的电压电平。与 ADC 相似,DAC 有一定的精度,以位表示,并且需要一些时间来完成转换。
振荡器产生重复的信号。这可以是几乎任何你想要的形状,但最常见的形状是正弦波、方波、锯齿波和三角波,以及许多不同的脉冲形式。
有许多专门为产生音效而设计的 IC。
- 振荡器:这些输出具有用户可定义频率的信号。通过改变频率,你可以制造出不同的音效。
- 音效芯片:这些输出特定的音效(例如,电机声音)。这些是不可改变的。
- 声音录制和播放芯片:这些可以记录短暂的声音(有些可以记录多个不同的样本),并且可以稍后播放这些样本。