日記
デジタル信号処理を信じよ!
2017年11月25日
主人がジッターに殺されて1年が過ぎました。
な〜んて具合にジッターは悪者にされています。
オーディオは色々な流儀があって、どれが正しくてどれが間違っているというわけでもなく否定しあわずに楽しくやっていきたいと思ってます。で、私の流儀ですが「出来る限りデジタルで処理する」なのでmpdもsoxrでサンプリングレートを変換してパイプで繋いでチャンデバやイコライジングをするのが好きです。
しかし世の中、デジタル処理をしないでi2sでそのまま出力するのがノイズやジッターで有利だという認識みたいです。
そこでラズパイでsoxrやパイプ出力がなにか面白い使い方が出来ないか酔っ払った頭で考えてみました。
ピコーン!ジッターレス再生をやって見よう!
ということで本邦初公開(世界初公開?)の天の川流ラズパイでのジッターレス再生法です。
まずラズパイのジッターレス再生についてです。
ラズパイのI2SのクロックはPLLで作られていますが整数分の1ではないのでmashという手法で可聴帯域外のジッタと引き換えに正確な周波数を得ています。そこに着目してmashをオフにしてジッタをなくすのと引き換えに再生周波数の正確さを諦めるとう手法をほーりーさんという方が編み出しました。
実際の周波数誤差はnew_western_elecさんのwebページ http://nw-electric.way-nifty.com/blog/2015/08/i2sraspberrypi-.html に示されてます。
これを見ると96kHzサンプリングで 1000Hz が 1017.25Hz になってます。
再生の周波数は周波数は96kHzからずれて97656Hzになっている様です。
これはちょっと見過ごせない差です。
そこでリサンプリングですよ!soxrによるリサンプリングは任意の周波数で可能です。mpdの出力のフォーマット指定で97656Hzを指定すればいいのです。
ただしalsaのまま97656を指定しても97656Hzを97656Hzのまま再生しようとするので意味がありません。そこでパイプ出力を使って
audio_output {
type "pipe"
name "5102alsa"
command "aplay -r 96000 -c 2 -f S32_LE -D hw:sndrpihifiberry,0"
format "97656:32:2"
}
とすればサンプリングレート97656Hzに変換した結果をパイプで出力してaplayで96000Hzとして再生するので結果として正しい周波数で再生されます。
さてその再生音は?
すみません、ウチはチャンデバを使ったマルチアンプシステムしか無いので分かりません。Vlumioもmpdのパイプ出力が無効にされてるので使えません。
酔っぱらいの戯言ですが誰か試してみませんか?
レス一覧
-
assiさん、こんばんは。
横から失礼します。
yamamoto2002さん、こんばんは。
>ジッターによる音質劣化問題はオーディオ再生分野では既に完全に解決しているのではないかと思います。
これが事実だと素晴らしいのですが。
そうだとすれば、ES9010 DACを使えばパソコンに何を使おうと、USBケーブルに何を使おうと、CDトランスポートに何を使おうと音質は変わらない、ということでしょうか?
byミネルヴァ at2017-11-25 22:24
-
yamamoto2002さん、こんにちは。
「ジッターは少ないほうがいいだろう」くらいの認識しかありません。私の手持ちは5102AなのでESSより影響が大きいかも知れません。
ミネルヴァさん、こんにちは。
ジッターなのかノイズなのか分かりませんがトランスポートの影響はあると思ってます。JPLAYも評判が良いですが、何が違うんでしょうね。私には難しくて分かりません。
byassi at2017-11-26 12:42
-
yamamoto2002さん、こんにちは。
ご説明ありがとうございます。
ということは、DACでの変換後の波形自体には雑音が載っていないがそこにアナログ回路で拾った雑音が載る、ということですね。
CDトランスポートと本チップを使ったDACを光ケーブルでつなげば、雑音がほぼ載らないため、得られるアナログ音声はCDトランスポートや光ケーブルの違いの影響を受けなさそうですね。
byミネルヴァ at2017-11-26 17:39
-
assiさん、こんにちは。
ジッターとノイズの関係なのですが、一説には、
信号が0から1、1から0に変化する時スパイクノイズがアースラインに発生し、これがクロック信号に載ってジッターを生むそうです。
昔SOULNOTEが非同期DACを発売していました。理屈はCDからのデータを十数秒分ため込んだ後、DAC側のクロックでDA変換するため、S/PDIFで送られてくるジッター含みのクロックは使わないため、ジッターレスを謳い文句にしていましたが、ある方がクロックのジッターを計測したところ、再生中のみしっかりジッターが載っていました。この方はアースラインが分離されていないため、アースライン経由でトランスポート側のジッターが漏れてきている、と考えていましたが、ひょっとすると上記の説の可能性がありますね。
byミネルヴァ at2017-11-26 17:58