データレコーダーのエミュレータを作ってみた (その5)

  • 2011/09/11(日) 22:06:26

前回の続きです。
「きちんとwav化されていればPWM出力を音量調節するだけで、データレコーダーを置き換えることができる」
というところまでわかりましたが、「きちんとしたwav化」というところが問題です。
どのようにwav形式へ変換するとよいのかをいろいろと検証してみました。

まずは既存のエミュレータで使用できる形式のデータ(t88やcmtファイル)を変換した場合、全くエラーなく読み込めることがわかりました。
使用したのは、HAL_8999氏作成のPC-8001を基本としたエミュレータ「j80」周辺ツールとして公開されている「pcm8001」です。

簡単に使い方を記載しますと、
1.pcm8001を起動。
2.t88などのテープイメージを読み込み。
3.出力の設定をちょっとだけ変更する
#「Default」の中でbaud rateが変更できます。PC-8001のイメージなら600で、PC-8801なら1200など機種、もとのテープによって変更です。
#Configureは特に変更せずにOKでした。「SquareWave(Alt)」「Sample Rate 48000Hz」「Play Speed 100%」です。
4.「File」-「Save As」で保存。

できたwavファイルを「SoundEngine Free」で確認してみると、こんな感じ。

#HAL_8999氏にお伺いしたところ、サイン波3波の合成で作成されているとのことでした。
ちなみに

サイン波の合成ではなく純粋に矩形波として出力するとこれ。


サイン波としての出力はこれ。

「SoundEngine Free」の説明は基本的に割愛しますが、このソフトを用いた場合の推奨される録音音量は右の録音レベルで言う黄色のところ(-3dB〜-6dB)です。
「pcm8001」の出力と比較してみると、-3dBほどで録音し、多少の波形の歪みは-1.5dB以下になる程度で録音でしょうか?
#この「SoundEngine Free」の波形っていったい何なのか?という疑問は残ります。
#これってなんですか?知っている方、お願いします。

でも、これ、PC上でのwavファイルでの問題なので、実際のデータレコーダーで出力されるものや、csaveなどでセーブされる時の出力がどうなっているのか?とはあんまり関係ないような気がしました。

結 局のところ「AVRからの出力」ということろで音量など規定されてしまっていますので、wav化には 「クリッピングが発生しない」「音量が小さすぎない(SoundEngineFreeで黄色未満にならない程度)」「ノイズがない(もしくは少ない)もの が望ましい」で大丈夫と思います。
ただしAVRからの出力先にアンプを用意して、実際のデータレコーダーの出力と同等にする必要があると考えられたので、前回のようなアンプを追加することで、問題なくロードできることが確認できました。

では実際のデータレコーダーからの出力がどの程度なのか?というとこです。
私の環境ではVUメーターなどすぐに用意できないので、とりあえず実機でエラーが出ずにロードできた状態の音量でデータレコーダーからの入力を一定のマイクボリュームでwavに保存してみました。

安いサウンドカード、「Sound Blaster 5.1 VX」で録音しました。ライン入力でボリュームはほぼ最大です。
使用したテープはPC-8001、PC-8801、MSXのものです。

まずは三洋電機

次にNEC

最後、富士通です。

おまけとしてPIONEERの音楽用プレイヤー

すべて同じテープ(MSXのハイドライド)を再生していますが、データレコーダーは矩形波で出力されています。
音楽用のプレイヤーは聴覚上の波形を意識して作られていると思われるので、綺麗な波形ではあるのですが、これでPC上で読み込めるか?という問題があると思います。
なので、wav化する際はデータレコーダーを使用することが必要と思われます。

三洋電機のデータレコーダーがもっともエラーが少ないので、こちらからwavにしたものを再生させて、AVRの出力を見た物がこれ。


波形にはノイズが乗ってしまい、音量も録音時から-3dB以上小さくなってしまっていました。
#どうしてこれで600ボーのPC-8001は大丈夫なんだろう?
ということで、アンプとフィルターを使って調整してみました。
その波形がこちら。

ほとんど三洋電機のデータレコーダーと遜色なく、この状態でエラーなく読み込みが可能でした。

ということで、もとのテープの状態が良い場合は
「クリッピングが発生しない」
「音量が小さすぎない(SoundEngineFreeで黄色未満にならない程度)」
「ノイズがない(もしくは少ない)もの が望ましい」
で問題なくロード可能だったのが前回までの回路で確認できました。
ではちょっと問題ある場合はどうでしょう?

続きを読む

データレコーダーのエミュレータを作ってみた (その4)

  • 2011/09/04(日) 21:42:48

またも時間が空いてしまいました。
データレコーダーのエミュレータ試作中、その後です。
前回の最後にちょろっと記載しましたが、出力の先にアンプを付けてみました。
回路図はこんな感じ。


アンプとしてはNJM386を利用し、アンプ部の回路図はほぼデータシート通りです。
またアンプ回路部分には5Vを供給し、AVRとSDは3.3V動作なので、3端子レギュレータにて5Vから3.3Vを作成しています。
5VはACアダプターやPC用の電源などから簡単に取れますので適当に。
#あんまり怪しい5Vだとアンプ部分なのでいまいちかもしれません。
この辺のパーツは秋月で簡単に購入できます。

前回まで単3電池2本で動作させていましたが、今回のものはDC5Vを必要とするようにしてしまいました。
電池電源でもある程度の電圧があれば問題なく動作します。
#単3を4本で6Vにしてしまうとか。
ただ、今後キャラクターLCDを付けて再生中のファイル名を表示したり、レベルメーターをつけたりしたいと思っているのでこのような回路にしました。
作成される方は自分の使用環境に合わせていろいろと試してください。

んで、できたのがこちら。

音量の関係でダメだったPC-8801やMSXをやってみます。

続きを読む