PC-8801 カセットテープを取り込んだwavファイルを成型する


PC-8801のカセットテープをwavファイルに取り込んだとしても、CMT出力の時点で波形が腐っているためうまく読み込みできません。
そこでwavファイルの音声データそのものを修正してみることにしました。

カンサスシティスタンダードは1200Hz/2400Hzの信号で0/1を記録しています。
デジタルではLow/Highそれぞれも数値となるため、アナログ2400Hzはデジタル4800Hzとなります。
したがって、wavファイルのサンプリングレートを48000Hzとした場合、理論上は
2400Hz : 閾値より下の値が10回、閾値より上の値が10回
1200Hz : 閾値より下の値が20回、閾値より上の値が20回
となります。

ところが、実際のwavファイルの波形を見ると2400Hzが8~12回、1200Hzが17~24回と非常にばらつきがあることが判ります。
これを丁度10回/20回の固定値に出力し直すことにより、綺麗な矩形波を作ることができます。
つまり「整形」ではなく「成型」ですね。

ということで、速攻でPowerShellで成型ツールを作ってみました。
PowerShellはスクリプトなので遅いのですが、一度だけ変換する作業なので処理スピードよりも開発工数が少ない方を選びました。
実際に変換したwavファイルをSoundEngineで読み込んでみると、エッジの効いた矩形波になっていることが分かります。

それでは動作確認です。
あれだけ読み込みに苦労したPC-8801のwavファイルがすんなり起動できるようになりました。
これでテープが伸びて読み込みできなくなっても大丈夫ですね。



戻る