I2Sのクロックぶれ(ジッタ)を解消したRaspberryPiカーネル
先日の記事では、中途半端になってしまったので、改めて、このドライバ設定を発見されたほーりーさんのVolumio改を試してみました。
NASにデータを入れて、iOSソフトの 「n-Track Tuner」を使って計測しました。
元の状態では「999.99~1000.02Hz」とほぼ正確な値を表示していました。 なかなか正確なようです。
それを踏まえて、いよいよMASH オフのドライバです。
使ったのはRaspberryPi 2 model Bです。
あれれ? 44.1kHzのとき0.66%高速。 それ以外だと1.7%高速なようです。
楽器をかじったことがある人には感覚的に判りやすい440Hzで試すと
440が442.9までずれると、違いを感じ取れる人はいると思います。
そして447.6までずれたら、絶対音感を持った人なら拒否反応を示すんじゃないでしょうか。
この結果をどうとらえるか。 RaspberryPi 2だと、こうなる。 ということなのかもしれません。 Raspberry Pi Model B+やBならもっと実用的なのかもしれません。
再生速度が速くなることの弊害は、WEBRADIOで顕著に現われます。 WEBRADIOはホンの数秒のバッファだけ溜め込んで再生を開始しますが、これが足りなくなってしまいます。
ちなみに、私は絶対音感を持っていないので、44.1kHzのデータだと殆ど違和感を感じません。 わずかにテンポが速いかなっと思う曲があるという程度。
音質の違いは、ぜひ聴いてみてください。
個人的な意見としては、気に入りました。 音が澄んでいるのに濃い。そして心地よい。
ほーりーさんのvolumio改は、WEB-UIからMASHのON/OFFを選択できる(reboot必要)のでLinuxの知識ゼロでも簡単に切り替えできる点も素晴らしいです。
そしてLCDには曲の時間経過も表示するんですね。 グッドアイデアです。 停止中はIPアドレスを表示しているので迷子にもならない。
ちょっとした工夫で、こんなにも見栄えが変わるんですね。 大変勉強になりました。
にほんブログ村
ブログランキングに参加中です。 めざせ1位!
もしよろしければ「ぽちっと」お願いします。
« トランジスタ技術 2015年9月号 フォロー | トップページ | MPD(Music Player Daemon)とは いったい何ができるソフト? »
「Raspberry Pi」カテゴリの記事
- MotionEyeと余っているラズパイで監視カメラ(2024.11.21)
- 秋の夜長にはRaspberryPi5 RT-linux セルフビルド(2024.10.13)
- 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル(2024.10.10)
- RaspberryPi 5 の公式OSは32bit版でも64bit?(2024.10.09)
- 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド (2024.10.07)
コメント
« トランジスタ技術 2015年9月号 フォロー | トップページ | MPD(Music Player Daemon)とは いったい何ができるソフト? »
たかじんさん
>個人的な意見としては、気に入りました。 音が澄んでいるのに濃い。そして心地よい。
ほーりーさんも言及されてますが、コンパイルの際のKernel ConfigにRuneAudioのものを使っているのが効いているのではと思います。
この環境ファイルの違いで音も変化してくるのですから、摩訶不思議な世界でもありますね(^^;
投稿: えふ | 2015年8月11日 (火) 20時21分
たかじんさん、お久ぶりです。
記事を見てさっそくLightmpdでも聴き比べてみました。
192Hzだと、一聴してわかりますね。。何せ1/4音強違うわけですから、半音が100セントなので、30セント近く違うとやはり気持ちわるいですね、44.1で聞くのが限界でしょうかね。。。
投稿: mamo | 2015年8月11日 (火) 23時05分
たかじんさん
Volumioでの測定ご苦労様でした。
私が測定したlightmpdの時とほぼ同じ周波数ですが、アップサンプリングしての測定でしょうか。lightmpdの作者様に解説をしていただきましたが、その通りになっているようです。
ところで、lightmpdの作者様にお願いして、MASHオフで周波数が下がる方に整数割り算をしたカーネルを作っていただきました。
こちらのズレは相対的に大きくなります。聞いた感じでは周波数が下がることで、落ち着いた音か、と思いましたが、大げさに言えば、生き生きとした感じがなくなり、死んだ音になったと感じました。
ただし、私が先入観でそう感じているだけかもしれないので、耳の良い人に「ブラインドテスト」してもらいたいと思っています。
ところで、私のRaspberryPiモデルBは、1000Hzが、1000.03Hzとほんの少し周波数が上がるのですが(Pi2は正確に1000Hzです)これはハードのクロックずれなのでしょうか。
それから、これも気になっていたことなのですが、ジッター対策なしのものは、ジッターといって良いかわからないくらい大きな周波数の「ゆらぎ」が測定されました。I2SかUSBかという以前に、これが音を濁らせる原因ではないかとい思っています。
投稿: Jiro | 2015年8月11日 (火) 23時08分
興味深い記事です。
カラヤン、ベルリンフィルは444Hzだったと思うので、音程に関してはなんとか許容範囲かも(笑)
これらは、リクロックなどとの関係性ってどうなるんでしょうか?
詳しいことがよくわかっていないのですが。
投稿: mr_osamin | 2015年8月12日 (水) 15時20分
えふさん
> コンパイルの際のKernel ConfigにRuneAudioのものを使っているのが効いているのでは
なるほど、そういう部分もあるのかもしれませんね。 もとのvolumioのフワっと広がる音もヘッドホンで聴くとよかったりもしたのですが。。。
mamo さん
> 何せ1/4音強違うわけですから、半音が100セントなので、30セント近く違うとやはり気持ちわるい
楽器をやっている人だと、おっしゃる通りと思います。 キーピッチもそうですが、演奏がめちゃ走っている。 聴きなれた歌は別ものに感じます。
Jiro さん
アップサンプリングはディセーブルです。 もしかしてと思って再度確認しましたが、やっぱりディセーブルです。
ジッターの有無ではなく、再生速度での音質変化も大変興味深いです。
理論的には、再生速度が増すとサンプリング間隔が短くなるので密度は濃くなりますしね。
もしかしたらMASHをONのまま0.6%高速版、とで比較したほうが良いのかもしれません。
> ジッター対策なしのものは、ジッターといって良いかわからないくらい大きな周波数の「ゆらぎ」が測定されました。
なるほど。 私のところでは1kHzをオシロで観測している限り、そんなに目立つゆらぎは見えないです。
mr_osamin さん
お詳しいですね。さすがです。 ヨーロッパのオケは高いオケと低いオケとがあるようですね。 N響は442にしていると誰かに聞いたことあります。 弦楽はビブラートしている
ことが多いので、素人が聴いくだけなら、あまり気にならないかもしれませんね。
でも、444がさらに1.7%upするとどうなのでしょう?
投稿: たかじん | 2015年8月12日 (水) 21時14分
たかじんさん。こんばんは。
私も、ほーりーさんのvolumio改の音は気に入ったのですが、・・・
コルグの”A=440? A=442?” (https://www.korg.co.jp/SoundMakeup/Seminar/tuning_basics/2/p2.html)に書かれているとおり同じ音楽なら少々高い基準ピッチで演奏した方が華やかに聞こえるといったことも書かれており(その通り)、アメリカのオケはピッチはかたくなに440を守り、ヨーロッパのオケは444以上であることも多いとのことですので、なかなか難しいも問題が含まれているような気がしております。
投稿: knkn59 | 2015年8月17日 (月) 22時10分
knkn59さん
オケのチューニングとして、高めのチューニングで華やかさが増すというのは、私も、先日調べて初めて知りました。 どちらかというと、アメリカのオケの方が明るく派手な演奏が多いような気がしていたので。。。 ロサンゼルスフィルとかニューヨークフィルとか。
あくまでも同じ楽器で「高めにチューニングすると」という意味かなって思っています。 弦をより強く張ることになりますからね。
録音されたものを、高速再生して同じ効果がでるかどうかは、なんともわかりません。
投稿: たかじん | 2015年8月18日 (火) 20時34分
ご存じかと思いますが、古楽器ですと415Hzなので半音近く違いますね。
>弦をより強く張ることになりますからね。
楽器の性能が上がったことで可能になったとも聞きました。
投稿: mr | 2015年8月20日 (木) 21時37分
nzatoです
NASの設定で苦労しました。
Volumio1.4で問題なく使えていた環境が認識しません。
mount error(13): Permission denied Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
lightMPDの時に解決した、 オプション sec=ntlmv2 を追加方法を試しました。
Volumio NASの設定 advanced option の中にある
Mount flags
ro,dir_mode=0777,file_mode=0777 の前に
sec=ntlmv2,ro,dir_mode=0777,file_mode=0777 と書き込むと
無事に認識し使えるようになりました。
古いBUFFALO LS-GLシリーズ で cifs接続できます
加わっている機能
>Wave ファイルの ID タグが S-JIS でも正しく読める
これすごいです。
投稿: nzato | 2015年8月21日 (金) 22時10分
mrさん
> 楽器の性能が上がったことで可能になったとも聞きました。
そうなんですか。 知りませんでした。 基準音が段々高くなった背景にはそういうこともあったんですね。
nzato さん
buffaloのNASは、たびたび接続問題が発生しますね。 無事に接続できて良かったです。 有用な情報ありがとうございます。
>Wave ファイルの ID タグが S-JIS でも正しく読める
これは朗報ですね。
投稿: たかじん | 2015年8月22日 (土) 14時11分
素朴な疑問なんですが、RPiから取り出したクロック(MLCK)をSRCを通して外部クロックを入力してあげれば、これらのジッターはなくなると思っていいのでしょうか?
投稿: mr_osamin | 2015年8月23日 (日) 13時22分
>RPiから取り出したクロック(MLCK)
BCLKの誤りです、すみません。
投稿: mr_osamin | 2015年8月23日 (日) 13時24分
mr_osamin さん
https://nw-electric.way-nifty.com/blog/2013/10/post-0419.html
こちらに書いた通りだと思います。
いったんメモリにでも貯めこまないかぎり影響は断ち切れないというのが私の考えです。 クロック自体からはジッターがなくなるといいますか、新規でマスターにしたクロック精度になると思います。
どちらかというと、ジッタークリーナーの方がジッターのみを低減するという意味で効果があるように思います。
投稿: たかじん | 2015年8月26日 (水) 23時00分
たかじんさん、お久しぶりです。
しつこいようですが(笑)追加質問です。
「I2Sのクロックぶれ(ジッタ)を解消したRaspberryPiカーネル」を使ったRPiの出力にSRCを組み合わせた場合、
基本的にはRPiのクロックとは非同期のクロックが出力されると思うのですが、その場合SRC側のクロックが限りなく正確だとして、正常なテンポで再生されるのでしょうか?
投稿: mr_osamin | 2015年9月21日 (月) 21時17分
mr_osamin さん
> その場合SRC側のクロックが限りなく正確だとして、正常なテンポで再生されるのでしょうか?
それは、ないです。
再生速度が遅い場合、例えば1/2速度で再生している音楽を、SRCを通したら原音の再生速度になる。 時間で言うと、5分の曲を10分かけて低速再生しているのに、SRC後は、先読みで5分間で再生を終えている。 これができたらタイムマシンですね。
SRCの仕事をイメージ化すると、いちどD/A変換して、正確なクロック(例えば48.0000kHz)でA/D変換してデジタルに戻しているような感じで捉えると良いと思います。
もっと乱雑に例えると、のびのびのカセットテープを再生してスピーカーから出たヘロヘロ音を、正確なマスタークロック搭載のデジタル録音機で録音すると、テープが伸びる前の正確な再生音として録音できているのか? もしくはSRC搭載の録音機で録音したらテープが伸びる前の音を取り戻せるのか?
残念ながら、そんなことは現実には起こりません。
投稿: たかじん | 2015年9月21日 (月) 22時23分
たかじんさん
わかりやすい解説ありがとうございます。
こうしてみると、おバカな質問でしたねw
元のソースを再生するトランスポートから送り出された時点ですべて決まっているという話ですね。
なるほど
投稿: mr_osamin | 2015年9月26日 (土) 16時30分
mr_osamin さん
再生速度そのものが違うとか、(DJ用CDプレーヤのように)変化させた場合はどうにもならないです。
メモリバッファDACのように大容量メモリを搭載したとしても、限度はありますね。 特に再生速度が遅い場合は、すぐにバッファーアンダーランがおきます。
投稿: たかじん | 2015年9月27日 (日) 07時51分