MAX98357Aを試す
- 2026/04/01 16:02
- カテゴリー:Raspberry Pi, オーディオ
- タグ:DAC
アンプ付で便利そうなDACモジュールのMAX98357Aを試す
アンプがモノラルなのでLRを選択できるモジュールもあるようだが今回手に入れたのはLRが混合されている


I2S入力なので簡単に接続できそうなラズパイで動作確認
結線
| MAX98357A PIN | RasPi PIN | 備考 | |
| LRC | 35 | GPIO 19 (PCM_FS) | I2S LRクロック |
| BCLK | 12 | GPIO 18 (PCM_CLK) | I2S Bitクロック |
| DIN | 49 | GPIO 21 (PCM_DOUT) | I2S DATA(Raspi→MAX98357A) |
| GAIN | - | 100kΩでプルアップ | |
| SD | - | ||
| GND | 6 | GND | |
| Vin | 2 | 5V | |
GAIN PIN仕様
| GAIN | 接続 |
| 15dB | 100kΩでGND接続 |
| 12dB | GND |
| 9dB | 未接続 |
| 6dB | VIN |
| 3dB | 100kΩでVIN接続 |
最初はGAINを未接続で試したところ,音量が変化するので電力不足かと考え電源ラインに1000μFのコンデンサを付けたが改善されないのでGAINを下げて3dBに設定

GAINを下げ再生
資料
ラズパイのI2S出力設定
$ sudo vi /boot/config.txt
#dtparam=audio=on # コメントアウト
dtoverlay=hifiberry-dac # 追加
音量変更など
$ sudo vi /etc/asound.conf
pcm.speakerbonnet {
type hw card 0
}
pcm.dmixer {
type dmix
ipc_key 1024
ipc_perm 0666
slave {
pcm "speakerbonnet"
period_time 0
period_size 1024
buffer_size 8192
rate 44100
channels 2
}
}
ctl.dmixer {
type hw card 0
}
pcm.softvol {
type softvol
slave.pcm "dmixer"
control.name "PCM"
control.card 0
}
ctl.softvol {
type hw card 0
}
pcm.!default {
type plug
slave.pcm "softvol"
}
編集後,再起動
接続確認
(接続前)
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: vc4hdmi [vc4-hdmi], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
(接続後)
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: vc4hdmi [vc4-hdmi], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
出力確認
$ alsamixer #音量調整
$ speaker-test -c2 #ホワイトノイズ
$ aplay test.wav #wav
$ mpg123 test.mp3 #mp3
この後ESP32で試そうとして嵌っている

