Adafruit_CircuitPython_Wave でwavファイルを再生

最終更新日

前回は、audiocore とaudomixerでwavファイルを再生した。
引き続き、 CircuitPython で、RaspberryPi Picoから音源再生。

RPi Pico のMixer

RPi Pico のMixer

2024.01.07

audiocore.WaveFile() は、wavファイルをそのまま再生するのはいいが、ちょっとeffectをかけたい場合に不便。
.wavファイルをデータイメージでloadして、 audiocore.RawSample() で再生してみる。

adafruit_wave.py

Adafruit_CircuitPython_Wave は、.wav ファイルをデータとしてloadできる

上記から、 adafruit_wave.py をもってきて、Macなら /Volumes/CIRCUITPY/lib 配下にコピーする。

cp adafruit_wave.py /Volumes/CIRCUITPY/lib

配線

  • GP26(A0) とGNDをスピーカーに接続
  • GP0 - タクトスイッチ - GNDを接続

操作

起動すると、 sample.wav を再生。
タクトスイッチを押すと、再生中のデータ(0.5秒分)を繰り返す。
温泉がすきすきすきすき...

sample.wav

source code

demo

制限

FileIOは重い。0.5秒単位ならまだいいが、0.2秒単位のloadにするとブツブツと雑音が混じる。

シェアする