http://www.geocities.co.jp/SiliconValley-Bay/8572/chiia/index.htm
神の実験4日目
毎日見てますとも・・・
神の実験6日目
以下、昔の駄文。
あと、質疑応答の時にちょっとだけ触れたのですが、やりたかったけど、出来なかったこととして、 ステレオボーカルというのがありましたので、それについての詳細をご説明しましょう。去年の「ほいっぷる」では、H-SYNC 割り込みを使って、サウンドのチャンネル2をボイスモードにして、8ビットのリニアPCMデータを送り込んで、ボーカル(モノラル)を再現していましたが、今回は、4チャンネルすべてを使用して、PCMのストリーミング再生を試みるというものです。考え方としては、1&2チャンネルを左パン用、3&4チャンネルを右パン用として再生します。例として、左パン(だけ)を取って再生原理を解説すると、
チャンネル1の波形を、sound_set_wave コマンドで定義
→チャンネル2の停止を確認し、チャンネル1を鳴らす
→チャンネル2の波形を、sound_set_wave を使って準備する。
→チャンネル1が鳴り終わったら、チャンネル2を鳴らす
→最初に戻る
を繰り返して、左右独立したPCMデータを再生するというワケです。
ただし、問題点として、
・再生中は負担が大きいため、事実上、他の処理は一切できない
・ハード的に、波形再生終了割り込みが発生しないので、
H-SYNC 割り込みを使用して、単位周期(1 H-SYNC ≒ 11850Hz )を
基に逆算した終了時間で、再生終了を知る必要があるため、
プチノイズがかなり乗ってしまう(に、ちがいない)
・精度が、4Bit PCM になるので、更なる音質劣化は避けられない
が想定されますね。
実は、このステレオボーカルで、ご褒美グラフィックの時に童謡の輪唱とかしたら、どうかなぁ・・・とか思っていたワケでして・・・
神は実証くださった・・・・。
ちなみに、PCMボイスモードでストリーミング再生する場合でも、
2ライン間隔が限界でした・・・(ここでいうなって・・・)