第四十八章 音乐播放器实验STM32F4开发指南正点原子探索者STM32开发板.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
音乐播放器实验STM32F4开发指南正点原子探索者STM32开发板.pdf 本篇资源主要讲述了使用STM32F4开发板实现一个简单的音乐播放器的设计和实现,介绍了WAV、WM8978和I2S等三个知识点。下面是对这三个知识点的详细介绍: WAV简介: WAV是计算机领域最常用的数字化声音文件格式之一,由微软专门为Windows系统定义的波形文件格式。它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持,该格式也支持MSADPCM、CCITT A LAW等多种压缩运算法,支持多种音频数字、取样频率和声道,标准格式化的WAV文件和CD格式一样,也是44.1K的取样频率,16位量化数字,因此在声音文件质量和CD相差无几! WAV文件由若干个Chunk组成的,按照在文件中的出现位置包括:RIFF WAVE Chunk、Format Chunk、Fact Chunk(可选)和Data Chunk。每个Chunk由块标识符、数据大小和数据三部分组成。 RIFF块(RIFF WAVE Chunk): RIFF块以“RIFF”作为标示,紧跟wav文件大小(该大小是wav文件的总大小-8),然后数据段为“WAVE”,表示是wav文件。RIFF块的Chunk结构如下: ``` typedef __packed struct { u32 ChunkID; //chunk id;这里固定为"RIFF",即 0X46464952 u32 ChunkSize ; //集合大小;文件总大小-8 u32 Format; //格式;WAVE,即 0X45564157 }ChunkRIFF; ``` Format块(Format Chunk): Format块以“fmt ”作为标示(注意有个空格!),一般情况下,该段的大小为16个字节,但是有些软件生成的wav格式,该部分可能有18个字节,含有2个字节的附加信息。Format块的Chunk结构如下: ``` typedef __packed struct { u32 ChunkID; //chunk id;这里固定为"fmt ",即 0X20746D66 u32 ChunkSize ; //子集合大小(不包括 ID 和 Size);这里为:20. u16 AudioFormat; //音频格式;0X10,表示线性PCM;0X11 表示 IMA ADPCM u16 NumOfChannels; //通道数量;1,表示单声道;2,表示双声道; u32 SampleRate; //采样率;0X1F40,表示 8Khz u32 ByteRate; //字节速率; u16 BlockAlign; //块对齐(字节); u16 BitsPerSample; //单个采样数据大小; }ChunkFMT; ``` Fact块(Fact Chunk): Fact块为可选块,以“fact”作为标示,不是每个WAV文件都有。在本章中,我们不对Fact Chunk进行详细介绍。 WM8978简介: WM8978是HIFI级CODEC芯片,支持最高192K 24BIT的音频播放,并且支持录音。WM8978芯片具有高品质的音频转换和低噪音的特点,广泛应用于专业音频设备和消费电子产品中。 I2S简介: I2S(Inter-IC Sound)是一种串行双向音频总线标准,于1980年代由Philips公司开发,用于音频设备之间的数据传输。I2S总线采用同步传输方式,使用三个线路:数据线(SD)、时钟线(SCK)和有效线(WS),能够传输音频数据、时钟信号和有效信号。I2S总线广泛应用于音频设备、数码音频设备、播放器等领域。 本篇资源还介绍了使用STM32F4开发板实现音乐播放器的设计和实现,包括硬件设计和软件设计两个部分。硬件设计部分主要涉及到WM8978芯片的使用和I2S总线的应用。软件设计部分主要涉及到WAV文件的读取和播放,使用STM32F4微控制器来控制WM8978芯片和I2S总线,实现音乐播放功能。
剩余27页未读,继续阅读
- 粉丝: 87
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助