查看: 2484|回复: 0

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

[复制链接]
  • TA的每日心情
    慵懒
    2018-1-6 09:01
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2018-9-29 10:43:47 | 显示全部楼层 |阅读模式
    分享到:
    0x00 前言

    前段时间看到有人问关于TPYBoard播放音乐的问题。最近抽空看了一下文档介绍,着手做了个实验。

    0x01 实验器材

    TPYBoard v102 开发板 1
    耳机或音响 1

    杜邦线 若干

    0x02 前期准备

    看一下TPYBoard的官方DOCS的上面的资料:
    <http://docs.tpyboard.com/zh/late ... /?highlight=wav>

    1.png

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

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

    3、ubuntu 安装方法:

      
    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.py、wave.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、接好线后,重新运行一下程序,我们就可以听到声音啦。


    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-6-3 03:09 , Processed in 0.093946 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.