OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » MicroPython开发板:TPYBoard v102 播放音乐实例

共2条 1/1 1 跳转至

MicroPython开发板:TPYBoard v102 播放音乐实例

助工
2018-09-29 11:14:27    评分


0x00 前言

 

前段时间看到TPYBoard的技术交流群(群号:157816561)里有人问关于TPYBoard播放音乐的问题。最近抽空看了一下文档介绍,着手做了个实验。

 

0x01 实验器材

 

TPYBoard v102 开发板 1

耳机或音响 1

杜邦线 若干

 

0x02 前期准备

 

看一下TPYBoard的官方DOCS的上面的资料:

http://docs.tpyboard.com/zh/latest/tpyboard/tutorial/amp_skin/?highlight=wav

 

1.png

 

1、  首先我们需要一个可以播放的.wav音频文件,通过文档的描述和测试,发现只能播放2秒左右的音乐,文件大小应小于50KB,否则会提示错误。

 

2wav的格式要求:比特率8-bit , 采样频率22050 Hz。直接可以使用avconv工具将mp3工具转换成可以播放的wav文件。

 

3ubuntu 安装方法:

sudo apt-get   install ffmpeg

sudo apt-get   install libav-tools

 

 

4、安装完成后,直接执行命令。

avconv -i 2.mp3 -ar 22050 -codec pcm_u8   test2.wav

 

5、还得需要一个TF内存卡,放入源码和wav音频文件后,开发板本身的FLASH空间会不足。

 

0x03 程序源码

 

main.py

import wave

from pyb import DAC

dac = DAC(1)

f = wave.open('/sd/test2.wav')

dac.write_timed(f.readframes(f.getnframes()),   f.getframerate())

 

通过上面的源码中,可以看出来主要是用到wave类库。在最开始的教程文章中可以直接下载。



2.png

 

6、点击红框可直接下载wave.py,在wave文件中又引入了chunk.py,点击蓝框直接下载。

 

7、将main.pywave.py chunk.py 直接拷贝到开发板的TF卡中即可。

 

8、点击绿框中可以下载官方提供的wav播放文件test.wav

 

9、通过上面我自己制作了一个test2.wav文件,大家也可以尝试自己制作音频文件播放。

 

源码和wav文件下载地址

https://github.com/PakchoiFood/TPYBoardV102-PlayMusic

 

 

0x04 播放效果

 

先了解一下耳机插头的结构。


3.jpg

 

10、上图是三段的耳机插头图,比如我们的音响插头、收音机插头等。

 

4.jpg


11、上面是四段的耳机插头图,我们平时用在手机上的耳机插头一般都是四段的,中间多了麦克的功能。可能有些国际上的标准,MIC麦克和GND接地的位置会倒过来。

 

 

12、大家通过main.py 源码可以看到,我们使用的是DAC(1),所以需要将X5引脚和左声道连接,GND引脚和耳机插头上的GND连接。

 

示意图

 

TPYBoard   v102

耳机插头

X5

左声道(L)

GND

GND

 

实物图

 

5.jpg

 

 

13、接好线后,重新运行一下程序,我们就可以听到声音啦。




管理员
2018-09-30 09:20:59    评分
2楼

涨姿势


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]