ハードシーケンサ開発。(その8:オーディオは諦め予定)
はじめに
オーディオについては出来合いのパーツから出そうと思っていた。
ピコオーディオ – ウェーブシェアウィキ (waveshare.com)
これを買って取り扱ってみたところ、音がでない。
また試しにサンプルプログラムを動かしてみたところ問題なく動いた。
なんでだろうと確認してみたところ、どうも仕様的に以下の状態な模様。
- 当該オーディオボードは古い構成と新しい構成の2種類存在する
- 対象のオーディオボードは新しいもの
日本国内に販売している商社側も構成がそもそも違うことを認識してない疑惑がある - 違いは乗っているチップと、オーディオ再生に必要なピンの数
- 現在利用しているArduinoのRP2040環境だと、Waveshareのパーツは古い構成しか対応していない
I2S (Digital Audio) Audio Library — Arduino-Pico 2.5.2 documentation - よって、上記環境で新しい構成を利用するには別途実装を追加する必要がある
詳細
まずオーディオ再生ボードで最低限必要なピンは3種。
- DIN/DOUT
デジタル入出力を行うポート - BCK
オーディオデータに関するベースクロック
ベースクロック(BCLK / 外部クロック)とは – 意味をわかりやすく – IT用語辞典 e-Words - LRCK
左右出力のクロックをカウントするピン
これに加えて新しい構成のオーディオボードは、MCLK(マスタークロック)を持つ。
これでスケジュールどおりにオーディオ出力を行うことが可能になる。
対応を選択
オーディオ出力ができないため、以下の対応のどれかを選ぶ。
- 作らない
元々MIDIキーボード・シーケンサが作りたいだけなので後回しにするのは手 - 最低限必要な構成のオーディオボードを作成の上I2Sで通信する
既存のボードとかありそうな気がする。実はいくつかオーディオ出力のパーツは持ってるので。 - Arduino環境にMCLKの通信を行えるような実装を追加する
難易度が高い
今の所1番目になりそう。