0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dual USB DAC

Last updated at Posted at 2024-10-26

JazzSakuraをmpg123で鳴らしているRT3883なモジュールはUSBポートが二つあるので、両方にDACを接続してみました。

uaudio0 on uhub0
uaudio0: <Ten X Technology, Inc. USB  AUDIO, class 0/0, rev 1.10/1.40, addr 3> on usbus1
uaudio0: Play[0]: 48000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio0: No recording.
uaudio0: No MIDI sequencer.
pcm0: <USB audio> on uaudio0
uaudio0: HID volume keys found.
uaudio1 on uhub0
uaudio1: <Burr-Brown from TI USB Audio DAC, class 0/0, rev 1.10/1.00, addr 2> on usbus1
uaudio1: Play[0]: 48000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio1: Play[0]: 44100 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio1: Play[0]: 32000 Hz, 2 ch, 16-bit S-LE PCM format, 2x8ms buffer.
uaudio1: No recording.
uaudio1: No MIDI sequencer.
pcm1: <USB audio> on uaudio1
uaudio1: HID volume keys found.

0がTP6902でキッチンのスピーカーに接続されていて、1がPCM2704でリビングのパソコンの付属のパワードスピーカーに接続されています。音は追求せずセルフパワーでお手軽なので、この二つにしました。

kldは起動してから以下のスクリプトでロードしています。

#!/bin/sh

# USB Power On
#gpioctl -f /dev/gpioc1 11 1

kldload snd_uaudio
kldload umass
kldload msdosfs

mixer -f /dev/mixer0 pcm 75 vol 6
mixer -f /dev/mixer1 pcm 90 vol 90

sysctl hw.snd.default_unit=1

TP6902をデフォルトのボリュームで鳴らすと大きすぎるので、小さくしています。

切り替えのスクリプトも用意してみました。

#!/bin/sh

CUR=`sysctl -n hw.snd.default_unit`

if [ ${CUR} -eq 0 ]; then
sysctl hw.snd.default_unit=1
fi
if [ ${CUR} -eq 1 ]; then
sysctl hw.snd.default_unit=0
fi

当たり前ですが、再生中に切り替えても代わりません。

いろいろ決め打ちでお行儀が悪いのですが、そもそもFreeBSDのサウンド機能がへっぽこなので、こんなところで良しとします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?