- Raspberry Pi 3 Model B × 1
- 40Pinフラットリボンケーブル
- 40Pin T型GPIO拡張ボード
- ブレットボード × 1
- UDA1334A搭載 I2S ステレオDACモジュール × 1(ピンヘッダー込)
- 3.5mmイヤホンジャックアダプター × 2
- マルチメディアスピーカー(セリア) × 2
- ジャンプワイヤー(オス/オス) × 11
売り上げランキング: 10,610
売り上げランキング: 127,643

I2SステレオDACモジュールはピンヘッダーをハンダ付けしてブレッドボードに挿します。
DACモジュールには3.5mmの音声出力端子がありますが、100均スピーカーはモノラルなので、3.5mmイヤホンジャックアダプターを介してブレッドボードに接続します。
SoCのデータシートを見ると、Raspberry Piからのデジタル音声出力は、GPIO18が”PCM clock”、GPIO19が”PCM Frame Sync”で、GPIO21が”PCM data out”となっています。(デジタル音声入力のGPIO20は今回使いません)
これとDACモジュールの仕様を突き合わせると、
・GPIO18 ( PCM clock ) → BCLK ( Bit Clock )
・GPIO19 ( PCM Frame Sync ) →WSEL ( Word Select or Left/Right Clock )
・GPIO21 ( PCM data out ) → DIN ( Data In )
のように接続するのではないかと推察できます。
DACモジュールのドライバーのインストール
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
再起動したら、もう一度、先程のコマンドを実行します。
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
GPIOの設定を確認する
LXTerminalを起動し、次のコマンドでGPIOの設定を確認します。
gpio readall
GPIO18,19,20,21の設定モードが全て”ALT0″に変更されていて、先程のデータシートからPCM(I2S)の各機能に割り当てられていることが分かりました。
Scratch 2の音ライブラリーの音源を再生する
選択した”techno2″がスクリプトエリアの波形欄に表示されているので、「▶」ボタンをクリックして音声を出力します。左右の100均スピーカーから音が出ましたが、64kbpsの疑似ステレオ音声なので、【第19回】のときのPWM出力との違いはよく分かりません。
ハイレゾ音源を再生する
ハイレゾ音源のサンプルファイルはいろいろな所からダウンロードできますが、テスト用に最もお手軽な「SONY – ハイレゾとは?」からダウンロードしてみました。
ページ中程の「サンプル音源」の「ハイレゾ音源」をクリックすると、ダウンロードが始まります。
展開してできたファイル”Sample_Be…flac”を右クリックして出てくるメニューから【第19回】でインストールした「Audacity」を選択します。
Audacityが起動し、画面上に24bit/96kHzのハイレゾ音源”Sample_Be…flac”の波形が表示されるので、「▶」ボタンをクリックすると再生が始まります。
100均スピーカーからは低音がまったく出ませんが、ノイズのないクリアーなサウンドが聞こえてきました。但し、100均スピーカーは能率が低く小さな音しか出ないので、【第18回】で使ったD級アンプを出力側に噛ませる ( ← バンドパスフィルターは不要、5VとGNDはRaspberry Piと分ける ) か、DACモジュールの3.5mmの音声出力端子にヘッドフォンを接続すれば、よりハイレゾのメリットが感じられるはずです。