レビューメディア「ジグソー」

ソフトウェアなオーディオミキサー(音声ミキサー)を作ってみようかと思った②

訳あって、OBS Studioを最近使用していました。

ハードウェアとしてのオーディオミキサーという製品があるが、OBS Studioを使ってソフトウェアなオーディオミキサー(音声ミキサー)がいけるのではと思いました。

Youtube配信などで利用しているソフトウェアだし、「映像なし+音声のみ」でも行けるのかなと。

 

手持ちのUSBサウンドカードを使用して検証してみましたが、なんかいけそうと思ったので、アナログのUSBサウンドカードをまとめ買いしてオーディオミキサーを作ってみた。

その結果が下記。

いくつか課題が残ったが、アナログではなくデジタルとしてのオーディオミキサーを構築していこうと思い、本製品(SPDIF入力アダプター)を利用してみることにした。

更新: 2025/12/29
スペック

44.1KHz/16bit、48KHz/16bit、96KHz/16bit 入力のみ対応

公式サイト

https://www.cubilux.com/products/spdif-to-usb-a-receiver

 

下記、和訳。

  • [光信号レコーダー] - Cubilux USB SPDIFレシーバーを使えば、光オーディオ信号をノートパソコンやパソコンに簡単に送信し、録音、モニタリング、ストリーミング再生が可能です。なお、このアダプターはUSBデバイスからの音楽再生には対応しておりませんのでご注意ください。
  • [ステレオ録音専用] - このUSB-C Toslink入力アダプターは、ステレオオーディオ信号の録音専用です。入力ストリームが5.1または7.1サラウンドサウンドの場合、アダプターはクリッピングノイズのみを拾います。
  • [TXとRXの違い] - 送信機:PCからAMPに音声を送信します;受信:AMPからPCに音声を送信します
  • [正しいサンプリングレートの設定] - ドライバーは不要です。コンバーターを接続し、ソースと同じサンプリングレートを選択するだけで録音を開始できます。録音に歪みがある場合は、シンクとソースのサンプリングレートが同じであることを再度ご確認ください。最初の試みでは44.1KHzを強くお勧めします。
  • 非常にクリアな音質で 44.1KHz/16 ビット、48KHz/16 ビット、96KHz/16 ビットのステレオ オーディオ ストリームをサポートします。

 

 

生成AI(Perplexity)にToslink(光デジタル)、Coaxial(同軸デジタル)、HDMIで、それぞれの特性を聞いてみた。


ジッターが高いと通信が不安定となる状況が増える。
その結果、音声遅延や音声劣化が発生する。

 

光デジタルが長くなるとジッターも増えていくらしい。

なるべく1~5mくらいに抑えれば、高ノイズ耐性のある環境に仕上がると思う。

 

48KHz/16bitまでの対応であるため、96kHz/24bit, 192kHz/24bitなどのハイレゾ環境に移行することが出来ないので、注意が必要となる。

更新: 2025/12/29
使用感

入力デバイスだけなら簡単に利用できるかと

 デバイス情報を表示

$ lsusb
Bus 002 Device 003: ID 0c76:1170 JMTek, LLC. Cubilux SPDIF ReceiverSolid

$ lsusb -tv
/: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/11p, 480M
|__ Port 004: Dev 003, If 0, Class=Audio, Driver=snd-usb-audio, 12M
ID 0c76:1170 JMTek, LLC.
|__ Port 004: Dev 003, If 1, Class=Audio, Driver=snd-usb-audio, 12M
ID 0c76:1170 JMTek, LLC.
|__ Port 004: Dev 003, If 2, Class=Human Interface Device, Driver=usbhid, 12M
ID 0c76:1170 JMTek, LLC.

 

現在の認識状況(PipeWire にて 2chステレオ 48KHz/16bit で接続中)

$ pactl list short sources
62 alsa_input.usb-0c76_Cubilux_SPDIF_ReceiverSolid-00.iec958-stereo PipeWire s16le 2ch 48000Hz RUNNING

 

OBS Studio のソースに音声入力キャプチャー(PulseAudio)を追加。

デバイスに「Cubilux SPDIF ReceiverSolid デジタルステレオ(IEC958)」が表示されているので、そちらを選択する。

 

オーディオの詳細プロパティを開いて、追加したデバイスの音声モニタリングを「モニターと出力」に変更しておく。

 

追加したデバイス(SPDIF IN1)は音量100%(0.0dB)状態。

黄色ゲージ内に収まり、音割れもしていなくて良い感じ。

全体音量を見て、緑ゲージに収まるくらいにしておいてもよいかと思う。

 

 

入力デバイスだけなので、設定は特に難しくはなく簡単な部類かと思う。

マイクのプロパティでデバイスを割り当ててもよいが、基本的にマイクはアナログ感が強いので、そちらでの割り当ては個人的に避けたい。

 


 

 

現時点でToslink(光デジタル)で出力可能な機器がPS4しか手元にない。

PS4からHDMI出力 → D/Dコンバーター(HDMI→光デジタル)を経由して、本製品と接続。

問題なく音声が取り込めており、ノイズが入ることなく問題なく使用出来ている。

 

D/Dコンバーターを使用している理由として、手前にHDMI切替器(HDMIセレクター)を付ければ手軽に音声切り替えも可能だし、光デジタルの入力デバイスが増えることなく利用できると考えました。

更新: 2025/12/29
しばらく使ってどうか

デバイスの固定化が必要?

初期接続だと「Cubilux SPDIF ReceiverSolid アナログステレオ」という表示だったが、時間経過?OS再起動?と共に名称が変化した。

どうやら2種類のプロフィールを持っており、ALSAが自動判別でプロフィールを切り替えているらしい。

$ pactl list cards | grep -A10 "Cubilux\|SAVIAUDIO"
名前: alsa_card.usb-0c76_Cubilux_SPDIF_ReceiverSolid-00
ドライバー: alsa
モジュール: n/a
プロパティ:
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "2"
api.alsa.card.longname = "Cubilux SPDIF ReceiverSolid at usb-0000:00:14.0-4, full speed"
api.alsa.card.name = "Cubilux SPDIF ReceiverSolid"
api.alsa.path = "hw:2"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio2"
device.api = "alsa"
device.bus = "usb"
device.bus-id = "usb-0c76_Cubilux_SPDIF_ReceiverSolid-00"
device.bus_path = "pci-0000:00:14.0-usb-0:4:1.0"
device.description = "Cubilux SPDIF ReceiverSolid "
device.enum.api = "udev"
device.icon_name = "audio-card-analog-usb"
device.name = "alsa_card.usb-0c76_Cubilux_SPDIF_ReceiverSolid-00"
device.nick = "Cubilux SPDIF ReceiverSolid"
device.plugged.usec = "5235311"
device.product.id = "0x1170"
device.product.name = "Cubilux SPDIF ReceiverSolid "
device.serial = "0c76_Cubilux_SPDIF_ReceiverSolid"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4:1.0/sound/card2"
device.vendor.id = "0x0c76"
device.vendor.name = "JMTek, LLC."
media.class = "Audio/Device"
factory.id = "14"
client.id = "37"
object.id = "47"
object.serial = "47"
object.path = "alsa:pcm:2"
--
alsa.card_name = "Cubilux SPDIF ReceiverSolid"
alsa.long_card_name = "Cubilux SPDIF ReceiverSolid at usb-0000:00:14.0-4, full speed"
alsa.driver_name = "snd_usb_audio"
alsa.mixer_name = "USB Mixer"
alsa.components = "USB0c76:1170"
alsa.id = "ReceiverSolid"
device.string = "2"
プロフィール:
off: オフ (sinks: 0, sources: 0, priority: 0, available: はい)
input:analog-stereo: アナログステレオ 入力 (sinks: 0, sources: 1, priority: 65, available: はい)
input:iec958-stereo: デジタルステレオ (IEC958) 入力 (sinks: 0, sources: 1, priority: 55, available: はい)
pro-audio: Pro Audio (sinks: 0, sources: 1, priority: 1, available: はい)


 

勝手に変わると、OSB Studioのデバイス名が変わってしまうので、固定化する必要がある。

 

色々と対応しすぎて何を変更すべきか整理出来ていない。

とりあえず対応した内容を明記する。

 

■ALSAフォーマットの16bit固定化

$ mkdir ~/.config/wireplumber/wireplumber.conf.d/
$ cat > ~/.config/wireplumber/wireplumber.conf.d/50-alsa-format.conf << 'EOF'
wireplumber.profiles = {
["alsa_card.*"] = {
audio.format = "S16LE"
}
}
EOF

 

■iec958プロファイルに切り替え

手動でiec958プロファイルに即時切り替え(一時的)

$ pactl set-card-profile alsa_card.usb-0c76_Cubilux_SPDIF_ReceiverSolid-00 input:iec958-stereo

 

 永久固定設定(WirePlumberルール)

$ cat > ~/.config/wireplumber/wireplumber.conf.d/51-cubilux-profile.conf << 'EOF'
monitor.alsa.rules = [
  {
matches = [
      {
        "device.name": "alsa_card.usb-0c76_Cubilux_SPDIF_ReceiverSolid-00"
      }
    ]
    actions = {
      update-props = {
        "api.acp.auto-profile" = "false"
        "api.acp.profile" = "input:iec958-stereo"
      }
      activate-profile = {
        "input:iec958-stereo"
      }
    }
  }
]
EOF

 

カスタムモジュール設定

$ cat > ~/.config/pulse/default.pa << 'EOF'
# Cubilux SPDIFのプロファイル優先度永続化
set-card-profile-overrides alsa_card.usb-0c76_Cubilux_SPDIF_ReceiverSolid-00 input:iec958-stereo
EOF

 

udevルール方式(念のための対応)

$ sudo vi /etc/udev/rules.d/90-pulseaudio-cubilux.rules
# Cubilux SPDIF ReceiverSolid - IEC958優先
SUBSYSTEM=="sound", ATTRS{idVendor}=="0c76", ATTRS{idProduct}=="1170", ENV{PULSE_PROFILE_SET}="input:iec958-stereo"

 

udev再読み込み

$ sudo udevadm control --reload-rules
$ sudo udevadm trigger

 

サービス再起動+確認

systemctl --user restart pipewire-pulse
pactl list cards short

 

必要に応じてOS再起動が必要だが、この対応で問題なく固定化が出来た。

 

あとは出力側のデバイスが届くのを待つのみ。

 

  • 購入金額

    2,490円

  • 購入日

    2025年12月26日

  • 購入場所

    Amazon.co.jp

1人がこのレビューをCOOLしました!

コメント (0)

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ20MB)

    画像を選択してください

    ファイルサイズが20MBを超えています

    別の画像を追加

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから