Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio Wav文件内容。这些字节值是什么意思_Audio_Arduino - Fatal编程技术网

Audio Wav文件内容。这些字节值是什么意思

Audio Wav文件内容。这些字节值是什么意思,audio,arduino,Audio,Arduino,我正在尝试使用arduino和speaker播放wav文件,我看到的示例很少(例如)。但我不了解一些事情,其中至少有一件是成功完成这项任务的基础 我理解,在y样本上具有x位音频意味着: 我必须每秒播放x个样本 每个样本应播放1/y秒 我设法将音频转换为8位8000 Hz字节数组。我不明白那些8位值是什么。(我知道它们是样本值,但它们是什么意思)。我该拿他们怎么办才能玩?它们是最大电压%还是什么?您提供的链接是用于播放音频输出的引脚,PWM=脉宽调制。PWM模拟通过在与采样值成比例的每个周期的一部

我正在尝试使用arduino和speaker播放wav文件,我看到的示例很少(例如)。但我不了解一些事情,其中至少有一件是成功完成这项任务的基础

我理解,在y样本上具有x位音频意味着:

  • 我必须每秒播放x个样本
  • 每个样本应播放1/y秒

  • 我设法将音频转换为8位8000 Hz字节数组。我不明白那些8位值是什么。(我知道它们是样本值,但它们是什么意思)。我该拿他们怎么办才能玩?它们是最大电压%还是什么?

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

    为了录制音频,一种设备以一定的速率对麦克风的电压进行采样。利率越高越好。同样,电压采样可以有或多或少的精度。越高越好

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


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

    我知道所有这些。但是8位电压记录值的含义是什么呢?麦克风对空气压力的变化做出反应,从而在导线中感应电流。导线两端之间的电压差是模拟音频信号。信号从正到负迅速变化。数字值是该信号的近似值,0表示最负,255表示最正。当电压信号通过引脚传输到扬声器时,扬声器线圈将感应电流转换为运动,再现原始声音。