Hoontech SoundTrack128 Rubyデジタル入出力関係('98.9.19更新)

 表記サウンドカードをこの5月に入手して、色々と情報収集をし、ようやく完全なデジタル入力可能なDigital I/O Bracket IIが発売されたので、その性能をテストしてみました。 以下のデータを見ていただければわかりますように、デジタル入力に関しては、AudioPCI(ES1370)の場合と同等、.WAVファイルのデジタル出力に関しては調節が難しい(歪み特性的にも劣っている?!)、という結果になりました。


 まず、例によってテストCDからの1kHz、−10dB及び0dBの光出力を入力した場合です:



どちらも正しいデジタル入力が出来ていることがわかります。 光入力された信号は、まずCS8412によって受信された後に、必ずAD1890というsampling rate converterを経由するのですが、このテストCDのような単音の正弦波の場合には、このSpectrum Analyserの分解能の範囲では全く問題がないことがわかりました。

 ちなみに、このような光デジタル入力を実現するためのMixer Professional2の設定は次のようにしました:



大切なことは、上段のCrystal Mixerで、Recordingを最大(255)にし、その右のInput SelectをDigitalに、Input ModeをNormalに、その下のボタンでAudioを選択することです(このことは、下のデジタル出力の場合と同様に、Loadボタンを押して、Dout-1.pmxをロードすることによって実現できます)。 Recordingを変化させると記録される音の大きさが変わることからわかるように、光入力された信号はデジタルミキサを経由して記録されますが、YMF724の場合とは違って歪みが発生することはありません。 これは、AD1890という高価なsampling rate converterをSAM9407チップ(dreamチップ)の入力の前に用いていて、その後にはsampling rateを変化させることなく、デジタル信号のビットシフトだけでミキシングを行なっているためと思われます。



 デジタル出力を行なう際には、上記Mixer Professional2のLoadボタンを押して、Dout-1.pmxファイルをロードする必要があります。 これをすると、OutputのMasterが127、Rearが127にそれぞれセットされて入力その他がmuteされるのですが、このままでは明らかにデジタル入力時とは異なったレベル−より大きいレベル−で出力されてしまい、0dBデータが歪んでしまいます。 私のテストした限りでは、OutputのRearを000にした上で、Masterを110位にすると、私のMDデッキのレベルメータで見て大体正しそうな値になり、かつ、1kHz、0dBのデータでも、非常にはっきりした歪みは聞き取れない程度になります。 聴感上は、AudioPCI(ES1370)で出力した場合と(1kHz、0dBのデータで聴き比べる限りは)あまり違わないように思えます。 上図は、そのように設定した場合の例です。


 ということで、.WAVファイルのデジタル出力に関しては、レベル調節が必要で、そのためには何らかの測定器がなければならず、さらに、私自身が出力されたデジタル信号の歪みを測定する手段を持たない、という状況を考えると、SoundTrack128 RubyよりもAudioPCI(ES1370)の方が優れている、ということがわかりました。('98.9.18)


Digital I/O Bracket II解析('98.9.20)


 このボードは、TOSLINK及び同軸の入出力ポートがついており、チップとしてはAudioPCIデジタル入出力改造で利用したものと同じCS8412/CS8402が載っています。 さらに、20ビットの分解能を持つsampling rate converterのAD1890もCS8412の直後に接続されており、10kHzから70kHzの信号に追随するように出来ています。 ですから、これをAudioPCI(ES1370)の入出力ポートとして流用することは出来ないだろうか?ということで、解析してみました。

 結論から言えば、おそらく入力側は、AudioPCI(ES1370)側から適切な信号を引き出してきてnekoさんのHDRDでビット操作をしてあげれば、サンプリングレートコンバータ付きの入力ポートとして使えそうだが、出力側はAudioPCI(ES1370)の出力フォーマットとこのDigital I/O Bracket II上のCS8402の入力フォーマットの設定がずれているために−具体的には、このボード上ではFORMAT 4に設定されているが、AudioPCI(ES1370)の出力はFORMAT 1でかつSCKが反転されたものになっている(AudioPCI(ES1370)出力改造参照)−、フォーマット変換を行なうための外付け回路が必ず必要になる、ということがわかりました。
 但し、入力側も、AudioPCI(ES1370)に正しく取り込むためには、BCKとLRCKの位相とか、色々とやってみなければならないようなことがたくさんあります。 あと、出力側は、CS8402の配線を切ってしまってFORMAT 1に合わせてしまえば、BCKの反転用のインバータ一つで済むように思います。 でも、ここまでやるなら(^^;;;自分でチップを買ってきて 組んだ方が簡単そうですが、サンプリングレートコンバータ込みこみで12,800円ですから、結構安いものだとは思います(AD1890って結構高いはずですから)。('98.9.20追加)


 Digital I/O Bracket II本体(+6dB option boardをはずしたもの)の10ピンコネクタの接続は、左下の三角印があるところを1番ピンとし、その上を2番、1番ピンの右隣を3番、というように番号を振っていくと、次のようになります:

  1番ピン: +5V
  2番ピン: BCLK(64fs)入力−AD1890とCS8402の双方に接続されている−
  3番ピン: 受信されたシリアルデータ(AD1890でサンプリングレート変換されたもの)の出力−AD1890のDATA_Oに接続されている−
  4番ピン: LRCLK(fs)入力−AD1890及び+6dB option boardを使わない設定にした際のCS8402のFSYNCに接続されている−
  5番ピン: MCLK(256fs)入力−1/2分周後にCS8402のMCKに接続されている−
  6番ピン: 送信用シリアルデータの入力−CS8402のSDATAに接続されている−
  7番ピン: Gnd
  8番ピン: LRCLK(fs)入力−+6dB option boardを使う設定にする際にCS8402のFSYNCに接続されている−
  9番ピン: Gnd
 10番ピン: MIDI OUT−ボード上のMIDI OUT RCAコネクタに直結されている−

このDigital I/O Bracket IIに対してSoundTrack側から入力される信号に関しては、それらを直接オシロスコープで観察して周波数も測定してありますので、おそらく間違ってはいないと思います。 但し、個人的には、このブラケットをAudioPCI(ES1370)には接続していませんので、実際に使えるかは未確認です。


('98.9.20)
 例によってnekoさんのアイデアですが、このDigital I/O Bracket IIをサンプリングレートコンバータとして使うのは簡単そうです。  出力サンプリングレート(fs)に合わせた水晶発振器を買ってきて、 それを使ってfsと256fsを供給するだけで良さそうです。 パターンカットをするつもりなら、CS8412とCS8402を共にFORMAT 0とするようにしてしまえば(M0、M1、M2、M3-CS8412のみ-を全てGnd落とす)、外部から入力するのは256fs(例えば、fs=44.1kHzの場合には11.2896MHz、48kHzなら12.2880MHz)の信号1本だけになります−+6dB option boardを使わない設定にして、上記5番ピンに256fs信号を入力するだけ。 あとは、3番ピンと6番ピンとを直結する−。




Mixer Professional2で、default.pmxを用いて設定した場合−Mixer Professional2を初めて立ち上げた状態−の出力信号例(デジタル信号を出力するためにはあまり適切ではない設定です):

 .WAVファイルをデジタル出力する場合の様子です。 これは、デジタル出力を実際に再びPCに取り込んで解析したものではなく、SoundTrack128 Rubyを搭載しているPCでのモニタの波形です。 従って、正しいデジタル出力信号の評価にはなっていないのですが、聴感とスペクトルに現われる高調波歪みとが対応していたためにこのような形で掲載しています。
 デジタル出力の大きさは、上記Mixer Professional2の右下にあるDream MixerのOutputのMasterで変化させることが出来てしまいます。 すなわち、AudioPCIの場合のように、記録されている.WAVファイルをそのまま出力することは出来ません。 レベル調節が必要になります。 AudioPCI(ES1370)経由で記録した1kHz、0dBのデータを出力して、そのレベルを変化させていった場合のスペクトルの変化は次のようになります:

 まず、Output Master=081の場合:


 次に、Output Master=088の場合:


 次は、Output Master=099の場合:


 最後に、Output Master=127(最大)の場合:


 これらの結果から一目瞭然ですが、SoundTrack128 Rubyでは、0dBで記録された.WAVファイルを0dBとして出力しようとすると、非常に大きな高調波歪みが発生してしまうことがわかります。 また、低域のレベルが非常に上がってしまっています。 このため、この同じ.WAVファイルに含まれる完全な無音部を再生している際にもこの光出力を入力したMDプレーヤのレベルメータが0にはならず、−40dB近辺の値を示してしまいました。 AudioPCI(ES1370)からの出力の際には、そのようなことは全くありませんでした。