Raspberry Piの3.5mmジャックのアナログ音声出力の高音質化チャレンジしたけどダメでした

f:id:karaage:20160228161437j:plain:w640

Raspberry Pi 2のアナログ音声の高音質化

 先に結論だけ言ってしまいますと、期待する高音質化は得られませんでした。同じことをしてガッカリする不幸な人を一人でも減らすために、記録残しておきます。願わくば誰かがさらなる音質改善の追求をして欲しいです。

 そもそものきっかけは、Raspberry Piの3.5mmジャックのアナログ音声の音質が悪いこと。特に暗ノイズ(バックグラウンドのノイズ)が酷くて、何も音出してない状況で耳障りな音が出てきます。以前、Raspberry Piでミュージックサーバ作成したときは、アナログ音声のノイズを避けるため、DACを使って別系統から音を出すことで音質を向上していました。

 ただ、毎回DAC買うのもお金がかかりますし、なんとか3.5mmジャックのアナログ音声の音質改善できないかとトライしたのがこれ以降の内容となります。ハードウェア、ソフトウェアの両面トライしました。といっても最初に書いた通り満足した結果得られていないし、少々マニアックな内容になるので続きは興味がある方のみごらんください。

ハードウェア

ハードウェア改造概要

 まずはハードウェアの改善を考えます。ここではRaspberry Pi 2の前提で進めますのでご了承ください。Raspberry Pi 2の3.5mmジャックは音声に加えて映像信号まで含んだ4pinのかなり特別なコネクタとなっています。ネットではこの4pinに普通の3pinのケーブルさすと、Raspberry Piの映像出力端子がGNDとショートしてしまうので、ノイズが多いのではないかというもっともらしい説がいくつか見られました。ふむふむ、それっぽい気もするけど、映像信号がGNDとショートしてオーディオのノイズが増えるって本当か?という気がします。  検証のため、4pinのケーブルを使えればよいのですが、入手性も悪くお高いようなので、改造することにします。まずはどこを改造すればよいかしRaspberry Piの基板のTP(Test Point)の仕様を調べます。幸いにも以下のようなページが見つかりました。

RPi B+ test pads - Raspberry Pi Forums

 今回必要は信号は下記3つです。

TP Description
PP6 GND
PP25 AUDIO_L
PP26 AUDIO_R

改造必要なもの


 3.5mmステレオジャック。秋月さんとかで上記のようなものを買えばよいでしょう


 ジャンパワイヤ。これを切って接続すると後から接続・分離が便利

goot 電子工作用はんだこてセット X-2000E

goot 電子工作用はんだこてセット X-2000E

 はんだこて

goot はんだこて台 ST-11

goot はんだこて台 ST-11

 はんだ台

ベッセル(VESSEL) ワイヤーストリッパー No.3500E-2

ベッセル(VESSEL) ワイヤーストリッパー No.3500E-2

 ワイヤストリッパ。ワイヤ(配線)の被覆をムキムキするのに使用

リョービ(RYOBI) ドライバードリル FDD-1000 鉄工5mm 木工10mm 646002A

リョービ(RYOBI) ドライバードリル FDD-1000 鉄工5mm 木工10mm 646002A

リリーフ(RELIFE) 六角軸下穴ドリルと両頭ビット10本組

リリーフ(RELIFE) 六角軸下穴ドリルと両頭ビット10本組

ケースに穴あけるドリル

ハードウェア改造写真

 以下改造の様子です。 f:id:karaage:20160228151020j:plain:w640
 Raspberry Pi2

f:id:karaage:20160228151031j:plain:w640
 Raspberry Pi2 基板 裏側

f:id:karaage:20160228151047j:plain:w640
 基板裏側アップの写真

f:id:karaage:20160228153838j:plain:w640
 ジャンパワイヤ、とりあえずこれを真ん中らへんで切断して、切断部近くの皮膜をワイヤストリッパでムキムキします

f:id:karaage:20160228155227j:plain:w640
 ムキムキした部分をはんだ付け  

f:id:karaage:20160228160107j:plain:w640
 もう片方のジャンパワイヤは、ステレオジャックにハンダ付け

f:id:karaage:20160228153354j:plain:w640
 ケースをドリルで穴あけ

f:id:karaage:20160228161448j:plain:w640
 Raspberry Piとステレオジャックをジャンパワイヤで接続。LとRを間違えないように注意しましょう

f:id:karaage:20160228150832j:plain:w640
 ステレオジャックのL,Rがわからなくなったらこんな感じのステレオジャック用の変換コネクタを接続して、テスタで導通確認すればよいです。オーディオ端子は、赤がRight、白がLeftという鉄の掟があるのです。どうしてもわかんなかったら両方試せばよいです。

f:id:karaage:20160228161437j:plain:w640
 完成図。すっきりケースに収まりました。

ソフトウェア

 以下の記事によるとファームのアップデートとコンフィルファイルの変更で音質を向上することができるようです。 Analogue audio testing - Raspberry Pi Forums

ファームアップデート

 以下実行すればOK。数分とか時間かかるので時間あるときにどうぞ。

$ sudo rpi-update 

 古いOS(Raspbian)だとrpi-update自体が無いケースもあるので、そのときはアップデートするかOS入れ直すかしましょう。以下記事のRaspberry Pi Jessieなら確実

コンフィグファイル修正

 /boot/config.txtを適当なエディタで開いて、以下を追記しましょう。

disable_pvt=1
force_turbo=1
audio_pwm_mode=2
audio_sdm_mod_order=2

 後は以下で再起動

$ sudo shutdown -r now

 起動後は以下実行

$ amixer cset numid=3 1

テスト

 起動して暗ノイズ(バックグラウンドノイズ)を確認。以下のコマンドで適当な音を出して聞いて見る。

$ airplay python_game/match0.wav

 聴感での感想のみですが、バックグラウンドのノイズは改造後も変わらず残っていました。ちゃんと測定したら少しは違い出るのかもしれませんが、少なくとも私の期待するレベルまでは改善できませんでした。

まとめ

 Raspberry Piのアナログ音声出力、音が悪いのはコネクタが原因という情報が多かったので期待していたのですが、期待通りの改善はできませんでした。何事もやってみないとわかりませんね。音質大きく改善するには、以前やったようにDACを使うしかないのかなというのが今のところの自分の結論です。  もし、何か間違っていたり、自分はこうやったら音質改善できたという情報ありましたらお待ちしていますので教えて下さい。

関連記事