Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« ラズパイをUSB-DACとしてWindows10に認識させる方法 gadget mode(OTG Mode) | トップページ | 第2回 HPA-1000用のRコアトランスの希望者募集について »

2020年9月24日 (木)

ラズパイをUSB-DACとしてSoundgenic-NAS、Linuxに認識させる方法 gadget mode(USB Audio Class 2.0)

本日は、USB Audio Class 2.0 版での検証です。ラズパイ4をgadget modeでLinux機に接続してUSB-DACとして使います。

gadget ModeのUAC2接続は、Windowsとは相性が悪いのですが、macOSやLinuxでは問題なく使えるということで、今回Linuxを使って検証してみました。

Uac2_00

 

ホスト機-1 VirtualBOX+Ubuntu 19.04

VirtualBOXは、ホストOSのUSBポートをゲストOSへ橋渡しすることができます。USBメモリの読み書きなどではとても便利に使えたりしてますが、USB-DACを橋渡ししたことはありません。うまく行くのでしょうか。

 

ホスト機-2 IODATAのNAS  Soundgenic「HDL-RA2HF」

Soundgenicはオーディオ用のNASです。背面に2つUSBポートが付いていて、CD-ROMドライブを接続するとリッピングでき、HDDを接続すると外付けバックアップ、そしてUSB-DACを接続すると音楽再生ができるというオーディオに特化した面白いNASです。

 

ホスト機-3 ラズパイ4+Volumio2

考えてみるとちょっとおかしな構成ですけども、ラズパイも立派なLinuxマシンです。OSにvolumio2を使うのは、再生環境が最初からできているので検証が楽ちんという理由からです。

 

と3つのケースを思いつきました。

本日は、1と2で検証した結果を報告いたします。macを持っている方は、これと同じ設定でUSB-DAC代わりに使えると思われます。

 

 

 

 

VirtualBOX+Ubuntu 19.04

まず、VirtualBOXを試してみます。

Uac2_01

win10マシン上でVirtualBOXを起動し、その中でUbuntu を走らせています。そしてUSBデバイスをUbuntu に認識させることが出来ます。USB機器がwin10マシンで認識できなくてもお構いなしでUbuntu へ橋渡しできるところが素晴らしいですね。

Uac2_02

Pi4を接続するとアナログ出力とデジタル出力(SPDIF)の2つが増えます。ちゃんと認識できてますね。

ただ、音を鳴らすとブチブチと切れ気味。そんなにうまくは行きません。アナログ出力、デジタル出力どちらも同じようです。

 

設定方法を記載しておきます。

こちらの

SDカードの準備
SSH接続
/boot/config.txt 編集
/etc/modules 編集

までは一緒です。ここで一度再起動します。sudo reboot

 

■48kHz/16bit設定

sudo modprobe g_audio c_srate=48000 c_ssize=2 p_srate=48000 p_ssize=2
alsaloop -C hw:CARD=UAC2Gadget,DEV=0 -P hw:CARD=sndrpihifiberry,DEV=0

この2行のコマンドでubunuに認識され、音が出るようになります。ただ、Youtubeを再生すると僅かに途切れます。

 

■44.1kHz/16bit設定

sudo modprobe g_audio c_srate=44100 c_ssize=2 p_srate=44100 p_ssize=2
alsaloop -C hw:CARD=UAC2Gadget,DEV=0 -P hw:CARD=sndrpihifiberry,DEV=0 -r44100 -S 0

同上。

sudo modprobe -r g_audio コマンドでgadgetドライバをremoveできるようですが、設定を変えるときは、一度、ラズパイをrebootしてからの方が安定するようです。ホスト機側からすると、USBケーブルを抜いて再度挿すみたいな感じの方が良いのでしょうね。

 

■96kHz/32bit設定

sudo modprobe g_audio c_srate=96000 c_ssize=4 p_srate=96000 p_ssize=4
alsaloop -C hw:CARD=UAC2Gadget,DEV=0 -P hw:CARD=sndrpihifiberry,DEV=0 -fS32_LE -c2 -r96000 -S 0 -t100000

32bitの時は -f オプションが必要になります。詳しくはalsaloop --h でヘルプを読んでください。

-t オプションはレイテンシです。これが無いと音切れが激しいです。

 

■192kHz/32bit設定

sudo modprobe g_audio c_srate=192000 c_ssize=4 p_srate=192000 p_ssize=4
alsaloop -C hw:CARD=UAC2Gadget,DEV=0 -P hw:CARD=sndrpihifiberry,DEV=0 -fS32_LE -c2 -r192000 -S 0 -t1000000

認識はするけど、ほぼ、無理な感じです。さすがにVirtual BOXではダメなんでしょうね。

 

使えそうな設定が決まったら、/etc/rc.localに記載して自動起動させましょう。

Uac2_03

こんな感じです。(96k/32bit設定の例)

 

c_ssize=*、p_ssize=* なんとなく推測できるとは思いますが、ここの数値が2で16bit、3が24bit、4で32bitです。今回、24bit設定は試していません。

 

また、alsaloopを使わず

arecord -D hw:CARD=UAC2Gadget,DEV=0 -t raw -f S16_LE -c2 -r44100 | aplay -D plughw:CARD=sndrpihifiberry,DEV=0 -t raw -f S16_LE -c2 -r44100

というようにarecord からaplay へパイプを使ってデータを流し込む方法もあるようです。この場合、レイテンシ設定などはどうするんだろ。。。

 

 

 

 

Soundgenic「HDL-RA2HF」

次に、NASです。Soundgenicは立派なLinuxマシンです。

ubuntuで試した192kHz/32bit設定で自動起動するようにセットアップを済ませて、NASへ接続して起動します。

 

認識はしているのですが、残念ながら、時々、細切れの音がプチプチと鳴る感じで再生不能でした。

 

 

気を取り直して、96kHz/32bit設定を試しました。

Uac2_04

Soundgenic用のipadソフトウェア「fidata Music App」の画面。動作モードはOpenHomeです。

 

よく見ると右下にLinux USB Audio Gadgetという名称でUSB-DACを認識しています。

Uac2_05

96kHz/32bitで接続しているのは画面上から確認できません。ただ、UAC2の設定で決め打ちしているため、音が出た時点で96kHz/32bit接続しているはずです。

 

一応、CDリッピングしたアルバム1枚を通して鳴らしてみたのですが特に問題なしです。

44.1kHz/16bit FLAC、96kHz/24bit FLAC は大丈夫なようです。

 

DSD音源を再生するとフリーズします。あと、ボリューム操作も音が出なくなります。

まだまだ安定して使えるかどうかは不明ですが、もし興味がありましたら試してみてはいかがでしょうか。

ちなみに、CPUを800MHzに固定したPi4の消費電流は、起動時に650mAくらいまで上がる瞬間がありますが、その後は420~460mAくらいでした。(USB電流メータによる簡易測定)

通常、USBポートは500mAまでは保証されるはずなので、殆どのケースで問題ないと思われます。

 

続きはこちら。

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村

ブログランキングに参加中です。 めざせ1位! 

もしよろしければ「ぽちっと」お願いします。 

« ラズパイをUSB-DACとしてWindows10に認識させる方法 gadget mode(OTG Mode) | トップページ | 第2回 HPA-1000用のRコアトランスの希望者募集について »

PCオーディオ」カテゴリの記事

Raspberry Pi」カテゴリの記事

SB32+PRO DoP」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ラズパイをUSB-DACとしてWindows10に認識させる方法 gadget mode(OTG Mode) | トップページ | 第2回 HPA-1000用のRコアトランスの希望者募集について »

サイト内検索(new)

2025年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28