クイズ? ==> ちょっと間抜けなオチ

あることを検討する過程で、次のような問題に遭遇しました(^^;;;)

整数A, Bがあったとします。もう一組別の整数M, Nがあって、以下の式によりM, Nを算出します。

  • M=(A+B)/2
  • N=A-B

そして、このM, Nから逆にA, Bを完全に復元できるか?というたわいもない問題なのですが、ぼやっとしていたためでしょうか( 加齢のためともいう?) 、「完全に復元できないのではないか?」と、うっかり思い込んでしまっておりました(^^;;;

というのは、Mを計算する過程でA+Bが奇数ならばMは切り捨てされて小数点以下がなくなります。A, Bを計算するためにMを2倍にしても、A+Bは偶数にしかなりませんので、「もとの数は復元できない」という理屈です。

でも、A+Bが奇数になるのは、それぞれが共に奇数でなく、かつ共に偶数でない場合(要は偶数と奇数の組み合わせの場合)であり、そのような場合はA-Bも奇数になっているのでした・・・。

つまり、A-Bが奇数であれば、A+B=2*M+1とすれば、A, Bは完全に(ロスレス)復元できるのでした・・・。というオチです。

こういうのってもしかして日能研なんかよりレベルの低い問題かな?って考えると、なんだか情けなく、休日の陽だまりの中でしばし落ち込んでいました・・・(笑い

 

 

aplay on Ubuntu

Ubuntu10.10でbit perfect転送が確認できた aplay というコマンドですが、USB DUAL AUDIO基板 (および大抵のUSB AUDIO基板) では残念ながら24bitのwaveファイルしか再生できません。CDからリッピングした44.1kHz/16bitのボリュームゾーンが再生できないのはやはり痛いところです。

そこで、前の記事でご紹介したN様からご提供いただいた”aplayex”というコマンドを試してみることにしました。このプログラムはaplayを拡張して24bitでも16bitでも再生することができるようにしたもので、これでようやくUbuntuが実用になりそうです。

さて、当方はLinux初心者と言って良いほどのLinux音痴であり、aplayex.dat というバイナリを頂いたもの、どうやってUbuntu本体に組み込めば良いのか皆目見当がつきませんでした。

そもそも.dat って実行ファイなの?というくらいの知識ベースなので、途方に暮れておりましたが、この方のホームページで救われました。無事にプログラムを組み込むことができて24/16bit双方のファイルを再生できるようになりました。

Ubuntuで16bit waveファイルをbit perfect再生できなくて困っている方で、aplayexをお試しになりたい方はメールをください。

Ubuntu10.10 と bit perfect再生

あれから、USB DUAL AUDIO基板をUbuntu10.10が動作するThinkPad X31に挿入し、Audaciousでテスト信号を再生してbit perfectになっているかどうか確認したところ、残念ながらそうはなっていませんでした。念のためAudacityでも試してみましたが、やはり同じでした。

ちなみに、確認方法は例によってUSB DUAL AUDIO基板のS/PDIF出力を、別のASIO対応AudioデバイスのS/PDIF入力につないでWaveSpectraでスペクトラムをチェックするという方法です。

AudaciousやAudacityなどの普通のアプリで再生した場合、何らかのmixerを経由してしまうようです。もともと汎用のOSなので仕方のないことです。

で、昨日のブログでご紹介した「N様」にご教示いただいたことなのですが、ターミナルからコマンドで起動する “aplay” というプログラムを使ってオーディオ・デバイスを直接操作するイメージの処理を行うことで(しか?)、bit perfect再生ができるそうです。こちらに解説をいただきました。

Terminalを起動し、コマンドで aplay -l[Enter] と打つと、ハードウェアのオーディオデバイス一覧が表示されます。下の画像ではcard1, device0 が EZ-USBになっていますので、aplay -D hw:1,0 filename.wav[Enter] と打つことで、USB DUAL AUDIO基板から実際にbit perfectで再生することができました。

filename.wav のところは、TerminalのWindow上へwaveファイルをドラッグ&ドロップすれば簡単です。

途中で再生を止めたいときにどうすればよいのかまだわかっていませんが、bit perfectになっていると考えられます。

上の再生例は24bit/96000Hzですが、24bit/176400Hzのファイルを再生した場合も、bit perfectになっている模様です。

bit perfectの再生環境がまだ整っていない感じですが、プラットフォームとしてUbuntu10.10は非常に可能性があって魅力的ですね。ThinkPad X31はまだまだ手放せそうにありません。メモリーを2GBに増強しておいてよかった!

Ubuntu10.10

最近ある方から (Nさま、ということにします) Ubuntu10.10でUSB DUAL AUDIO基板をAudio classで使用しようとした場合、OSが基板を認識しないのでUbuntuにパッチを当てたというご連絡をいただきました。

事の起こりは、自作オーディオの世界で有名な「ケン様」がUSB DUAL AUDIO基板 (Audio class2) をUbuntuで使おうとされたものの、うまく認識されなかったために、前出のNさまに駆け込まれた、という事の様です。

Nさまには大変お手を煩わせてしまいましたが、無事に元旦に公開していただきました。ありがとうございます。

実は当方はLinuxからは20年くらい遠ざかっており(尻尾を巻いて逃げたっきり、とも言えます・・・)、かかわるのは気が重かった、というのが正直なところでした。

とはいうものの、Nさまのホームページを見ながら当方もUbuntu10.10にパッチを当ててみようと考えたのですが、どうもこうにも、パッチを当てたりするという作業自体に拒絶反応が出てしまうのです(トラウマとも言う?・・・)。

Ubuntuとかかわるのなら、そもそも本来はN様がパッチを当てなくてはならなかった原因を取り除くことが先決と考え、N様から頂いた情報をもとに、class2ファームウェアの修正で対応することにしました(すでに所定の場所に置いてあるclass2用ファームウェア・ファイルを更新済みです > ユーザー様)。

その結果、インストール用のバイナリを入手して、何も考えずにインストールすることによって、とりあえず24bit 96,000Hzのwaveファイルを再生することができました。以下はその顛末、というか備忘録になります・・・。

ちなみに、class1の方のROMでUSB DUAL AUDIO基板を使う際にも、class1用のパッチをUbuntuに適用する必要があるそうです。こちらの場合はパッチを当ててお使いいただくより方法がありません。USB2.0 HighSpeedでAudio class1を実装できるというのをUbuntu(の開発者の方)がご存じないがゆえのことだと考えております 。

さて、Ubuntuの正式ホームページ (と思われる) サイトから ubuntu-10.10-desktop-i386.iso というCD-R用のイメージファイルをダウンロードしました。ちなみに、手持ちのThinkPad X31という結構昔のNotebookがLinuxにはピッタリだったりすることがよくあるようですので、今回はこのマシンにインストールを試みることにしました。当方のトラウマ?の一つとして、一般的にLinuxの場合、結構PCのハードウェアを選ぶという印象を持っています。特にメーカー製のPCよりも、枯れた汎用パーツで組み上げたAT互換機のほうが具合が良かったりしたというような記憶もあります。

それはともかく、Ubuntuのホームページから手に入れたファイルを、そこの説明通りにUSBメモリスティックに展開し、USBメモリから起動して何事もなくThinkPad X31にUbuntu10.10のdesktopエディッションがインストールできました。

USB DUAL AUDIO (class2版) 基板を挿して System -> Preferences -> Sound 設定を開くと、”EZ-USB” として認識されています ( “Hardware” タブ)。念のため、内蔵のonボードオーディオは無効にしておきました。

一応、”Output” タブから出力デバイスにも”EZ-USB” を「選択」しておきました。

何か再生アプリが必要ですので、Application -> Ubuntu Software Center を起動し 、”Get Software” -> “Sound & Video” を開き、 “Audacious” というアプリを選んで “Install” してみました。

幸運にも、グラフィカルなUI(ユーザーインターフェース)だけを使ってアプリケーションのインストールまでできてしまいました。Audaciousを起動し、ファイル -> Audaciousの設定 から「オーディオ(スピーカーアイコン)」を選択し、「現在の出力プラグイン」が”PulseAudio Output Plugin” になっているのを確認してから、Audaciousのリストにwaveファイルをドラッグし、再生ボタンを押すと24bit 96kHzのwaveファイルを再生することができました。

 

ただし、この状態では44.1kHzでの再生になっていますので、”PulseAudio Output Plugin” の設定を変更してやる必要があります。

Applications -> Accessories -> Terminal を選択して起動します。

sudo gedit /etc/pulse/daemon.conf (Enter) と打ち込んでテキストエディターを起動し、設定ファイルを書き換えます。エディター画面が開いたら以下の2行を修正します。行頭のセミコロンを忘れずに消します。

; default-sample-format = s16le
; default-sample-rate = 44100

を次のように修正して保存します。

default-sample-format = s24le
default-sample-rate = 96000

Terminal上で “pulseaudio -k” 打ってPulseAudio Output Plugiを再起動します。うまくいかない場合にはUbuntuごと再起動します。

無事に24bit/96,000Hzで再生できました。まだ試してはいませんが、「ケンさま」によると24bit/192,000Hzまで問題なく再生できるようです。192,000Hzで再生する場合は、上のdaemon.conf のdefault-sample-rate = 96000を192000にする必要があります。

自炊のすすめ?

iPadを手に入れてからしばらくの間、手持ちの技術雑誌のいくつかを裁断してスキャナーにかける日々が続きました。結果として、ドキュメントはソファーで横になってiPadで読む(眺める)ことが多くなりました。

先日、WEBで100ページ100円で書籍のPDF化を請け負ってくれる会社に雑誌を送って試しにPDF化してもらいました。我が家の複合機でPDF化するよりも綺麗な画質で必要十分な品質です。これならば「自炊」ではなく「他炊」をお願いした方が良い、と思わせるものでした。

実は夏前にオープンリールデッキを手に入れました。ヤフオクで「未使用」と謳われていた、TEACのA-3300Sの2Trバージョンです。元箱まであるというのが心に響いて、2万円ちょっとで落札しましたが、「未使用」というのは大騙しでした(笑。

それでも状態は悪くはなかったのでTEACサービスでメンテをして頂き、しばらくは自己録再で遊んでいたのですが、やはり手持ちの4Trテープが聴きたくなり、思い切ってヘッドを交換して改造することにしました。

録音はしないので再生ヘッドだけ換えればいいや、というわけです。

TEACのデッキの多くは、某サイトにサービスマニュアルがあるので、改造に必要な情報はなんとか手に入れることができました。駆動系をいじりだすとテンション調整やら何やら、いろいろと面倒、かつ専用治工具が必要で素人には難しいですが、ヘッドだけならなんとかなるのではないかと気楽に考えてのことです。

2Trデッキとして使えなくなるのは少し残念ですが、デッキを何台も置いておく空間的な余裕がないものですから止むをえません。ハイレゾのソースをDACから2トラ・サンパチで録って楽しんでいたりしましたが(さすがに音がいいんです)、それも打ち止めです。

さて、ここからが本題なのですが、ユーザーがレコードやテープを送って、それをスタジオ機材を使ってDSDやハイレゾでデジタル化してくれるビジネスはないでしょうか?

たとえばレコーディングスタジオなどには、高価な業務用A/Dコンバーター(EMMlabs, PrismSoundなどの)や、場合によってはスタジオユースの海外製テープデッキを所有しているところも少なくはないと思います。

送り出しがTEACのデッキで、受けがPCM420x系の自作基板でも不満があるというわけではないのですが、考えられる最高級の業務用システムでデジタルにトランスファーしたアナログソースの音を一度は聴いてみたいと思うのです(ノイズ処理やイコライジングの類を一切しないというのが前提です)。

そういう設備を持った経営者の方々で、上記のような自炊(他炊)ビジネスを行っているところがあれば、利用してみたいと思っているのですが・・・。

 

独グラモフォン

ご存知の方ばかりかもしれませんが、独グラモフォンのWEBサイトでもダウンロード販売が既に開始されております。

普通にCDとして流通しているタイトルのFlac / mp3 ファイルが販売されています(16bit/44.1kHz)。一般に紙ジャケの箱物は聴く際にいちいちCDを取り出すのが億劫なので、リッピングしてライブラリ化しておきたいところなのですが、枚数が多かったり、廉価版ゆえの盤質低下?からか、リッピングの際に読み込み速度が著しく低下したり、リトライがかかったりするものがあり、割と面倒です。

最近バーンスタインのマーラーやブラームスの箱物をリッピングしようと思いついて棚から出してきたのですが、試しにダウンロード販売の価格を覗いてみたところ、マーラー全集は€ 43.99 (Flac) となっていています。

グラモフォンのダウンロード販売はどうなのか?という好奇心で購入することにしました。

途中、かごに入れたはずのアイテムが消えてしまっていたり、専用のダウンローダーでダウンロードすると、やっとのことで終了した瞬間にリセットがかかって最初からダウンロードがやり直しになったり 、いろいろ挙動不審がありましたが、zipファイルを直接ダウンロードする方法でなんとかゲットできました。

平均的に700KB程度の速度で落とせましたので、十分利用できると感じました。ダウンロード販売の場合、何よりアルバムアートワークに純正の綺麗なオリジナル画像が手に入るというのがうれしいところでもあります(wavに変換して聴く分にはアートワークなんて関係ありませんが)。

ところで、バーンスタインのマーラー全集はCD1枚分の全タイトルがフォルダ1つに分割されて圧縮されているから問題ないのですが、調子に乗って購入した同じくバーンスタインのブラームス全集では、なぜかすべてのトラックがフォルダ1つにまとめられており、解凍後にタイトル名が共通の第2番、4番の第1楽章のうち、第2楽章の方が見つかりませんでした。

想像するに、圧縮の際に同一ファイル名ということで第4番の方で上書きされてしまったのではないかと思います。一応連絡しておきましたが、今のところ返事をもらっていません。

DAC基板

久しぶりに規模が小さいDAC基板を作ってみました。正確には、少し前に製造したまま、忙しさにまぎれて放置していた基板に部品を実装して音出しをしてみました。

この基板は、できるだけ部品を少なくして簡単に作れるような構成としましたので、ずいぶんと楽に組み立てることができました。オペアンプも2個入りタイプ用の回路としていて、アートワークも左右対称レイアウトになっています。DAC ICは0.65mmピッチなので半田付けは少々しんどいですが、それ以外のパーツは楽勝です。
今回の基板の一番の特徴は、アイソレータICを入れて、Gndを含めたデジタルオーディオ入力信号をUSB基板側から絶縁できるようにしてみたことです

そのアイソレータにはアナログデバイセズのADUM1400というデバイスを使ってみました。基板の回路はこんな感じになっています。ADUM1400の入力側の3.3V電源は、USB基板側のコネクタP6の1番pinから供給します。

ちなみにDACのICはPCM1794Aですので、非常に残念ですがDSDは通りません。DSD1794Aを使ってアイソレータを入れるためには少しばかり高いハードルがあります・・・(^^;;

市販の高級SACDプレーヤーで、TIのこの系統のDAC ICをシングルで使っている機種に、LuxmanのD-05などがありますが、いずれも実力機で、DACチップがシングルだからといって決して侮れないのも確かです。
以前秋葉原のテレオンさんで、D-05と某社のPCM1792Aダブル使いのSACDプレーヤーを比較視聴した時に、明らかにD-05に軍配が上がったと感じたこともありました。

フィルムコンデンサについては、アムトランスさんから出ている黒いポリプロピレンタイプが、個人客にも購入できるようになっていましたので、今回はこれを使ってみました。なんとなくLuxmanのD-0xシリーズに使われているものと同じコンデンサではないかという気がしています・・・。

あと、個人的に、このDAC ICのアナログ電源用のパスコンには、容量の大きなものを使うと中低域に力が出てくるように感じていたので、220uFと比較的大きなOS根を植えてみました。

ジャックは基板直出しタイプにしました。なんでもYAMAHAの2000シリーズに使われているのと同じタイプのジャックのようで、結構高級感があります。

アイソレータの効果については慎重に評価する必要があると思いますが、全体として結構いい音が出ています。いろいろと突っ込みが入りそうな個所も多々あるとは思いますが、たまに部品に拘ってDAC基板を作ってみるのも、自作の原点に戻ったようで本当に楽しいですね。

 

ネットワーク・オーディオ

USB AUDIOはデスクトップ・オーディオとの相性が非常に良いと日々感じておりますが、リスニングルームの中でコンベンショナルな従来のオーディオシステムに組み入れるとなると、リモコンが無いので少し選曲が面倒だという弱点があるようです。プリやトラポをリスニングポイントの正前直前に置いて操作する場合にはそこにPCを置けばよいので問題ありませんが、SPの間や部屋の側面に機器を集中配置している場合にはやはり少しばかり不便です。

なんて書くとアナログプレーヤをお使いの方にお叱りを受けるかもしれません。少し前までアンプのボリュームもわざわざ立ち上がって回しに行ったものですが、最近はそれもリモコンでできるのですよね。レコードを聴かないと横着に慣れっこになって体に良くないとは思っています。

ということでもないのですが、新しいNASを取り寄せてみました。QNAPのTS-119という機種です。PCオーディオ系の雑誌では結構有名です。なんといってもLINNのDSではこれが推奨されています。これにIntelの120GBで19,800円のSSDを組み込んでみました。

ただ、NASというのは結構設定がややこしく、PCやネットワークに慣れていないオーディオ・ファンにとっては結構難関で、ネットワークオーディオを始めるための第一の関門といったところかもしれません。

このTS-119にしても、ルータの内側であらかじめ運用している家庭内LANのサブネットが、TS-119のデフォルト設定と異なっていたりした場合、設定ができずに最初からつまずいてしまいます。そういった場合には、空いているPCのIPアドレスをTS-119のデフォルト・サブネットに合わせた上でTS-119にピア to ピアで繋ぎ、基本的な設定を済ませた後でサブネットを運用中のLANのサブネットに変更してから組み入れる、などの対処が必要になります。

とにかくTS-119を設置し、メディアサーバーである “TwonkyMedia” を立ち上げてみました。そしてiPadをDMC(デジタル・メディア・コントローラ)にすべく、App Storeから”PlugPlayer”を購入しました。iPadはWiFiでネットワークに接続しておく必要があります。

やりたいことは、DMS(デジタル・メディア・サーバー)であるTS-119(のTwonkyMedia)からDMR(デジタル・メディア・レンダラー)であるPC+USB DACへメディアファイル(この場合はFlacファイル)を転送し、USB DACで音楽を鳴らすこと、その制御リモコンとしてDMCであるiPadを使う、ということです。要はDSやネットワークプレーヤを使っているような気になりたい、ということです。
これができればリスニングポイントから立ち上がらずに選曲が可能になるぞ!という横着心がそうさせています。

Foobar2000は、UPnP用のdllを所定の場所に入れておくと、メディアサーバーやメディアレンダラーにすることができるようです。本来はFoobar2000の入ったPCをメディアレンダラー+メディアサーバーにするのが普通なのかもしれませんが、NASをサーバーにすれば、PC側はハードディスクレスのネットブックでも運用できる可能性がありますので、今回はその構成でやってみました。

 

Foobar2000のFile->Preferencesを開き、赤丸で囲んだ部分をTS-119のIPアドレスとTwonkyMediaのポート番号に変更します。

次に、iPadにインストールしたPlugPlayerを実行し、メディアサーバーとしてTwonkyMediaを選択、メディアレンダラーとしてfoorbar2000を選択します。

 下の欄の”Browse”でアルバムを選択し、”Playlists”から選曲して再生します。

サーバー上のFlacファイルに埋め込んだアルバムジャケットも、DMCであるiPad上のPlugPlayerから拝むことができています。
Foobar2000上ではプレイリストは空ですが、タイトルバーに再生中の曲が表示されて、USB DUAL AUDIO基板を組み込んだDACから無事に音が出ています。予想通りiPadが(重い)リモコンになりました。

気になることとしては、iPad上に表示されるプレイリストのデフォルトがアルファベット順になっており、トラック番号順になっていない、ということがあります。Flacファイルにトラック番号もタグとして埋め込みましたので、きちんとアルバムの曲順になって欲しいのですが、現状は手作業でプレイリストを編集するしかなさそうです。何か良い方法があるのでしょうか?
12/2追記:NAS上のメディアフォルダの階層構造を少し変えてみた結果、理由が良く分からないのですが、”Browse”から “アルバム” を選択すると、普通に曲がトラック番号順に並ぶようになりました。極端なことを言えば、Flacの場合、アルバム名、トラック番号・・・、とタグに埋め込んでいるので、サーバーのrootにコレクションの全ファイルを放り込んでも、向こうで勝手に(しっかりと)分類してくれるハズですよね、フォルダ別に管理しなくても・・・。

あと、PCではなくMacで同じようなことがしたいのですが、適当なソフトは無いものでしょうか。 

iPadのUSB Audio その2

今度はiPadをClass2.0対応のROMで動かした時の192kHz出力の挙動をもう一度調べてみました。まずはUSB DUAL AUDIO基板のS/PDIF出力をRMEのサウンドカードへ入力してFFTを見てみました。

残念ながら192kHzもローレベルは出ていません。やはり下位8bitはnull (ゼロで置き換え) データで来ているのでしょう。
今回はアナライザーでUSBのアイソクロナス・パケットもチェックしてみました。

24bitのファイルを再生していますから、24bit全部が有効な値で来てほしいところですが、下位の1バイトが0になっています。
FLAC Player以外にもHiFi用アプリがあれば、そちらでも確認してみたいところですが、いずれにしても次のVer. upに期待することにします。

iPadのUSB出力

カメラコネクション・キットというアクセサリーがあれば、iPadのUSBホスト機能を使うことができます。USB DUAL AUDIO基板に繋いで標準AUDIOクラスによる再生ができますので、まずはbitパーフェクトかどうかを調べてみました。

1kHz正弦波のflacファイル(24bit/88.2kHz)を用意して、Flac Playerへ登録してUSB DUAL AUDIO基板から再生してみました。そのS/PDIF出力を別のSoundカードに入力して調べた結果です。

bitパーフェクトどころではありませんね。ローレベルの情報が表現できていません。どうしたものかと思い、ネットを検索したところ、iOS4.2によってiPadで使えるようになったUSB DACではありますが、どうやら24bitのファイルを再生しても16bit分の情報しかiPadから出てこないようです。

ハードウェア的には24bit分の器を使ってiPadからデータが送られてきている様ですが(SUB SLOT=24bit)、そのソースが24bitにもかかわらず、下位8bitが切り捨てられてゼロに置き換えられて送られている、というような情報が上記サイト上にありました。

事の真偽はUSBのパケットアナライザを見れば一目瞭然ですが、上のFFTを見る限り、その通りであると思われます。ホスト側(iPad)のUSBコントローラICのハード的な制限、ということはまず考えられませんので、Flac Playerか、iOSに原因があることになります。

実は、USB DUAL AUDIO基板にAUDIO Class2.0のファームを載せて再生すると、iPadからなんと192kHzのflacファイルも192kHzで出力してくれるだけに、なんともちぐはぐで残念です。が、たぶんこの辺は時間が解決してくれるでしょう。iOS4.3のリリースを大いに期待して待つことにします。