MaixCube (オーディオプレーヤにしてみた?)
maixCubeには、オーディオコーデックIC(ES8374)が実装されているとのこと。
Specを見ると、ADC/DACという感じでしょうか。
スピーカもついているようなので、音楽でも出力してみたいと思います。
ただ、ドライバが見当たらないので探してみると、ありました。
https://github.com/sipeed/MaixUI
のDriverに、es8374.pyというのがあります。
このMaixUIもいろいろなサンプルプログラムがありますので、一括Downloadして、Localに解凍しておくとよいかとおもいます。
で、es8374.pyをMaixPy.IDEで開きます。すると740行以降からmainプログラムが用意されています。このプログラムは、CubeとAmigoの両方で動くように作られていますので、Cube用にコメントを編集していきます。まず,I2Cのポート番号をCubeに合わせます。
#fm.register(30,fm.fpioa.I2C1_SCLK, force=True)
#fm.register(31,fm.fpioa.I2C1_SDA, force=True)
fm.register(24,fm.fpioa.I2C1_SCLK, force=True)
fm.register(27,fm.fpioa.I2C1_SDA, force=True)
↓
fm.register(30,fm.fpioa.I2C1_SCLK, force=True)
fm.register(31,fm.fpioa.I2C1_SDA, force=True)
#fm.register(24,fm.fpioa.I2C1_SCLK, force=True)
#fm.register(27,fm.fpioa.I2C1_SDA, force=True)
827行
#fm.register(19,fm.fpioa.I2S0_MCLK, force=True)
#fm.register(35,fm.fpioa.I2S0_SCLK, force=True)
#fm.register(33,fm.fpioa.I2S0_WS, force=True)
#fm.register(34,fm.fpioa.I2S0_IN_D0, force=True)
#fm.register(18,fm.fpioa.I2S0_OUT_D2, force=True)
fm.register(13,fm.fpioa.I2S0_MCLK, force=True)
fm.register(21,fm.fpioa.I2S0_SCLK, force=True)
fm.register(18,fm.fpioa.I2S0_WS, force=True)
fm.register(35,fm.fpioa.I2S0_IN_D0, force=True)
fm.register(34,fm.fpioa.I2S0_OUT_D2, force=True)
↓
fm.register(19,fm.fpioa.I2S0_MCLK, force=True)
fm.register(35,fm.fpioa.I2S0_SCLK, force=True)
fm.register(33,fm.fpioa.I2S0_WS, force=True)
fm.register(34,fm.fpioa.I2S0_IN_D0, force=True)
fm.register(18,fm.fpioa.I2S0_OUT_D2, force=True)
#fm.register(13,fm.fpioa.I2S0_MCLK, force=True)
#fm.register(21,fm.fpioa.I2S0_SCLK, force=True)
#fm.register(18,fm.fpioa.I2S0_WS, force=True)
#fm.register(35,fm.fpioa.I2S0_IN_D0, force=True)
#fm.register(34,fm.fpioa.I2S0_OUT_D2, force=True)
つぎにi2sの初期化部を変更します。
これは、maixpyでエラーがでるので変更します。
i2s = I2S(I2S.DEVICE_0, pll2=262144000, mclk=31)
↓
i2s = I2S(I2S.DEVICE_0)
あとは、844行に再生ファイルを指定して、音楽FileをSDカードに保存しておきます。player = audio.Audio(path="/sd/12802.wav")
以上でIDEでONすると、音楽Fileが再生されます。
モノラルで、小さなスピーカーですが、なかなか楽しめます。
あとは、FSや、スイッチの操作を追加すれば、オーディオプレーヤーの完成です。