このユーザーをお気に入りに登録する
うつみさん 確かア… by YongJoon
Yong Joonさ… by うつみくん
うつみさん、コメント… by YongJoon
NODEはスイッチン… by うつみくん
エージング済みの金属… by YongJoon
Yong Joonさ… by ALFA1048
Nobby さんコメ… by YongJoon
Yong Joonさ… by Nobby
それは大変失礼しまし… by 元住ブレーメン
すみません、そのレベ… by YongJoon
WAVとAIFFで音が違う理由と確認
ネットプレーヤ再生で、非圧縮音源の「WAVとAIFF」で音が違う話を聞きます。その理由(個人的な推定)です。 ◆リトルエンディアン 解説はこちらです。 >数値をメモリーに書き込む際の順番(バイトオーダー)規約の一つ。 >下位→上位に数値を格納する。Intel系プロセッサー(x86)やDECのAlphaがこれを採用している。 >例えば、0x12345678をメモリーに格納した場合、8ビット毎に区切り、逆順に0x78 0x56 0x34 0x12の順でストアされる。 WAV音源はリトルエンディアンです。 ◆ビッグエンディアン 解説はこちら です。 >上位→下位と数値を格納する。Motorola系プロセッサー(MC680x0)や、ルネサスのSuperH、SunのSPARCなどがこれを採用している。 >例えば、0x12345678をメモリーに格納する場合、8ビット毎に区切り、0x12 0x34 0x56 0x78の順にストアされる。 AIFFはビッグエンディアンです。 ◆音が違う理由 Intel系プロセッサーで AIFFを再生する場合 ビッグエンディアン > リトルエンディアン に変換する処理が行われます。これがWAVとAIFFの音質の違いの理由です。 逆にいえば CPUがビッグエンディアン系であれば AIFFは変換が無く、逆にWAV音源のほうで エンディアン変換処理が 発生します。 CPUのエンディアンと、WAV/AIFFのエンディアンとの相性と思えば良いですね。 ◆PS:WAVとAIFFでどう音質が違うと感じるか?(知り合いのコメント) 知り合い3名がWAVとAIFFの音の違いを確認しています。もちろん信用しています。以下知り合いの音質コメントソースURLです。 http://mixi.jp/view_bbs.pl?comm_id=6151502&page=10&id=74465658 > [460] 2014年09月05日 15:48 >LINNユーザー(MAJIK DSM)ですが、WAVがいちばん音がいいのは、はっきり分かります。 WAV、AIFF、FLAC無圧縮の3つを聴き比べると、同じ無圧縮なのにWAVが一歩リードしてます。 AIFF、FLAC無圧縮、FLAC圧縮、アップル・ロスレスは、聴き比べてもほとんど差が分かりません(私のシステムでは)。 ただ、3つを連続して聴き比べると分かるのですが、FLAC単独でも十分にいい音なので、タグ情報の便利さを優先してFLAC無圧縮でリッピングしています。 オーディオ好きな方なら、この薄いベール1枚の差は大きなものなのでしょうが、私は音楽マニアなので(そして面倒くさがり屋)、ケーブルやセッティングやアクセサリーにも手を出していません。 ◆自宅確認 マランツNA11S1はAIFFサポートしていませんが、パイオニアN50N70がAIFFサポートしていたので、自分でもやってみました。パイオニア N50 USBメモリー再生でWAVとAIFF 比較しました。CDリッピング音源です。 接続は N50 > 同軸デジタル > NA11S1 です。 確かに違います、WAVのほうが陰影感がありますね。音の微妙な強弱が出ます。小さな違いですが、じっくり聴くと分かりますね。音源によっては分からない違いは分からないでしょう。 この音の違いを知ってしまうと、やはりうちではWAVを使いたくなりますね。 (好みの問題です。) ◆追記1 マランツのNA-11S1がサポートする?しない?という話は USBDAC以外の話です。NAS再生、USBメモリー再生にてAIFFをサポートしていません。 USBDACの場合は、接続する上位のPCの再生ソフト側でAIFFをサポートするしない という表現をします。 ◆追記2 関連する似た話です。 >中島美嘉の新ハイレゾアルバムもWAVとFlacで音が違う理由は http://community.phileweb.com/mypage/entry/3685/20141110/44948/ ◆追記3:TCP/IP通信でのエンディアン http://ja.wikipedia.org/wiki/エンディアン >TCP/IPネットワークでは、エンディアンの異なるコンピュータ間での通信を可能とするため、パケットなどに含まれる多バイトデータはビッグエンディアンに統一することと決められている。これをネットワークバイトオーダという。これに対し、それぞれのコンピュータ上でのエンディアンのことをホストバイトオーダという。 http://www.atmarkit.co.jp/ait/articles/0304/04/news001_2.html >ネットワークを通じてパケットを送信する場合、その内部にはバイナリのデータが含まれるのが普通である。例えば先にあげたIPヘッダ中にも、IPアドレスやデータ長、フラグメント・オフセットなど、さまざまなバイナリのデータ・フィールドが含まれている。これらのバイナリ・データをネットワークを使って送信する場合、その「バイト・オーダー(byte order)」をどのようにするかということはあらかじめ決めておかなければ、正しくデータをやり取りすることはできない。 TCP/IPのヘッダー情報はビッグエンディアンバイトオーダーで並べられます。ヘッダ部分のIPアドレスなどの情報はCPU機種によってエンディアン変換されますが、通信のお荷物部分は、そのまます通りします。 知人がパイオニアN30で、USBメモリー再生、NAS再生 いずれもWAVとAIFFで音が違うといっていた話と合います。 ◆PS4 「AIFF エンディアン」で検索すると yamamoto2002 さんの日記にHITしました。 http://community.phileweb.com/mypage/entry/2721/20100924/20718/ >WASAPIはリトルエンディアンなので、WAVファイルのほうが読み込み処理が軽い。 同じ BITパーフェクトデータでも エンディアンの違いで負荷が変わる実例日記ですね。
次回の日記→
←前回の日記
yamamoto2002 さん こんにちは。コメントありがとうございます。 それにしてもお詳しいですね。私が かなり昔 現役で開発していた時は リトルエンディアンCPUのみ使ってまして、あまり意識していなかったというのが正直なところです。お恥ずかしいかぎりです。 検索してHITした日記が6年近く前の2010年でびっくりしました。このころから、WAVとAIFFの処理負荷の違いを実感されていたのですね。 また色々とアドレスよろしくお願いします。
byYongJoon at2015-03-13 21:48
レスを書くにはログインする必要があります ログインする