Discrete Floaoutの仕様
Section: Music

Discrete Floaoutがどのようなフォーマットであるか詳しく紹介していきます。仕様は最新ではなく、こちらに従っています。

Discrete Floaoutとは

Floaoutフォーマットの種類の一つです。

特徴

大きな特徴として、イマーシブサウンドの実現にBubble Fieldを用いる離散型であることです。

連続型にないメリット

  • 作成者の意図するパラメータを楽に設定できる
  • 多くの計算を必要としない

デメリット

  • ファイルサイズの増大
  • パラメータを位置サンプルごとに設定しなければならない

仕様

Bubbleフォーマット、Floaoutフォーマットの順に説明していきます。

音の波形データとイマーシブサウンドなどの音源に関する情報を含んだBubbleというフォーマットが複数集まり、曲として完成したものがFloaoutというフォーマットになります。

Bubble

下記の図のように、Bubbleは主にメタデータ、各Bubble Blockの1つの楽器や音源のみの波形データとBubble Fieldの情報で成り立っています。

Bubble ID

Bubble IDは、リミックスやDJをする際の著作権問題を解決します。ここに書かれているデータは単なる16バイトの数値なのですが、この数値は私が管理するサーバーの情報とリンクしています。そのサーバーには、元のアーティストが指定したリミックスやDJに対する使用条件の情報があり、それに応じてリミックスやDJをする方々が使用料等を支払う仕組みになっています。"0"の場合は、リンクされていないことを意味します。

Length・Width・Height

これらのデータは、Bubble Fieldの長さ、幅、高さの情報です。大きさは2^nで表され、これらのデータはnの部分になります。

Red・Green・Blue

これらのデータは、Bubble Fieldの要素の大きさも加え、RGBAの色にして、音を可視化させるときに使用します。

Blocks

Blocksは、含まれているBubble Block数を表しています。Bubble Blockは、Waveform DataBubble Fieldから成り立ちます。

Name

Bubbleの名前です。どのような音であるかわかりやすくするために使用します。

Overall

Overallは、Bubble Fieldの概要です。一目見てBubble Fieldのどの部分にどのくらい音が鳴っているかわかるようにします。

Waveform Data

Waveform Dataは、音の波形データです。この波形データのビット深度は、音の音量等を操作するため、32-bit floatまたは64-bit floatのみに対応しています。

Bubble Field

Bubble Fieldは、指定されたLength・Width・Heightで3次元空間を分割し、分割された要素ごとにおける波形データの音量情報です。3次元空間の最外殻のみではなく、内側にも要素が存在する、他のフォーマットにはない特有の情報です。

上記の図の例では、Lengthが1、Widthが1、Heightが1のBubble Fieldです。それぞれの要素は1バイトの0~255の数値になっており、要素の値が255である場合は、その位置にあるスピーカーに、波形データを最大音量で鳴らします。

Floaout

下記の図のように、Floaoutは主にメタデータと含まれているBubbleのメタデータ、各Floaout Blockに含まれるBubble Blockの情報で成り立っています。このフォーマット特有の情報について説明します。

Song ID

Song IDは、私が管理するサーバーの情報とリンクし、作品のタイトルやアーティスト名から歌詞や画像までの様々な曲情報を得ることができます。ファイル自体にそのような情報が含まれていないため、ミュージックビデオや曲の時間と連動した歌詞など、順次情報を追加や変更が可能です。"0"の場合は、リンクされていないことを意味します。

Bubbles

Bubblesは、Floaoutに含まれるBubble数を表しています。

Blocks

Blocksは、含まれているFloaout Block数を表しています。Floaout Blockは、複数のBubble BlockCRC-32Cから成り立ちます。

Title・Artist

これらのデータは、作品のタイトルとアーティスト名です。

CRC-32C

CRC-32Cは、誤り検出符号の一種です。データの範囲は、以前のCRC-32Cから直前までです。(はじめを除く)