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)
- メディア: Tools & Hardware
- 購入: 11人 クリック: 38回
- この商品を含むブログ (4件) を見る
- 出版社/メーカー: 太洋電機産業(goot)
- メディア: Tools & Hardware
- 購入: 17人 クリック: 33回
- この商品を含むブログ (3件) を見る
ベッセル(VESSEL) ワイヤーストリッパー No.3500E-2
- 出版社/メーカー: ベッセル
- メディア: Tools & Hardware
- 購入: 5人 クリック: 23回
- この商品を含むブログ (1件) を見る
リョービ(RYOBI) ドライバードリル FDD-1000 鉄工5mm 木工10mm 646002A
- 出版社/メーカー: リョービ(Ryobi)
- メディア: Tools & Hardware
- 購入: 3人 クリック: 20回
- この商品を含むブログ (4件) を見る
リリーフ(RELIFE) 六角軸下穴ドリルと両頭ビット10本組
- 出版社/メーカー: イチネン ミツトモ
- メディア: Tools & Hardware
- 購入: 13人 クリック: 39回
- この商品を含むブログ (2件) を見る
ハードウェア改造写真
以下改造の様子です。
Raspberry Pi2
Raspberry Pi2 基板 裏側
基板裏側アップの写真
ジャンパワイヤ、とりあえずこれを真ん中らへんで切断して、切断部近くの皮膜をワイヤストリッパでムキムキします
ムキムキした部分をはんだ付け
もう片方のジャンパワイヤは、ステレオジャックにハンダ付け
ケースをドリルで穴あけ
Raspberry Piとステレオジャックをジャンパワイヤで接続。LとRを間違えないように注意しましょう
ステレオジャックのL,Rがわからなくなったらこんな感じのステレオジャック用の変換コネクタを接続して、テスタで導通確認すればよいです。オーディオ端子は、赤がRight、白がLeftという鉄の掟があるのです。どうしてもわかんなかったら両方試せばよいです。
完成図。すっきりケースに収まりました。
ソフトウェア
以下の記事によるとファームのアップデートとコンフィルファイルの変更で音質を向上することができるようです。 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を使うしかないのかなというのが今のところの自分の結論です。 もし、何か間違っていたり、自分はこうやったら音質改善できたという情報ありましたらお待ちしていますので教えて下さい。