Select Your Language

免責事項

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

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

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

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

スポンサー

« PCに組み込むヘッドホンアンプ Sound RABBIT & 900万PVありがとう企画 | トップページ | 三浦半島の謎の異臭騒ぎ »

2020年10月16日 (金)

ラズパイをUSB-DACとしてスマホに認識させる方法 gadget mode(USB Audio Class 2.0)

スマホのUSBコネクタにRaspberryPi 4 を繋げて、USB-DACとして使うことが出来ましたので紹介します。

こちらの記事の続きです。

Uac20_1

接続の全体としては、こんな感じです。

 

スマホのUSBポートからの給電でも一応起動するようですが、さすがにバッテリーを喰ってしまうので実際には厳しいと思います。ですので、ラズパイには別途5Vを給電しておきます。

Uac20_3

SB32+PRO DoPはDAC基板上に5V給電端子がありますので、そこに電源を入れます。 ラズパイ側と電源を切り離す0Ω抵抗は付けたままにしておきます。

 

 

USBケーブルは、ダイソーで買ったUSB-C to USB-C

Uac20_2

通信速度はUSB2.0までの物でOKです。

 

 

 

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

こちらの

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

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

 

これまでLinux機に挿して試したところ96kHz/32bitモードに設定するとうまく動作することが多いようなので、96kHz/32bit設定にします。

sudo nano /etc/rc.local   で起動時に設定するようにしておきます。

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

 

の4行を exit 0 の前に記載します。

黄色とピンクの網掛け部は、

arecord -L コマンドで表示されるALSAデバイス(USB gadgetmode のCARD)

aplay -L コマンドで表示されるALSAデバイス(音を再生するCARD)

で調べて、ご自身の環境に合わせてください。hw:CARD=**** というのを見つけます。

 

Uac2_03

SB32+PRO DoPの場合は、こんな感じになりました。

設定が終わったら、一度電源を落とします。 sudo poweroff

 

 

 

 

では早速

外部5Vからラズパイを起動して、Pi4とスマホにUSB-Cケーブルを刺します。

Amazon music HDだと楽曲のフォーマットと再生環境のスペックが表示できます。

Uac20_4

私の持っている新しいスマホ(P30 pro/android 9)は、なぜか認識せず。 古いスマホ(nova/andord 6)を取り出して接続すると一応認識しました。

96kHz/32bit設定にしてあるUSB gadgetmodeですが、このスマホから見ると48kHz/24bitだそうです。

 

でも音はちゃんと出ます。

と言いますか、スマホの3.5mmジャックに挿した音とまるで違います。まさにSB32+PROの音です。Amazon Music(FLAC)をスマホだけで聴いていて、悪くはないなと思っていたのですが、SB32+PROと比較してしまうと、ちょっと。。。と思ってしまいました。

 

 

spotifyのようにAPIが用意させていれば、RaspberryPi単独でストリーミング再生できるのですが、Amazon musicやApple musicのように公開していないストリーミングサービスはスマホなど外部機器を使うことになりますね。

Apple製品は、AirPlayを使うと可逆圧縮でデータをwifi経由で飛ばすことができて、結構高音質に再生できます。これでハイレゾ対応するともっと良いはずですが、なぜかAppleはハイレゾに消極的です。

androidはスマホの対応次第。認識すればRaspberryPi用DAC基板の音質で再生が可能になります。特にAmazon music HDならFLACの楽曲も多いので、多くの人が満足いくのではないでしょうか。

 

 

ちなみに、ラズパイに外部から5Vを給電しながらスマホを接続すると、スマホ側も5Vを給電されるのでバッテリーが減らないで再生できているようでした。(機種による?)

 

 

関連記事

ラズパイをUSB-DACとしてWindows10に認識させる方法 gadget mode(OTG Mode)

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

 

 

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

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

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

 

« PCに組み込むヘッドホンアンプ Sound RABBIT & 900万PVありがとう企画 | トップページ | 三浦半島の謎の異臭騒ぎ »

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

Raspberry Pi」カテゴリの記事

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

コメント

たかじんさん

たかじんさんのUAC2Gadgetでの音出し記事が突破口となり、donuts.shop73さんの迅速なご対応を受けて見事にsmpdplayerからの音出しにも成功致しました。改めて御礼申し上げます。

UAC2Gadget機能を有するPi4を、rt-kernel(Linux raspberrypi 5.4.70-rt39-v8+ #1 SMP PREEMPT_RT aarch64)に移行し、PCから電源を分離してDC-Arrowにしたところ、飛躍的に音質が向上致しました。SMPDの心臓部rtAlsaエンジン(smpdplayer)を得て、私の所有するjpaly、HQplayer以上の音質で(理由は解かりませんが何故か良い音です)現在、6500万曲の大海を満喫しております。「PrimeSeat」のサンプル音源もネット配信の音とは思えないほどの良い音でした。

ところで、私はiPhoneですが、たかじんさんと同様に音質は24bit/48kHzが最高音質になりました。PCでは24bit/192kHzでも再生で来ています。これはどうも携帯アプリの仕様の様に思います。「Amazon Music HDについてよくある質問」では次のように説明されておりました。

「2014年以降にリリースされたほとんどのiPhoneおよびiPad(iOS 11またはそれ以降のバージョンのiOSがインストールされている端末)は、追加の機器接続なしでのHD/Ultra HD(最大24ビット/48kHz)再生をサポートしています。iPhoneでより上のサンプルレート(96または192kHzなど)で再生する場合は、互換するDACを接続してください。」

再生中の楽曲の音質の項目に表示される「端末の性能」をみて出力音質をアプリ側で判断しているようです。PCでは「端末の性能」を無視しているようですが。

逆に考えると「端末の性能」値を胡麻化せば、最高音質で聴けるようになるかもしれません。

minureeさん

ご報告ありがとうございます。

> SMPDの心臓部rtAlsaエンジン(smpdplayer)を得て、私の所有するjpaly、HQplayer以上の音質で(理由は解かりませんが何故か良い音です)

これはスゴイことです。  私の期待をはるかに上回ることで、驚きです。

遅ればせながら、最近ラズベリーパイA+のHATとしてSB32+DOPを追加導入し、ポータブルで再生して快適と思っていたところ、USB DACとしても使えるなんて、なんて素晴らしい。
携帯出来る音源として持ち運びにとっても便利ですね。

質問ですが、エネループproを4本接続して、電源としています。
電圧が5.3Vぐらいあります。今はラズパイに電源を供給していますが、音質が良くなるかと思い、SB32+DOPに直接入れ、SB32+DOPから2番ピンを通してラズパイに供給しようと考えています。設計では電源の上限どのぐらいでしょうか?また、音質改善ははラズパイとセパレートしない限り無駄なのでしょうか?

追伸
一番最近に購入したSB32+DOPは現在慣らしのためmoode 7.10でラジオ再生していますが、たまに青いランプ付いているのに音が出ない現象に出くわしています。今も使っているSbreberry32やSB32+DOPはvolumioで使っています。
今回のこの個体が原因かそれとも、moodeのバグなのかvolumioを入れて確認してご報告いたします。

ショーンさん

ありがとうございます。
DAC基板側はレギュレータが載っているため、5Vを少し超えても問題ありません。とは言っても上限5.5Vくらいに留めておくことをお勧めします。

moode Audio は確かネットラジオでバッファアンダーランが起きると、再接続できない状態に陥る頻度が高かったと思います。
Volumioの方がブチブチと途切れながらも音出しを続ける動作をします。ただ、使用しているmpdのバージョンに依存するかもしれません。

いずれにしても、回線が遅くバッファアンダーランがよく起きるネットラジオ局は厳しいです。

電圧のご回答ありがとうございます。

moodeからNASのファイルを再生時にも青色点灯で音声が流れない場合が稀にありますね。一番最初に音を鳴らした時にこの現象でしたので、驚きました。Volumioではキビキビ動くし、経験したことがなかったので、良い経験になりました。

引き続き長く使っていきます。

電圧のご回答ありがとうございます。

moodeからNASのファイルを再生時にも青色点灯で音声が流れない場合が稀にありますね。一番最初に音を鳴らした時にこの現象でしたので、驚きました。Volumioではキビキビ動くし、経験したことがなかったので、良い経験になりました。

引き続き長く使っていきます。

ショーンさん

moodeもvolumioも、MPDも無料で使えるソフトウェアとしては非常によくやっていると思います。

ですが、バージョンによってかなりバグが酷いという時期があって「常に最新版が良い。」って思っている人は面を食らうかもしれません。

これらはLinuxOS、ALSAドライバ、ネットワークドライバ、MPD、ffmpeg、Shairport-sync、nginx webアプリ、SQLなどなど複数のソフトウェアの組み合わせで動いているため、開発している人たちも常に完全な状況を作り出せる訳ではないんでしょうね。

フリーソフトと上手に付き合うには、多少のバグに寛容に接する心が必要なのかもしれません。

コメントを書く

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

« PCに組み込むヘッドホンアンプ Sound RABBIT & 900万PVありがとう企画 | トップページ | 三浦半島の謎の異臭騒ぎ »

サイト内検索(new)

2021年9月
      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 29 30