Wav2bin
のデータ変換方法
MZテープフォーマット(インフォメーションブロック)
0 |
22000回(始まりのピーです) |
1 |
40回 |
0 |
40回 |
1 |
1回 |
128Byte |
インフォメーション |
2Byte |
チェックサム(インフォメーション128Byte中の1の数) |
1 |
1 |
0 |
256 |
128Byte |
インフォメーション |
2Byte |
チェックサム(インフォメーション128Byte中の1の数) |
1 |
1回 |
インフォメーション128Byteの詳細
1Byte |
属性() |
16Byte |
ファイルネーム |
1Byte |
0Dh |
2Byte |
データサイズ |
2Byte |
先頭アドレス |
2Byte |
実行アドレス |
104Byte |
未使用 |
MZテープフォーマット(データブロック)
0 |
11000回(始まりのピーです) |
1 |
20回 |
0 |
20回 |
1 |
1回 |
X Byte |
データ |
2Byte |
チェックサム(データX Byte中の1の数) |
1 |
1 |
0 |
256 |
X Byte |
データ |
2Byte |
チェックサム(データX Byte中の1の数) |
1 |
1回 |
1バイトは、こんな形で記録されています。
Wav2binでは、波形の幅を調べて1/0の判断を行ってバイナリに変換しています。
読み込み可能なファイルは、8Bit Mono リニアPCM のWavファイルです。
始めに入っている1と0の連続ブロックでそれぞれの平均幅を測定して
その値との比較で、1か0かの判定をします。
実際はこんな波形で入っているはずです。
(ちょっとレベルオーバーに近いですが)
このように、波形が歪んで1と0のレベルに差がある場合は
全ピークに跨がるスレッショルドを設定しないとカウントミスが発生してしまいます。
更新履歴
(2002/4/29 インフォメーション128Byteの詳細を追加)