【问题标题】:Wav file contents. What does those byte values meanWav 文件内容。这些字节值是什么意思
【发布时间】:2014-11-18 23:35:31
【问题描述】:

我正在尝试使用 arduino 和扬声器播放 wav 文件,但我看到了一些示例(例如 http://playground.arduino.cc/Code/PCMAudio)。但我不明白的几件事,至少其中之一是成功完成这项任务的基础。

我了解在 y 样本中有 x 位音频意味着:

  1. 我必须每秒播放 x 个样本。
  2. 每个样本应播放 1/y 秒。

我设法将我的音频转换为 8 位 8000 Hz 字节数组。我不明白那些 8 位值是什么。 (我知道它们是样本值,但它们是什么意思)。我应该用他们做什么来播放样本?它们是最大电压百分比还是什么?

【问题讨论】:

    标签: audio arduino


    【解决方案1】:

    您提供的链接是使用 PWM = 脉冲宽度调制在引脚上播放音频。 PWM 通过在与采样值成比例的每个周期的一部分时间内将引脚从 0 切换到 Vcc 来模拟改变输出电压。值为 0 表示引脚在整个周期内保持为 0。值 256 表示引脚保持高电平。值 128 表示该引脚在半个周期内为高电平,其余时间为关闭状态。

    要录制音频,设备会以特定速率从麦克风采集电压。比率越高越好。同样,电压样本可以具有或多或少的精度。越高越好。

    8 位音频表示在一个间隔中记录的电压是 256 个值之一。 12 位音频有 4096 个值。

    8000 Hz 的采样率意味着每秒采样 8000 次,或每 125 us 采样一次。

    【讨论】:

    • 这一切我都知道。但是那些8位电压记录值是什么意思。
    • 麦克风对气压变化作出反应,从而在电线中感应出电流。导线两端的电压差就是模拟音频信号。信号从正到负迅速变化。数字值是这个信号的近似值,0 是最负的,255 是最正的。当电压信号通过引脚传递到扬声器时,扬声器线圈将感应电流转换为运动,从而再现原始声音。
    猜你喜欢
    • 2013-05-09
    • 2020-03-24
    • 2015-09-12
    • 2019-07-30
    • 2013-08-20
    • 2014-12-24
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多