Music ServerにあるMPD (Music Player Daemon) のクライアントとして、アプリMPoDをiPod Touchに入れて、選曲および音量調整のリモコンとしてiPodを活躍してもらった。

141101-9

さらに、SSHクライアント アプリ vSSH Lite を iPod Touchに導入した。手持ちのこのiPodは第3世代、IOS 5.1.1止まりで、死刑判決を受けていた。幸い、MPoD も vSSH Lite も IOS5 で利用可能。

141101-10

ということで、他のPCがなくても、iPodだけでNHK FMが聴けるようになった。しかも、SSHログイン後のScript自動実行機能も vSSH Lite に内蔵しているので、Connectボタンを押すだけでOK。

./nhk fm

実際に走る nhk ファイルの内容は以下の通り。

#! /bin/sh
case $1 in
1)
mplayer -ao jack -playlist http://mfile.akamai.com/129931/live/reflector:46032.asx
;;
2)
mplayer -ao jack -playlist http://mfile.akamai.com/129932/live/reflector:46056.asx
;;
fm)
mplayer -ao jack -playlist http://mfile.akamai.com/129933/live/reflector:46051.asx
;;
*)
echo ‘Usage:’
echo ‘ nhk 1’
echo ‘ nhk 2’
echo ‘ nhk fm’
exit 1
;;
esac

141101-11

NHKらじる★らじるのストリーム放送がこれで、mplayer → JACK → ALSA → DA-300USB 経由で再生された。しかも、本来の44.1kHzのストリームが192kHzにアップサンプリングされているようだ。

iPod の生きる道はやっと見つけたけど、肝心のバッテリーは寿命が近い。自分で交換できないかな。ほかにiPadやAndroid携帯があるので、困ることはないが、サイズやデザイン的にはリモコンとしてのiPodが最適だと思うから。

<追加>

以下のファイル nhk.m3u を mpd の playlists ディレクトリ(デフォルトでは /var/lib/mpd/playlists/)に置いとけば、mpd のクライアントからは選んで聴けるようになった。ということで、SSHよるアクセスは必要でなくなったのかも。URLがしょっちゅう変わることがあるとダメなので、数ヶ月後に結論を出したい。

#EXTM3U
#EXTINF:NHK 1
mms://a33.l12993146032.c129931.g.lm.akamaistream.net/D/33/129931/v0001/reflector:46032
#EXTINF:NHK 2
mms://a57.l12993246056.c129932.g.lm.akamaistream.net/D/57/129932/v0001/reflector:46056
#EXTINF:NHK FM
mms://a52.l12993346051.c129933.g.lm.akamaistream.net/D/52/129933/v0001/reflector:46051

音楽の秋。発熱量が半端でないA級アンプでも、この季節になると躊躇なく動かせる。さて、Denon DA-300USBを購入して以来、ネットやCDから貯めた音楽をWindowsノートPCから経由して聴いていたが、折角好条件が揃っているので、新たなチャレンジを始めた。

できあがったシステムは写真のとおり。

141101-5

141101-6

USB-DACよりもさらにコンパクトなPCを傍に置き、選曲や音量調整は手元のリモコンでやっている。

PCはOSがUbuntu Studio 14.04.1 LTS。qjackctl (JACK Audio Connection Toolkit) を動かし、mpd (Music Player Daemon) の出力を JACK に繋ぐ。手元の iPod Touch か Android 携帯をmpd client にして、リモコンとして使う。なお、pulseaudioは起動していない。

全体の概念図。

141101-7

立ち上げの順序はこうだ。まず、USB-DACの電源を入れ、出力デバイスが機能したことを知らせる。つぎに、PCの電源を入れ、暫くすると、リモコンとしてのiPodに立ち上がった情報が流れる。それを確認してから、アンプの電源を入れ、音楽鑑賞がスタート。

止めるには、まずアンプの電源を落とす。つぎにPCの電源スイッチをいきなり押し、シャットダウンさせる。怖いと思われるかもしれないが、設定してあるから問題ない。最後にUSB-DACの電源を切る。

PCにマウスも液晶ディスプレイもつけない。WiFiを通して、リモコンと通信。NHKを聴くときは、他のPCからSSH経由で遠隔ログインし、コマンドを発行する。他のストリームラジオを聴くときは、プレイリストに登録されていれば、手元のリモコンで操作できる。rajiko.jp の聴取だけはまだ課題として残っている。

最後に、メモとして、写真や、画面キャプチャーを残しておく。

PCの中身。Mouse社 Lm-mini20、Atom 230 (1.60GHz)、3GBメモリ+160GB HDD。Wifi機能がないので、外付けアダプターを付けた。PC自体は3代目Bal4uサーバだったが、ファンが壊れて現役引退。その後、無理やりファンを自力で直した。

141101-7

qjackctlの設定。出力周波数をDA-300USBに合わせて、192kHzにしてある。CDのサンプリング周波数をアップしているように見える(DA-300USBの周波数表示窓により)が、検証確認はまだやっていない。なお、mpdのオーナーmpdユーザで自動ログイン設定にしてある。

141101

qjackctlが2つあるのは、ひととだけではエラーが起きるから。二つめが立ち上げたときに、どういうわけか、エラー解消になる。そのへんはまだバグがOSに残っていると判断した。

141101-1

141101-2

141101-3

約3週間かかったが、やっと完成した。当初考えたリレーによる入力切替など、省略した機能が一部にあったが、概ね狙い通りのものができた。

課題といえば、もっと電源部分を強化すべきだった。放熱器も大型にすべきだった。このうち作りなおす機会があると思うので、一気に課題を解決したい。

ダミーロードやトランジスタ・FETの選別器等、時間を見ていくつかのツールを作ってみる。5月からの5ヶ月間、デジタルアンプ、LM3886パワーアンプ、Aクラスパワーアンプ、そして本機、計4台をつくってきた。散財もしたが、それなりに満足している。人生は短し、楽しむなら今のうち。

120915-20.jpg
120915-21.jpg

実物をやっとテストしたので、メモ的意味合いでプリアンプ部の回路をおいておこう。

120915.png

入力段にFETQ1,Q2を採用して差分増幅している。入力インピーダンスを高め、同相ノイズを抑えるのが狙い。Q3, D1, D2による定電流回路によって、Q1, Q2を流れる電流を不変にする。Q3のアイドリング電流(=0.65/R3)はR3で決まる。さらに、Q4, Q5によるカレントミラー回路により、Q1, Q2を流れる電流を等しくする。それでも、微妙の差を無くすために、半固定抵抗 VR1を入れ、出力のDCオフセットを調整する。

ドライバ段はQ6による。そのアイドリング電流がR5で決まるが、数mAであればよかろう。なお、C3は発振防止用で、容量については最後の調整段階で決めるほうがよさそう。

出力段はAクラスで動作。一般的なプッシュプルではなく、あえてシングルにした。Trのコンプリメントペアは手に入りそうにないし、必要とも思わないから。また、Q8, D1, D2がまた定電流回路をなしていて、R3がQ8(Q7)のアイドリングを決める。R3の値を20Ωにすれば、アイドリングが約30mAになる。

調整箇所はVR1のみ。出力にダミーロードを繋ぎ、DMMで出力電圧をみながら、ゼロになるようにVR1を回す。

プリアンプ全体のゲイン(利得)はR9, R10の比率で決まる。必要に応じて、その比率を決めて良い。ただ、R10の値は10kΩまでにしよう。高いとノイズを受けやすくなる。

電源電圧は±15Vにしたが、電解コンデンサの耐圧を注意すれば、±30Vまではパーツ変更なしに対応できるはず。

120915-2.png

Tr, FETは今の時点ではすべて秋月電子通商から購入できる。ダイオード1S1588は廃盤になったようだが、代わりに1S2076A等でOK。

では、波形をみてみよう。ダミーロードは1kΩ抵抗。入力の大きさや周波数等は各画面で確認できる。全体のゲインは約5.2倍(R9=430Ω、R10=1.8k)、Q7のアイドリングは約30mA(R8=20Ω)に設定してある。なお、C2は実装していない。

120915-3.jpg

100Hz

120915-10.png

1kHz

120915-11.png

10kHz

120915-12.png
120915-13.png

100kHz

120915-14.png
120915-15.png

1MHz

120915-16.png
120915-17.png

最後は1MHzでの正弦波形。FFTで周波数成分を確認してもそれほどの歪みではなさそう。ということで、数百kHzまでは回路が問題なく動いているようだ。

120915-18.png

ヘッドホンアンプ部にイヤホンを繋いで聴いてみた。予想以上にゲインが大きく、NFBループの抵抗値を落として、ゲインを2倍にした。それでも、約6時からスタートしたボリュームが9時のところで音量的に充分。

音はいい。長く聴いていないが、ディスクリートで組む意味はなさそう。また、オペアンプを取り替えてみたが、自分的にはOPA2604が好み。

120913.jpg

ディスクリート式プリアンプは今晩に動作確認する。三端子レギュレーターの発熱は予想以上で、ゴミ程度の放熱器をつけた。

120911.jpg

朝の出勤前時間をつかって、フロントパネルを加工した。左から電源SW、ボリューム、入力セレクタ、ヘッドホンジャックという並び。

入力セレクタは内部USB-DACと外部RCAを切り替えるものだが、外部入力を使うことはほとんどないので、ボリュームと位置的に入れ替えた。

内部のパーツ半田付けも終了。まだガラガラ状態。

120911-1.jpg

昨日つくったPCBパターンはどうみても細すぎたので、作りなおした。朝からやっとPCB作成に取り込み、なんとかイメージしたものになった。熱転写の黒インクを落とす前に、ハンドドリルで半田付け用穴まで開けた。一番気になっていたオペアンプの8ピンがうまく入れそう。

120909.jpg
120909-1.jpg

PCBの外注品よりはまだ貧弱だが、ユニバーサル基板に比べるとだいぶ進歩したと思う。やっと一人前のDIYerになったのかもしれない。

そして、到着したアルミケースにマウントして穴開け。リアパネルは細かくみれば問題点はあるが、ギリギリの合格か。

120909-2.jpg
120909-3.jpg
120909-4.jpg

さらに、作業は半田付けに進んだ。電源部、多重帰還型フィルタ、オペアンプによるプリアンプが完成。

120909-10.jpg

ディスクリートによるプリアンプでは、Trのペアリング準備が必要なので、本日はここまで。

Eagleでブロック毎につくり、Photoshopで合成。いつものやり方。KiCadは勉強中だが、まだEagleほど使いこなしていない。

1mmの細いパターンが多く、転写してうまくいくかは心配だが、午後にチャレンジしてみる。

120908.jpg

廃棄状態になっているPC ASUS EeePC T91MTを音源として使いたい。サイズが小さいのと、タッチパネルが回転でき、指で操作できることがいいなぁと考えているから。そのPCはしかし、2次記憶容量が少なく、ネットワーク経由で音楽ソースにアクセスするようにしないといけないかも。

サイズを測ったら230x170mm。USB-DACケースを下に敷くように置きたいので、260x230mmのアルミケース(タカチSLシリーズ、前回同様)を採用することにした。

となると、電源を入れても中身はガラガラ。格好よくみせるためにも、機能の詰め込みを考えている。
 ①USB-DAC出力部に多重帰還型フィルタをつける。キットのパターン改造が面倒なので、新しい基板にその部分の回路を載せる。
 ②プリアンプの存在意味は自分によく分からない。CDやUSB-DACは約2Vを出力するので、パワーアンプのゲインが10倍でも20V以上の電源電圧が必要。自作したものはその程度なので、プリアンプを挟む電気的意味は理解できない。といっても、料理の調味料みたいなものだと話す意見があり、今回スペースもだいぶ余っているので、プリアンプ機能をいれることにした。2つのバージョンを考えている。つまり、オペアンプによる増幅回路と、オールトランジスタによる増幅回路。オペアンプは取替えたり楽しむためで、ディスクリートはオペアンプと比較するためだ。
 ③ボリュームをつける。大嫌いなパーツは自分に2種類あり、ケミコンとボリューム。どれも全く信用できない。今回は90年代に買ったものがそのままだとゴミになってしまうので、使うことにする。
 ④RCA入力をサポートする。USB-DACとの切り替えはリレーでやる。意味はないと思うけど。
 ⑤配線は極力排除し、基板一枚で済ませる。USB-DAC基板を2階建てにする。ケースの構造上、USB-DAC基板の固定穴をケースに合わせることができないのも理由のひとつ。

まとめると、電源+USB-DAC基板+多重帰還型フィルタ+入力のリレー切替+ボリューム+プリアンプ(2バージョン)、というものになる。なお、出力部にヘッドホンジャック(6mmと3.5mmの2種類)をつけるので、ヘッドホンアンプにもなる。

磁気テープやLP等を聴くことがないので、オーディオシステムはこれぐらいで完結かな。CDプレーヤやスピーカのグレードアップはいつかやりたいけど。

120907.jpg

ソフトLTspiceを使って、USB-DACの出力部について、その周波数特性をシミュレーションしてみた。

モデルの構築に関しては、以下のことを考慮した。
 ① 入力源はPCM2704データシートによると、振幅が0.55×3.3=1.815V、DCオフセットが0.5×3.3=1.65Vになっている。
 ②オペアンプはOPA2604だが、シングルバージョンのOPA604が使いやすいので、後者にした。なお、LTspice用モデルはどちらも製造メーカのHPからダウンロードできた。
 ③フィルタのスペック(とくにインダクタンス)はわからないが、インダクタンスを10uH、キャパシタンスを0.022uF(こちらは実物に合っているようだ)。

<発振した時の様子>
 昨日の実験では450kHz付近で発振したので、その原因を探ってみた。まずはLTspiceモデル。

120902.png

オペアンプの入力P1、 出力P2、および最終出力P3の3点における周波数特性。

120902-1.png

450kHzからは多少ズレているが、300kHz付近で大変不安定なことがわかる。

<改造前の安定度>
 よく売られたキットのようで、改造しなければ安定しているだろうと思うが、ついでに確認してみた。

120902-2.png
120902-3.png

確かに安定している。問題は自分の改造にあった。

<100Ωを付け直した後の安定度>
 昨日の実験では、発振したことがわかると、省いた抵抗R13, R15(=100Ω)を付け戻した。そこで発振が止まった。その様子もついでに確認してみた。

120902-4.png
120902-5.png

改造前の周波数特性に近づいているとも感じる。実質的にフィルタ直前のカップリングコンデンサを省いただけの改造だから。

しかし、音質については不満だった。さらなる改造を考える。それと、オペアンプを導入したメリットを考えてみたい。ゲイン3倍以外に何かがあってしかるべきだ。

<訂正>
 PCM2704のアナログ出力振幅は1.8515Vではなく、その半分の0.93Vだ。ただ、周波数特性には関係ないことだ。

<多重帰還型フィルタにしてみる>
 高周波をもっとシャープにカットするには、多重帰還型フィルタにしたほうがいいかもしれない。せっかくのオペアンプだし。

120903.png
120903-1.png

<VCVS型フィルタなら>
 ゲインをもたせ、オペアンプを非反転に使うなら、VCVS型フィルタがいいかもしれない。ただ、位相が激しく変動し、音感への影響は不明。

120904.png
120904-1.png