ハードウェアの構成(DAC版)

部品リスト:
・Raspberry Pi Pico H ※または、Raspberry Pi Pico+ピンヘッダー
・Pico Audio Pack(PIM544)https://shop.pimoroni.com/products/pico-audio-pack
  ※安価なGY-PCM5102モジュールも使用可能
  ※Pico-Audio Rev2.1(WAVESHARE-20167)等も使用できるが、ソフトウェア改造が必要
・Pico Omnibus(Dual Expander) ※オプション

※参考:Pico H+Pico Audio Packで¥4,500くらい(2024/09/16)

ハードウェア構成例 (1)

・左:Raspberry Pi Pico H+Pico Audio Pack
・右:Raspberry Pi Pico H+Pico-Audio ※参考

ハードウェア構成例 (2)

・Raspberry Pi Pico H+Pico Omnibus(Dual Expander)+Pico Audio Pack+USBシリアル変換アダプター:ソフトウェア改造時にデバッグ用シリアルを使用可能

参考:秋月電子の通販情報(2024/09/16)

・https://akizukidenshi.com/catalog/g/gM-18085/ Raspberry Pi Pico H(¥920)
・https://akizukidenshi.com/catalog/g/gM-16237/ Pico Audio Pack(¥3,450)
・https://akizukidenshi.com/catalog/g/gM-16240/ Pico Omnibus(Dual Expander)(¥1,090)

参考:スイッチサイエンスの通販情報(2024/09/16)

・https://www.switch-science.com/products/8170 Raspberry Pi Pico H(¥1,012)
・https://www.switch-science.com/products/7380 Pico Audio Pack(¥3,300)
・https://www.switch-science.com/products/7377 Pico Omnibus(Dual Expander)(¥1,837)

ソフトウェアのインストール

1)https://github.com/risgk/digital-synth-pra32-u/releases/latest からDL、展開。
2)Raspberry Pi Pico (H) の白いボタンを押しながら、USBケーブルでPCと接続。
3)マウントされた RPI-RP2 に bin/Digital-Synth-PRA32-U-Pimoroni-Pico-Audio-Pack.uf2 をコピー。
※Pico-Audio Rev2.1(WAVESHARE-20167)等を使用する場合は、Arduino IDEによるソフトウェア改造が必要。

オプション:Arduino IDEによるソフトウェア改造 (1)

1-1)Arduino IDE をインストール。
1-2)[基本設定...] の [追加のボードマネージャーのURL] に以下を設定。
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
1-3)[ボードマネージャ] で Raspberry Pi Pico/RP2040 by Earle F. Philhower, III をインストール。(各リリースのテストに使用されたバージョンを推奨)

オプション:Arduino IDEによるソフトウェア改造 (2)

2-1)[ライブラリマネージャー] で MIDI Library by Francois Best, lathoub をインストール。(バージョン 5.0.2 を推奨)
2-2)Arduinoスケッチ "Digital-Synth-PRA32-U.ino" を開く。
2-3)ボード: "Raspberry Pi Pico" 、USB Stack: "Adafruit TinyUSB" を選択。
2-4)I2S_DAC_MUTE_OFF_PIN等を使用DACに合わせて変更。Update Method: "Default (UF2)" 以外では、スケッチ書き込み中にノイズが発生する場合があるので注意。

オプション:PWMオーディオ版 (1)

Arduino IDEを使って "Digital-Synth-PRA32-U.ino" で以下のようにコメントアウト解除すると、オーディオ用(I2S)DACを使わずにPWMオーディオ出力が可能。
#define PRA32_U_USE_PWM_AUDIO_INSTEAD_OF_I2S

※出力ビット深度が11~12のため、ノイズが多め。
※音量は小さめ。
※フラッシュに音色保存できない。
※出音がUSB MIDI通信ノイズの影響を受けないように、UART、MIDI制御(要ソフトウェア改造)を推奨。

※参考:部品合計で¥2,000くらい(2024/09/16)

オプション:PWMオーディオ版 (2)

デフォルトの出力ピン設定は、以下の通りPimoroni Pico VGA Demo Base (PIM553) 用。修正可能。
https://shop.pimoroni.com/products/pico-audio-pack
#define PRA32_U_PWM_AUDIO_L_PIN               (28)
#define PRA32_U_PWM_AUDIO_R_PIN               (27)

オプション:PWMオーディオ版 (3)

PWM audioの詳細は、「RP2040 を使用したハードウエア設計」の「3.4.1. PWM オーディオ」を参照。
https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040-JP.pdf

オプション:PWMオーディオ版 (4)

PRA32-U v2.6.0以降では、コンパイル済みのUF2ファイルを用意しているので、改造しないならArduino IDEのインストールは不要。

1)Raspberry Pi Pico (H) の白いボタンを押しながら、USBケーブルでPCと接続。
2)マウントされた RPI-RP2 に bin/Digital-Synth-PRA32-U-PWM-Audio.uf2 をコピー。

部品リスト

・P1:Raspberry Pi Pico
・U1:オーディオジャック(3.5 mmステレオミニ等)
・R1, R2:220 Ω抵抗
・C1, C2:100 nFコンデンサ
・ブレッドボード等、ジャンパー線

参考:Amazonの通販情報(2024/09/16)

  • https://www.amazon.co.jp/dp/B079GVH84X  オーディオジャック 5個( ¥1,099)

回路図

拡大画像:https://risgk.github.io/digital-synth-pra32-u/pra32-u-pwm-audio-circuit-diagram.png

※カットオフ周波数7.2 kHzの1次RCフィルター(ポストLPF)を2組構成して、オーディオのPWM出力をなまらせています。
※10 μFの電解コンデンサ(ACカップリングコンデンサ)を2組追加すれば、オーディオ出力のDC成分をカットできます。
※注意:オーディオジャックには、アンプかアクティブスピーカーを接続してください。ヘッドホンやパッシブスピーカーを接続すると、大電流が流れて機器が壊れる可能性があります。

実体配線図

拡大画像:https://risgk.github.io/digital-synth-pra32-u/pra32-u-pwm-audio-bread-board.png

ハードウェア構成例 (5)

・Raspberry Pi Pico H+(220 Ω抵抗+100 nFコンデンサ)×2+オーディオジャック

※この写真では、実体配線図と異なり、番号の大きな列が左側になってしまっている。

オプション:UART制御への対応 (1)

1)Arduino IDEによるソフトウェア改造を準備。
2)"Digital-Synth-PRA32-U.ino" で以下のようにコメントアウト解除。
#define PRA32_U_USE_UART_MIDI
3)PC等からUART制御する場合は、以下の定義を有効にする。
#define PRA32_U_UART_MIDI_SPEED               (38400)

オプション:UART制御への対応 (2)

1)デスクトップアプリHairless MIDI<->Serial Bridgeを使用すると、MIDI入力をUART出力(シリアル出力)に接続可能。
https://projectgus.github.io/hairless-midiserial/
2)WindowsではloopMIDI、MacではIACバス(仮想MIDIポート)を併用すると、MIDI対応アプリとも接続可能。
https://www.tobias-erichsen.de/software/loopmidi.html

オプション:MIDI制御への対応

1)Arduino IDEによるソフトウェア改造を準備。
2)"Digital-Synth-PRA32-U.ino" で以下のようにコメントアウト解除。
#define PRA32_U_USE_UART_MIDI
3)木下研究所 「MIDI-UARTインターフェースさん キット」やnecobit電子「MIDI Unit for GROVE」をUART1 TXとUART1 RX(デフォルトではGP4とGP5)に接続することで、MIDI制御が可能。

※参考:追加部品はどちらも¥2,000くらい(2024/09/16)

ハードウェア構成例 (3)

・Raspberry Pi Pico H+Pico Omnibus(Dual Expander)+Pico Audio Pack+MIDI-UARTインターフェースさん キット

ハードウェア構成例 (4)

・Raspberry Pi Pico H+Pico Audio Pack+Grove Shield for Pi Pico(+足長2x20ピンソケット2個)+MIDI Unit for GROVE

参考:スイッチサイエンスの通販情報(2024/09/16)

・https://www.switch-science.com/products/8117 MIDI-UARTインターフェースさん キット(木下研究所)(¥1,800)
・https://www.switch-science.com/products/7587 MIDI Unit for GROVE(necobit電子)(¥1,980)

オプション:PRA32-U with Panel (1)

必要な部品を追加し、Arduino IDEを使って "Digital-Synth-PRA32-U.ino" で以下のようにコメントアウト解除することで、単体で音色編集や演奏(単音8ステップ・シーケンサーも搭載)が可能な、コントロールパネル統合版の「PRA32-U with Panel」を作れる。
#define PRA32_U_USE_CONTROL_PANEL

※その他、必要に応じて PRA32_U_KEY_INPUT_PLAY_KEY_PIN などの定数定義を修正すること。
※ADCがUSB MIDI通信ノイズの影響を受けないように、UART、MIDI制御を推奨。

オプション:PRA32-U with Panel (2)

使い方
・SW0:Prevキー(前ページ、長押しで前グループへ)
・SW1:Nextキー(次ページ、長押しで次グループへ)
・SW2:Playキー(音を出す、スタート/ストップ)
・VR0(ADC0):パラメータA
・VR1(ADC1):パラメータB
・VR2(ADC2):パラメータC

備考
・パネル用パラメーター(Panel PitchやSeq Patternなど)を調整可
・Write Program *, Read Program *, Write Panel Prms, Read Panel Prms, Init Panel Prmsを0-63[Rdy] から64-127[Exe] に変更で読み書き実行

部品リスト(DAC版に追加するもの)

・SW0, SW1,SW2:タクト・スイッチ
・VR0, VR1, VR2:10k Ω可変抵抗
・OLED:SSD1306互換のモノクロ128x64 OLEDディスプレイ

回路図

拡大画像:https://risgk.github.io/digital-synth-pra32-u/pra32-u-with-panel-circuit-diagram.png

※I2S DAC MUTE OFFの結線は省略可能。

Groveシステムを使用した製作例

・Raspberry Pi Pico H
・Pico Omnibus(Dual Expander)
・Pico Audio Pack
・MIDI Unit for GROVE(necobit電子)

・足長2x20ピンソケット(2個)
・Grove Shield for Pi Pico
・Grove Button(3個)
・Grove Rotary Angle Sensor(3個)
・Grove OLED Display 0.96 inch(SSD1315)
・Grove Wrapper(1*1を8個、1*2 を2個)

※参考:部品合計で¥14,000くらい(2024/09/16)

参考:Groveシステム関連の通販情報(2024/09/16)

・https://jp.seeedstudio.com/ 電子部品通販 | Seeed Studio Bazaar, The IoT Hardware Enabler
・https://www.amazon.co.jp/gp/product/B096S3RM56 2 x 20 ピンソケット 足長 4個(¥880)

ブレッドボードによる製作例

・Raspberry Pi Pico H
・GY-PCM5102モジュール
・0.96インチOLEDディスプレイ(SSD1306)
・タクトスイッチ(3個)
・RV09型 可変抵抗器(3個) ※ボンドで固定
・ブレッドボード等、ジャンパー線

※参考:部品合計で¥4,000くらい、MIDI対応するとプラス¥2,000くらい(2024/09/16)