さあて、「ガリバー旅行記」において、リリパット国とブレフスキュ国の争いの起こりは、卵のどちらの端(大きい方か細い方か)を割って食べるか、でした。
大きい方の端を割って食べる人は、ビッグ・エンディアンBig-Endiansと呼ばれるのです。
こんな話が思い出されたのは、お友達ブログをたまたま覗いていたら、DSD音楽ファイルの、DSDIFF(.DFF)、DSF(.DSF)、WSD(.WSD)という3つのファイル形式が話題となっていたからです。
この中で、DSDIFFとWSDはビッグ・エンディアン・フォーマットであり、DSFはリトル・エンディアン・フォーマットなのだそうであります。
はぁ、ビッグ・エンディアンとリトル・エンディアンかぁ。
時代は1990年代の初め頃まで遡ります。当時AppleのMacは飛ぶ鳥を落とす勢い、漢字Talk6.0.7(OS)を搭載して、日本語処理にも抜かりはなく、Windows3.1を擁するMicrosoft陣営を圧倒しておりました。
なんといっても、ユーザー・インターフェースの出来に関して、Windows3.1は全くMacの敵ではありませんでした。みっちも当然のように、デスクトップにはMacintosh IIci、ノートパソコンにはPowerBook170を使って、TrueTypeの美しい文字印刷を満喫しておりました。この頃のMacのCPUはモトローラの68000シリーズ、Microsoftはもちろんインテルの8086シリーズでありました。そして、68000はビッグ・エンディアン、8086はリトル・エンディアンであったわけであります。(エンディアネスの説明は記事末尾のふろくを参照ください)まあ、パソコンがネットに繋がるようになり、そろそろ力を持ち出した勃興期でありました。(笑)
その後、Macに鳴り物入りで登場した新OSのシステム7は、さっぱりパッとせず、一方Microsoftは、十分Macに対抗できる新OS、Windows95を発表して、一気に追いすがります。
またMicrosoftは、DEC社のデヴィッド・カトラーらを引き抜き、このとき盟友であったIBMをも裏切って(割りを食ったのがOS/2でありました)、密かに業務用OSのWindowsNTの開発を進め、Appleに圧倒的な差をつけはじめます。みっちもやがてAppleを見限って、全Mac機器を売却して、Windows機に乗り換えたのでありました。その後も、Appleは新OSのCoplandが失敗に終わり、危機的状況に陥ります。
あの頃、誰しもAppleはもう駄目になった、と思いましたね。それが、スティーブ・ジョブズの復活とiPod発売によって、一気に盛り返すのです。まあ、OSは古く良きUnixベースになっちゃいましたが。かくして、世の中の全てのOSはWindowsNT系(今のWindows10もそう)と、Unix系(Linux含む)に2分されることになったわけです。
とまあ、ビッグ・エンディアンというキーワードから、一挙に30年分ほどの記憶が走馬燈のように、頭の中を駆けました。コンピュータの発達は、みっちの人生の重要部分を占めたのを実感いたします。
さてと、話は何だったっけ?、そうだ、DSDのファイル・フォーマットの話でした。(笑)
DSDIFF(.DFF):(Direct Stream Digital Interchange File Format)
これはスーパー・オーディオCD(SACD)を作るために、DSD用の新ファイル・フォーマットが必要になって、Philipsが策定した規格です。もともと業務用という位置づけのよう。圧縮形式も使えるんですね。
タグもあるのですが、独自形式とのこと。
DSF(.DSF):(DSD Stream File)
Sonyが民生用にDSDで録音したデータをメディア(DVD)に焼けるように策定した規格。
ID3v2.3のタグをサポートしているのが特長。
WSD(.WSD):(Wideband Single-bit Data)
1ビット・オーディオ・コンソーシアム(早稲田大学、シャープ、 パイオニア)が策定した規格。同コンソーシアムはすでに「収束」しており、あまり使われている様子もないので、将来性はなさそうです。このフォーマットをサポートしているソフトは、KORGのAudioGate4くらいのようです。
ちなみに、
ここにある資料は、どなたが書かれたのか存じませんが、とても分かりやすく説明して、お薦めです。DSD全般およびDSDファイル・フォーマットについて、実例にもとづき、具体的に説明されています。
ふろく:ビッグ・エンディアンとリトル・エンディアン
これって、呼び方が面白いだけで、難しい話では全然ないです。
「複数バイトのデータを並べるときの並び順」のことです。例えば4バイト(32ビット)で一組のデータを使うとしましょう。それを並べるのに、大きい順と小さい順の2種類があるという、とても当たり前の話なのです。
4バイトデータを例えば、(1A、01、AF、25)とします。16進数表現です。このとき、1Aが最上位の桁で、25が最下位の桁とします。
ビッグ・エンディアンでは、これを(1A、01、AF、25)と並べます。
リトル・エンディアンでは、これを(25、AF、01、1A)と並べます。ただそれだけ。(笑)