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


      0x00前言

      前段时间看到TPYBoard的技术交流群(群号:157816561,)里有人问关于TPYBoard播放音乐的问题。最近抽空看了一下文档介绍,着手做了个实验。更多MicroPython的教程可关注(微-信公众号:MicroPython玩家汇)

      0x01实验器材

      TPYBoardv102开发板1块

      耳机或音响1个

      杜邦线若干

      0x02前期准备

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

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

     

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

      2、wav的格式要求:比特率8-bit,采样频率22050Hz。直接可以使用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类库。在最开始的教程文章中可以直接下载。

      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播放效果

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

     

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

     

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

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

      示意图

    TPYBoard v102

    耳机插头

    X5

    左声道(L)

    GND

    GND

      实物图

     

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

      

  • 相关阅读:
    flex做页面。用来做视频的后台服务器是fms
    indows下PHP通过ffmpeg给上传的视频截图详解
    PHP上传视频
    解决IE6浏览器下position:fixed固定定位问题
    PHP获取 当前页面名称、主机名、URL完整地址、URL参数、获取IP
    产品经理需要输出哪些文档?
    python三种回收机制
    数据库管理用户权限
    数据库6范式,一般来说,数据库满足前三范式即可
    递归迭代
  • 原文地址:https://www.cnblogs.com/xxosu/p/7444727.html
Copyright © 2020-2023  润新知