Sep 30, 2020
音楽ストリーミングサービス覚書
9月から定額制音楽ストリーミングサービス利用への対応を試みている。検討しやすいように、サービスの一覧表を作っておこうと思った。
あれこれ調べても何処かに記録しておかないと忘れてしまう。
間違いに気付いたら随時修正するつもり。
しかし、放置するエントリーになるかもしれない。
サービス名 | 方式・音質 | その他 |
Amazon Prime Music | Web Player:256kbps? AAC | |
Amazon Music Unlimited |
Web Player:256kbps? AAC PC app(win,mac):320kbps? |
|
Amazon Music HD |
Web Player:256kbps? AAC PC app(win,mac):CD/HR |
|
Spotify Premium https://open.spotify.com/ |
Web Player:256kbps AAC PC app(win,mac,lnx):320kbps OGG |
Daphile Supported |
Tidal HiFi https://tidal.com/ |
Web Player:CD(flac) PC app(win,mac):CD(flac)/HR(MQA) |
未使用 roon Supported Daphile Supported |
Qobuz https://www.qobuz.com/gb-en/discover |
Web Player:CD(flac)/HR(flac) PC app(win,mac):CD(flac)/HR(flac) |
未使用 download:CD/HR roon Supported Daphile Supported |
Deezer HiFi https://www.deezer.com/ja/ https://www.deezer.com/en/ |
Web Player:CD(flac) PC app(win,mac):CD(flac) |
Daphile Supported |
Naxos Music Library https://ml.naxos.jp/TrialEnd.aspx |
Web Player:128kbps AAC+ | |
Napster https://us.napster.com/music |
Web Player:max 320kbps MP3? | |
mora qualitas https://mora-qualitas.com/ |
PC app(win,mac):CD/HR (flac:24,16/44.1,48,88.2,96) |
Nuvola Player
https://nuvola.tiliado.eu/
Pulseaudioの備忘録
9月初旬のエントリーで、Pulseaudioのエントリーを上げた。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20200906a.htm
Pulseaudioを使ってRaspberry piにAmazon Prime Musicを転送再生する
今回は、Pulseaudioについて、知見追加のメモ中心。
PulseAudio
https://www.freedesktop.org/wiki/Software/PulseAudio/
まず、アップサンプリングについて。
使っている音源はストリーミングサービス、ウェブプレーヤーからの256kbpsの不可逆圧縮とはいえ、するとしないでは音が違う。多少でも768kHz PPAPの音に近付けていかないと、僕のことだから最終的に飽いてしまいそうなので、試みないわけにいかない。
方法はサーバーの「~/.pulse/daemon.conf」に設定を以下のように書き込む。
; resample-method = speex-float-1 # resample-method = src-sinc-fastest resample-method = src-sinc-medium-quality # resample-method = src-sinc-best-quality default-sample-format = s32le default-sample-rate = 384000 alternate-sample-rate = 384000
1行目のspeexがデフォルト。下がlibsamplerateとその他の設定。
というはずなんだけど、libsamplerateは2015年頃に「意味が無い」ということになって非推奨になっていて、設定しても反映されない。
https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/6.0/
実際、mediumやbestに設定しても、CPUの負荷が変わらない。「pulseaudio --dump-resample-methods」というコマンドで利用可能なリサンプラーを表示できるのだけど、libsamplerateはインストールしてあっても表示されない。
https://bbs.archlinux.org/viewtopic.php?id=217672
こちらのサイトによると「auto」でリサンプリングされているらしい。autoってなんだか分からないのだが。たぶんデフォルトの「speex-float-1」の設定になるのだと思うのだけど、はっきりしない。
それでも使わないよりは音がいい。
768kHzは設定できない旨が表示されて使えないので、384kHzにアップサンプリングして聴いている。
デフォルトの「speex-float-1」は、数値を上げるとぶちぶち音が切れる。2でもときに途切れるので、結局、1のままだ。「speex-fixed-1」でも悪くない。少し音の感触が変わる。好みで選択できる感じ。
個人的には、いずれはlibsamplerateを使えるようにしたい。他所では意味がなかったのかもしれないが、うちでは音がいいのだから。
アップサンプリングした結果、SM-SX100の光入力(44.1-48/16-32)は使えなくなった。
取り敢えずUSB-DACにSMSL M100を使っている。いつどういう経緯で入手したか覚えていない。RCA出力をSX100に入力している。
他にはリアルタイム化。daemon.confで設定。下記サイトを参考にした。
https://pulseaudio.blog.fc2.com/blog-entry-1.html
http://yougateau.blogspot.com/2019/11/pcmx-linux.html
https://wiki.archlinux.jp/index.php/PulseAudio#.E8.A8.AD.E5.AE.9A.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB
https://wiki.archlinux.jp/index.php/PulseAudio/%E3%83%88%E3%83%A9%E3%83%96%E3%83%AB%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0
; high-priority = yes ; nice-level = -11 ; realtime-scheduling = yes ; realtime-priority = 5 high-priority = yes # nice-lebel = -19 realtime-scheduling=yes realtime-priority=99
「nice-lebel」は、なぜか、
E: [pulseaudio] conf-parser.c: [/home/tc/.pulse//daemon.conf:40] Unknown lvalue 'nice-lebel' in section 'n/a'.
と表示されてエラーになるので、コメントアウト。
音の透明感が出てきた気がする。
エラーになる理由が分かったので11月18日、追記。
上にそのまま書いてあるけど、levelをlebelと書き間違えている。非常に初歩的なミスだった。
nice-levelで優先度を高く設定することでシステムは安定し音質も向上した。
ここで、Deezer hifiに借り登録。
1ヶ月無料体験で、ウェブプレーヤーで44.1/16のロスレス音源を聴ける。
Tidal、Qobuzもウェブプレーヤーでロスレス以上を聴けるらしいんだけど、こっちは海外登録へのハードルが高い。
ロスレス音源を鳴らしたらどうなのかやってみたら、なんだか歪んだ感じでノイズっぽい。アップサンプリングしないほうがいい。
アップサンプリングなしだと、まっとうな音で鳴る。さすがロスレスで実直で至極まっとうな音ではあるんだけど、不可逆圧縮をアップサンプリングしたのより地味で残念だと思った。
まあ、派手じゃないけど、落ち着いて聴ける。
女房なんかはこっちのほうが音がいいという。
実際、CDリッピング音源をそのまま鳴らしたような音で、うち的にはポテンシャルを引き出せてない感じ。
上を目指せるのはこっちだ。ハードを改善したら問題なくなるのか、libsamplerateを使えるようにすべきなのか、その両方が必要なのか。
Deezer hifiのデータを転送してると、クライアントの6730bもギリギリっぽくて普段使いがややままならない。何か用事で触ると音が途切れることがある。古い機械だからな。
いろいろ考えないといけないようだ。
Sep 27, 2020
音楽ストリーミングサービスのウェブプレーヤーを使う
9月初旬に音楽ストリーミングサービスをPulseaudioで転送するエントリーを上げた。
http://blown-lei.net/endive/blosxom.cgi/audio_diary/20200906a.htm
今回は、その後の話だ。
以前から時々、Spotifyの無料サービスやAmazon Primeを普段使いのノートPCなどで鳴らすことはあった。
しかしメインのオーディオシステムで中心的な音源として使うことはなかった。今回は重い腰を上げての試みだ。
Pulseaudioでの転送だけど、当初は、amazon prime music、数日後から、Spotify Freeも使用開始している。 ともにFirefoxのウェブプレーヤーで鳴らしている。
音楽ストリーミングサービスの聴き方についてネットで検索しても、ウェブプレーヤーというのは殆ど出てこない。一般的な聴き方は、まずDAPやスマートフォン。次に受信能力を持つコンポがあって、そういう解説は多い。パソコンを使う場合、忽ちは専用アプリケーションという話になる。
ウェブプレーヤーは脇役だ。
しかし、Linux PCでも使えるという優位性があって、うちではここから入ることにした。
音は、あんまり良くなかった。
いろいろ聴いていると、もう少し高音質で聴きたいと思う音源がある。
そういうのは、、、CDを買ってしまった。
なんというか、こうなるんだっけ?、何かが違うという感じだ。
ストリーミングならこの程度で良かろう、とはならない。このままでは財布に負担で置き場もない、という事態になってしまう。
もっと本腰を入れて考えないといけないと思い、Amazon HDを3ヵ月間無料でお試しできるというので登録した。
Amazon HDは、CD音源やハイレゾのような高音質で聞くには専用のアプリが必要で、WindowsとMacしか対応していない。つまり、ウェブプレーヤーからだとUnlimitedと同等で不可逆圧縮音源ということだ。
それでも曲数が増えて、なるほど、見える世界が変わってくる。
音質は、ウェブプレーヤーの高音質設定が256kbps、ファイル形式はAACらしい。
amazon primeの時より音は良くなっている感じがして、意外に気軽に聴く分には十分以上な感じだ。
しかし、実は、自分が何処の段階で音質調整の設定をしたのかが、はっきりしない。
ウェブプレーヤーでは「ストリーミングの音質」を、自動、高、中、低、の4項目から設定できる。デフォルトは自動だったか低だったか、、、それを現在は高にしているのだけど、これがPrimeの段階で使えていたかどうか、記憶が定かでなく分からない。
ちなみに3ヶ月HD無料キャンペーンなので「HDおよびUltra HD」の項目も表示されているのだけど、グレイアウトしていてウェブプレーヤーでは設定できない。下記の説明が併記されている。
HDおよびUltra HD: HD音質の再生はウェブではサポートされていません。HDおよびUltra HD音質で音楽をお楽しみいただくには、デスクトップアプリを{インストール/使用}してください。
Spotify freeも3か月間無料キャンペーンでPremiumに変更。
こっちはウェブプレーヤーの場合、freeだと128kbps、Premiumだと256kbpsで、固定ということらしい。ファイル形式はAACらしい。
Spotifyには、Linux用にも専用アプリが用意されている。こちらはファイル形式はOGGで、最高音質(320kbps)の設定ができる。
しかし、残念ながらpulseaudioによる音声転送が出来なかった。止まってしまって音が出ない。ノートPCローカルで音を出す分には鳴るけれど、それでは最高音質で鳴らす意味が殆どない。
結局、amazon同様にウェブプレーヤーで聴いている。
あれこれと書いておいて、なんなんだけど、ストリーミングの音質、ビットレートなどを調べるのが何故かすごく分かりにくかった。
あちこち調べて、断片的な情報から書いている。
調べ方が悪いのかもしれないが、こんなことはストリーミング提供元のサイトのすぐに見つかるところに書いてあるべきだと思うけど。
そのうち、信頼に足りそうなソースがあったら追記するつもりだ。
さて、ここで問題が出てきた。
同じ256kbps?でも両者の音にかなりの違いがある。
spotifyが、amazonより地味で埃っぽいのだ。いろんな音源で聴き比べたけど傾向は同じで、何が影響しているのか、、、
一方、Amazonのほうは、言い方が悪いけど、音が良すぎる。
うちではNASに保存した不可逆圧縮音源(10数年前にiTunes Storeなどからダウンロード購入した音源が多い)をメインシステムで聴くことがあって、不可逆圧縮音源はこんな音で鳴るだろうという個人的イメージがあるのだけど、それを越えた音がする。
ウェブプレーヤーが何かしている?、、それとも音源か?、、他にも条件が違うところはあるけど、、、
こういう話は聞いたことがない。
分からないなりに、topコマンドを打ってみた。
Amazonで聴いてる時は「Web Content」の%CPUが、35%前後。
Spotifyで聴いている時は、25%前後。
少なくとも、負荷は違うらしい。
あと、プレーヤーが表示されているウィンドウで他のタブを開くと(ウェブプレーヤーが背後に回って非表示になる)、Amazonのほうは%CPUが25%まで下がる(音質は変わらない)。Spotifyのほうはというと、数%下がるだけだ。
ということは、インターフェイスの表示に使っているものが違うということか。
表示の違いが影響するということなら、OS画面表示の方式を変えてみようと思った。
Fedora 32は、アカウントのログインに際して、画面表示の方法を選択できるようになっている。
1つ目がGNOME(Wayland)、2つ目がGNOME classic、3つ目がGNOME on Xorg。
うちでは普段は、1つ目のWaylandで使っていた。いったんログアウトし、3つ目のGNOME on Xorgに変えて再ログイン、Spotifyのウェブプレーヤーを使ってみる。
音が良くなった。
amazonと同等かも?
正直、こんなに変わるとは思ってなかった。
topコマンドを打ったら「Web Content」の%CPUが45%前後に上がっている。ここでプレーヤーが表示されているウィンドウで他のタブを開くと、%CPUが20%前後まで下がる。
一方、amazonのウェブプレーヤーの音には、大きな変化は感じられない。%CPUも40%弱で変化が少ない。他のタブを開くと、%CPUが25%程まで下がる。Waylandのときとほぼ同じかな。
アプリによって音が変るというが、同じFirefox上のウェブプレーヤーでも、提供元によって音が違うという事が分かった。
あと、OSの状況がウェブプレーヤーの挙動に影響するということも。
考えてみたら、そんな事が起き得るのは十二分に想定可能なことだ。しかしこれは、思った以上に複雑で難しいね、、、
そんなこんなで、ストリーミングサービスによる音の違いがどの程度あるのか、ぼちぼちと聴いてみようかなどと思っている。
しかし、、、なんというのだろう、、、
最初のうちは、想定以上にストリーミングの音がいいので有り難いなあ、とか思っていた。
それが、段々、集中して聴くには物足りない部分もあるけど、気軽に聴く時の音源としてなら問題なさそうかな、とか。
ひさしぶりに、768kHz PPAPの音を聴くと、、、
やっぱりこっちのほうが圧倒的にいい。これなしでは続かないな、、、
今後、CDレベル、ハイレゾレベル音源のストリーミング利用を考えていくのか。
分からないことが多い。この方面では完全に初心者なので、急がずに考えようと思う。取り敢えず、現状で回していく。
それでも良かったのは、2020年リアルタイムのポップミュージックに多く触れることが出来たこと。今の音だという実感が得られた。本当に久しぶりに、最新型のポップを追いかけようかという気持ちが芽生えたような気がする。実際にどの程度できるかは分からないけれど。
Sep 25, 2020
音楽を聴くにはどうしたらいいのだろうか
今回のエントリーは、音楽とどう向き合うか、という話だ。
オーディオも関係してくるけど、たいした内容はない。
他人にはどうでもいい話だ。
僕は中学の頃からラジオでポップミュージックを聴き始めた。
高校でビートルズに嵌ってプログレ、レッドゼッペリン、パンク、大学に入った頃にインディーズブームがあり、それからは最新のポップミュージックをずっと追いかけていた。
オーディオセットがましになってからは、クラシックやジャズなども聴いていたけど、メインの音源はロックなどポップミュージックだった。
それが、あの311以降、がらっと変わってしまった。
新しいポップミュージックを聴かなくなったのだ。
昔から追いかけているミュージシャンの作品は入手するが、新人はほとんど聴かなくなった。
この心境、志向の変化は、うまく説明できなかった。
災害当初は、新しい音楽なんか聞いていられるかという気持ちだった。それならば分からなくもなく、そのうち聴く気になるかなあ、などと思っていたんだけど、その後、年月が過ぎても、聴く気になれない。
では、手持ちの音源ばかり聴いていたのかというと全くそんなことはなく、主に新たに入手した音源を聴いていた。
クラシックの比率は大幅に増えた(これはオーディオシステム上流の改善に牽引されたと思う)。ポップミュージックは、聴いたことがなかった過去のミュージシャンが中心で、特に多かったのは安価なCDボックスセットで販売されているものだ。
つまり、クラシックが増えたとはいえ、ポップミュージックもあれやこれやと聴いてはいたのだ。逆に最先端中心に追いかけていた頃より、幅が広がったかもしれない。
10年経っても、最新のポップミュージックは聴く気になれなかった。
飽きたんだろうか。
年をとって付いていけなくなった?
なんというか、聴いたら面白いと思う瞬間はあるんだけど、なかなか追いかける気になれないのだ。
じゃあ、ストリーミングで十分じゃない?
、、、、、、
ここ数年、ストリーミングが音楽配信の主流になったと言われている。そこそこ良好な音質で聴ける環境も整ってきているらしい。
CDは古いのだそうだ。
新しい音源は、ストリーミングじゃないと聴けなくなるのかもしれない。
最近聴いているのはクラシックが多いけど、クラシックだって多分そうなるんだよ?ひと月に千円とかなら安いじゃないか。だいたいCD置く場所、なくなってるじゃないの。
しかし、だ。
そういう理屈は分かるけど。
全くそっちに行く気になれなかった。
今回、Amazon Prime Musicがある程度まともに鳴るようにセッティングしてみようと思ったのは、僕にとってストリーミングがどういう位置付けになるのか、試してみないことには分からないと思ったからだ。
やる気が起きないからと手を付けなかったら、たぶんずっとこのままだ。
HDとかUnlimitedとか、高音質や曲数が多いのもあるけど、無料で試せるのは短期間で、とてもじゃないけど見極められない。
そんなわけで、まずはPrimeで良かろうと割り切って手を付けてみた。
曲数なんて大して問題にならないだろう。ストリーミングは最先端ばかりではない。古くてCD入手困難な音源がしれっとおいてあったりもする。もちろん無い音源も多いけど、聴いたことがない音源には困らない程度の量はある。
だが、そんなにあれこれ聴こうという気に、自分はなるのだろうか。
昔は、とにかく広く浅く大量の音源を聴こうとしていた。聴いたことがない音楽があるということ自体が聴く理由だった。
何時頃からか、そんな無闇なやり方とは折り合いをつけて、今はずいぶん様変わりして物理的時間的限界で量を聴けなくたって別に困らない。
そうはいっても、興味がある音源があれば入手しようとするのだけど。
最近は何に興味が?
改めて考えてみたら、、、気が付けば、高音質音源だ。
先日、アンプが故障して痛感したことがある。
僕は良い音で鳴ってるオーディオがないと、もたないようだ。
短期間なら音が良くなくてもいいが、長くなると息が切れたような気分になってくる。不足感が半端ない。そしてたぶん、音が悪いなら聴かない方がマシだ、というようなことに、最終的にはなりそうな気がしたのだ。
高音質な音源は、鳴ってるだけでも気持ちがいい。癒される。どういうんだろうね、まるでドラッグ、依存症だ。
昔、僕にとって、世界と音楽は重なり合って存在するものだった。いや、音楽は世界につながるためのプラグの一つだった、というべきか。世界を音楽で彩ることで、僕は世界の中で息をしていた。
それが、最近そういう感覚がない。
311以降、世界と音楽は、僕の中で切れてしまった。
僕自身が、切ってしまったのかもしれない。
あの数年後、僕はツイッターに「伝説を語ることが空々しく感じられるけど、歴史に触れることには逆にリアリティがあるような気がする」とツイートしている。そんな感じで過去のポップミュージックばかり聴いていたんだね。
そして、切れたままなのだ。
僕から見える世界は、この10年で、ずいぶん変わってしまったと思う。こんな世界を彩ることが出来る音楽を、僕は見つけられなくなったのかもしれない。
まあ、それでも息をしていられるようになったということだけど。
だから別にそれでいけないことはない、とも思う。
昔の僕にとって音楽は空気や水のようなものだったが、今の僕にとってはドラッグだということだ。はたから見たらやってることはほとんど同じで、見分けがつかないだろう。
それが僕にとって問題なのかといえば、大した問題ではないっちゃないので、別にいいっちゃいいんだけど。
それとは別に。
音質希求の方向性は、オーディオシステムに影響する。
何が言いたいのかというと、つまり、ストリーミングは現状、768kHzにアップサンプリングできないのだ。
ストリーミング音源ではそれが出来ない。
僕にそのスキルがない。
そうした音源が主流になっていくとき、どう僕の中に位置づけるのかということになる。
昔は今ほど音質は大きな要素ではなかった。
今はそうではない。
ふだん、パソコンで音源を鳴らして平気でいたりすることもある。カーオーディオは現状の音質で全く不満がない。
しかしそれは、メインに高音質なオーディオがあるからこそ一時的に我慢できるのであって、それがなくてパソコンでしか聴けなかったら、車でしか聴けなかったら、、、
僕は聴くのをやめるだろうか、それとも、聴き続けるだろうか。
聴き続けるとしたら、何を聴くだろう。
それは世界を彩ることができる音楽なのか。それとも、もっと違う聴き方になるのか。
Prime MusicをPulseaudioで鳴らしてみようなどというのは、そういう疑問に対する一種の足掻きということだ。
そんなこんなで、うちでもストリーミングの利用が本格化?しつつある。今回のエントリーは一種の定点観測記録のようなものだ。
次回は、ストリーミング自体について、オーディオ中心の話になる。
いや、、、思った以上に、ストリーミングって、オーディオ的にも面白いね。
Sep 06, 2020
Pulseaudioを使ってRaspberry piにAmazon Prime Musicを転送再生する(9月8日追記)
今回はPulseaudioを使ってみたという話だ。
実は、Pulseaudioで音楽データを転送するというのは数年前にも考えたことがあって、でもスキル不足で実現していなかった。
今回、何故そんなことをしたのかというのは省略。
運用のノウハウだけ記録しておこうと思う。
参考にしたサイトのアドレスは以下の通り。他にも見たけど忘れた。
https://www.alprovs.com/wordpress/?p=439
https://penkoba.hatenadiary.org/entry/20130809/1376064438
http://bluewidz.blogspot.com/2018/04/oslinux-virualboxdebian-8.html
https://www.it-swarm.dev/ja/pulseaudio/
用意したもの。
普段使いのノートPC、Compaq 6730b。
OSはFedora。既にPulseaudioはインストールされていて、クライアントとして機能させる。
FirefoxでAmazon Prime Musicにログインし、音声データをPulseaudioサーバーに送信する。Raspberry Pi2。
OSはpiCore9.0.3。Pulseaudioサーバーとして動かす。Amazon Prime Musicのデータを受けて、usb dacに送る。usb dacはRATOCのRAL-24192ut1を使う。
RCA出力をオーディオテクニカのAT-SP150 bkで受ける。
こんなイメージ。

まずサーバーとなるRaspberry pi2をセッティングしていく。
ダウンロードしたpiCore9.0.3をmicroSDカードに書き込む。今回はusb dacしか使わないので「config.txt」を下記のように設定して、dtparam=i2c、spi、i2s、本体のオーディオ出力の使用を止めている。そうすることでalsaが認識するオーディオ出力がusb dacに固定されるメリットもある。
# Enable peripheral buses dtparam=i2c=off,spi=off,i2s=off # Enable onboard audio dtparam=audio=off
カードをRaspberry Pi2に刺して起動。
sshでログインし「filetool.sh -b」を打つ。「sudo fdisk -u /dev/mmcblk0」でパーティションを拡張。リブート。
再ログインして「sudo resize2fs /dev/mmcblk0p2」で拡張したパーティションを固定。
vi /opt/.filetool.lst で「usr/local/etc」を追加。
filetool.sh -bで保存、で準備完了。
このあたり詳細は過去のエントリーで繰り返し書いているので省略。
pulseaudioとalsaをインストール。
最近は「tce」コマンドから項目を選択してインストールすることが増えた。
pulseaudio.tczのインストールとalsa-utils.tczのインストールの操作だけで完成する。実際にはこの2項目の他にも必要なtczが同時に多数インストールされる。
tceコマンドで表示されるpulseaudioの説明から引用。
howto:
alsa needs to be working for whatever sound device you have.
Create dbus entry for booting into X
$ echo 'dbus-launch --sh-syntax --exit-with-session' > ~/.X.d/dbus
$ /usr/local/etc/init.d/dbus status [Check dbus is running]
If not running, start dbus with
$ sudo /usr/local/etc/init.d/dbus start
If dbus was not, initially running, add a command to start it next reboot
$ sudo echo '/usr/local/etc/init.d/dbus start' >> /opt/bootlocal.shexit to console
startx
$ pulseaudio -vv [to test]
When it is running correctly
echo "start-pulseaudio-x11" > ~/.X.d/pulseaudio
if a bluetooth sound devices is paired and configured, pulseaudio should find it automatically if the daemon is running
dbusが動いていないとpulseaudioは動かないらしい。
/usr/local/etc/init.d/dbus status で確認したところ、動いていない。
sudo /usr/local/etc/init.d/dbus start で動く。
下記コマンドで、OS起動時にdbusが動くようにbootlocal.shファイルを編集、設定。
sudo echo '/usr/local/etc/init.d/dbus start' >> /opt/bootlocal.sh
今回、~/.X.d/dbusの設定はしていないが、問題ないようだ。
次にpulseaudioの設定。
$ mkdir .pulse
$ cp /usr/local/etc/pulse/default.pa ~/.pulse
$ vi .pulse/default.pa
#load-module module-native-protocol-tcp
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.1.0/24
ホームに.pulseディレクトリを作成。
ここに設定ファイルのdefault.paをコピーする。
この設定ファイルの中の「load-module module-native-protocol-tcp」に、上記のように記述を書き加えることで、ネットワークからのデータを受けることが出来るようになる。
192.168.1.0/24の部分は、各自のネットワーク環境に合わせる。
一応、alsaの状況を確認。「aplay -l」でusb接続しているDACが確認出来たら問題ないだろう。
filetool.sh -bで、dbusとpulseaudioの設定を保存。
これでサーバー完成。
デーモンとしてpulseaudioを起動するときはsshから「pulseaudio -D」、終了には「pulseaudio -k」。
次に、クライアント側の6730bを設定。設定というか、使い方だ。
先ずターミナルソフトでコマンドを打つ。
$ export PULSE_SERVER=192.168.1.xx
これで、このターミナルウィンドウから起動させるプロセスが、赤字のアドレスのpulseaudioサーバーに音声データを伝送するようになる。つまり、赤字の部分はRaspberry Pi2のipアドレスということだ。
同じターミナルウィンドウからコマンドを打ってfirefoxを起動させる。
$ firefox
firefoxが起動したら、amazonにログインし、prime musicの音源を鳴らせばいい。このfirefoxが出力する音声はlanを通じてRaspberry Pi2に転送される。うまくいけばusb dacから音が出る。
注意点としては、ネットワークが遅いと音がぶちぶち途切れる。うちでは6730bの無線lanが遅すぎて音楽にならず、有線100Base-Tでつないだら問題なく鳴るようになった。
ちなみにRaspberry Pi2の出力フォーマットを確認したところs32le 44100で、そこそこのデータ量がある。6730bのネットワーク出力をモニターしてみたら、400KiB/s前後でデータ転送されている。
youtubeの音源だとどうなるか確かめたら、s32le 48000。サイトや音源によって変化するようだ。
DACをRAL-2496ut1に換えると、s16leにフォーマットが変わる。こういう調整はRaspberry Pi2がやってくれているみたい。
あと、クライアントからの信号が止まって暫くしたらサーバーのpulseaudioは自動的にシャットダウンするようで、使う直前にsshでログインして起動しないといけない。
どこかで何か設定できるんだろうけど、確認していない。
さて、2496ut1の光デジタル出力をメインシステムにつないでみたのだけど、問題が。
直接つなぐと音量が大きすぎる。
というか、うちのアンプのボリュームが、普通のデジタル出力からみたら上げ過ぎなのだ。
普段はmpd/libsamplerateで768/32にアップサンプリングしデジタルボリュームで50%前後に絞って出力しているので、逆にアンプのボリュームは上げている。ここに普通のデジタル出力から入力したら、大音量になる。
Firefox上のPrime Musicにもボリュームがあるのだけど、これを下限ギリギリまで下げることになる。モニター画面上、ミリ単位の調節になって使いにくい。
pulseaudioサーバーの音量を下げられるコマンドもあるらしいが、どうもうまくいかない。うちではalsaが動かなくなって音が出なくなった。ここで考えてみたら、s16le 44100のフォーマットで、Raspberry Pi2でデジタルで音量調節というのは、音質に配慮するなら使わないほうがいい手法ではないのか、と思い至る。
そこで、あんまりスマートじゃないけど、メインシステムにつなぐのにはOdeon-Liteを使うことにした。ボリュームがついているので使いやすい音量に設定できる。Odeon-Liteにはusb入力がないので、2496ut1をDDコンバーターとして使う。
突っ込んだ音質評価はしていないが、Prime Musicの音源もそこそこの音質で聞けると思う。
8日、追記。
pulseaudioサーバーの音量を下げるコマンドについて書いておく。
参考にしたサイトは下記。
http://masahiroshiomi.jp/blog/pulseaudio/286/
まず、デバイスの状況を調べるコマンド。
pactl list sinks
いろんな項目について詳細な情報を表示してくれる。
Latency: 79996 usec, configured 75012 usec
よく見たら、こんな記載があったりする。あんまりいい数値とはいえないのかな。どこのLatency?とか、よく分かっていない。
音量を調整するコマンドは下記の通り。
pactl set-sink-volume 0 50%
0というのはデバイスの番号じゃないかと思う。「50%」のところで音量を調整する。
調整後に「pactl list sinks」で確認すると下記のように表示される。
Volume: front-left: 32768 / 50% / -18.06 dB, front-right: 32768 / 50% / -18.06 dB
音声再生中でもコマンドを打ったら速やかに音量を変更できた。
だけど、音質はどうかといえば、結局は「100%」にしてOdeon-liteやSM-SX100のボリュームを調整したほうが良いように聞こえた。
更に追記。
結局、Odeon-liteは外してしまった。
2496ut1からの光出力をSM-SX100に直に入力することにした。セレクターとボリュームを弄るだけでいいんだから簡単だ。
Brooklyn Ampにはその手は使えないので、他の方法を考えないといけない。
2021年1月1日、追記。「pactl set-sink-volume」がどんな感じに効くのかメモしておく。
pulseaudioの扱いにもだいぶ慣れて、ストリーミング用の日常音源として定着した。Amazon PrimeではなくDeezerを使っている。
pactl set-sink-volume 0 100% pactl list sinks Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB pactl set-sink-volume 0 95% Volume: front-left: 62259 / 95% / -1.34 dB, front-right: 62259 / 95% / -1.34 dB Volume: front-left: 58982 / 90% / -2.75 dB, front-right: 58982 / 90% / -2.75 dB Volume: front-left: 55705 / 85% / -4.24 dB, front-right: 55705 / 85% / -4.24 dB Volume: front-left: 52428 / 80% / -5.81 dB, front-right: 52428 / 80% / -5.81 dB Volume: front-left: 51773 / 79% / -6.14 dB, front-right: 51773 / 79% / -6.14 dB Volume: front-left: 49152 / 75% / -7.50 dB, front-right: 49152 / 75% / -7.50 dB Volume: front-left: 45875 / 70% / -9.29 dB, front-right: 45875 / 70% / -9.29 dB pactl set-sink-volume 0 65536 pactl list sinks Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB pactl set-sink-volume 0 61440 Volume: front-left: 61440 / 94% / -1.68 dB, front-right: 61440 / 94% / -1.68 dB Volume: front-left: 57344 / 88% / -3.48 dB, front-right: 57344 / 88% / -3.48 dB Volume: front-left: 53248 / 81% / -5.41 dB, front-right: 53248 / 81% / -5.41 dB Volume: front-left: 49152 / 75% / -7.50 dB, front-right: 49152 / 75% / -7.50 dB Volume: front-left: 45056 / 69% / -9.76 dB, front-right: 45056 / 69% / -9.76 dB Volume: front-left: 40960 / 63% / -12.25 dB, front-right: 40960 / 63% / -12.25 dB Volume: front-left: 36864 / 56% / -14.99 dB, front-right: 36864 / 56% / -14.99 dB Volume: front-left: 32768 / 50% / -18.06 dB, front-right: 32768 / 50% / -18.06 dB
%、整数での指定で設定するとこんな感じ。
うちでは100%以上の音量に上げることは無いので、下げる指定のみ試している。
整数での指定は、16bit=2の16乗=65536、そこから4096ずつ引いていった数値。8回引いたら32768で50%、15bitの情報量に圧縮?になるようで、相応の音質劣化がある。
聴感上、70%以上で使いたい感じ?
不思議なのは、pulseaudioのデジタルボリュームを使うよりも、Firefox、Webプレーヤーのボリュームを使うほうがまだ劣化が少ないような気がすることだ。mpdのボリュームを使っているときにも意外に劣化が少ないと感じるのだけど、それと似たような感触。pulseaudioのボリュームで音量を落とすより、劣化が目立たないように感じる。
全く理由は分からないが。気のせいかもしれないのだけど。
小数点付きの数字で指定だと、以下のような感じ。
音量2.0倍で+6dB、音量2分の1(0.5倍)で-6dBということで概ね相関している。
dBでの指定も出来るんだけど、%と整数による指定はデジタルな指定で、小数点付き数値とdBでの指定は音量によるものということらしい。
pactl set-sink-volume 0 3.0 Volume: front-left: 94519 / 144% / 9.54 dB, front-right: 94519 / 144% / 9.54 dB pactl set-sink-volume 0 2.0 front-left: 82570 / 126% / 6.02 dB, front-right: 82570 / 126% / 6.02 dB pactl set-sink-volume 0 1.5 Volume: front-left: 75020 / 114% / 3.52 dB, front-right: 75020 / 114% / 3.52 dB pactl set-sink-volume 0 1.25 Volume: front-left: 70597 / 108% / 1.94 dB, front-right: 70597 / 108% / 1.94 dB pactl set-sink-volume 0 1.0 Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB pactl set-sink-volume 0 0.75 Volume: front-left: 59543 / 91% / -2.50 dB, front-right: 59543 / 91% / -2.50 dB pactl set-sink-volume 0 0.5 Volume: front-left: 52016 / 79% / -6.02 dB, front-right: 52016 / 79% / -6.02 dB pactl set-sink-volume 0 0.33 Volume: front-left: 45288 / 69% / -9.63 dB, front-right: 45288 / 69% / -9.63 dB
dB指定だと、ちょっと扱いが他の指定方法と違ってくる。
pactl set-sink-volume 0 3.0dB Volume: front-left: 73533 / 112% / 3.00 dB, front-right: 73533 / 112% / 3.00 dB pactl set-sink-volume 0 -3.0dB Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB pactl set-sink-volume 0 -3dB Volume: front-left: 58409 / 89% / -3.00 dB, front-right: 58409 / 89% / -3.00 dB pactl set-sink-volume 0 +3dB Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
指定した値の前に「+ -」を付けると「増減」の指定になる。
つまり「3.0dB」と指定したら「3.0dBの音量」に変更する指定だけど、「+3dB」「-1.5dB」みたいな指定をすると、現在の数値から増減指定になるということだ。
実は「+ -」で「増減」を指定するのは%、整数、小数点付き数字での指定でも出来る。
pactl set-sink-volume 0 -25% Volume: front-left: 49152 / 75% / -7.50 dB, front-right: 49152 / 75% / -7.50 dB pactl set-sink-volume 0 -25% Volume: front-left: 32768 / 50% / -18.06 dB, front-right: 32768 / 50% / -18.06 dB pactl set-sink-volume 0 +50% Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB pactl set-sink-volume 0 -1024 Volume: front-left: 64512 / 98% / -0.41 dB, front-right: 64512 / 98% / -0.41 dB pactl set-sink-volume 0 -1024 Volume: front-left: 63488 / 97% / -0.83 dB, front-right: 63488 / 97% / -0.83 dB pactl set-sink-volume 0 -2048 Volume: front-left: 61440 / 94% / -1.68 dB, front-right: 61440 / 94% / -1.68 dB pactl set-sink-volume 0 +4096 Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB pactl set-sink-volume 0 +1.0 Volume: front-left: 82570 / 126% / 6.02 dB, front-right: 82570 / 126% / 6.02 dB pactl set-sink-volume 0 +1.0 Volume: front-left: 104031 / 159% / 12.04 dB, front-right: 104031 / 159% / 12.04 dB pactl set-sink-volume 0 -0.5 Volume: front-left: 82570 / 126% / 6.02 dB, front-right: 82570 / 126% / 6.02 dB pactl set-sink-volume 0 -0.5 Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
こんな感じ。