#31 Article 68 Posted at 1991/03/06 20:24:00 by T.Kodama (MAP1154) [IMP.ORG]

Subject: Re:*7 ラブ・ラブ・ミンキーモモ /67 ... /59 /10(#62)

>ノイズの原因となっていた割り込みは、いったい何なのでしょうか。
>できたら教えて下さいませんか。

 結論から先に言いますと、NEC-PC系ではV-SYNC、日立B16/32
ならびにIBM-PC系ではシステムタイマが原因です。これを止めればノイズの
ないきれいな音を作り出すことができます。(わたしはかつてBEEPを使用した
X68000/MAC用PCMデータの再生に執念を燃やしていた時期があり、当
初は同じようにこのノイズに悩まされていました)これらの割り込みは通常無視で
きる、あるいは有益なものですが、このプログラムのように極めて正確な処理が要
求されるケースでは有害無益なものです。ちなみに、改良版のプログラムではCL
I命令によりすべての割り込みを禁止していますが、V-SYNC/システムタイ
マだけを止めてもよいのです。(ただし、IBM-PC系のコンピュータの場合は
それによるデメリットがあるようです)

 ちなみに、この手のアルゴリズムを使って高機能(リアルタイムでボリュームを
可変、演奏位置再指定等)な演奏ソフトを作ることはまず無理だと思ってください。
理由は、CPUの負担が大きくなりすぎるからです。できたとしても、今回程度の
クオリティを保つのはとても無理だと思います。(一度挑戦してみます??)もっ
とも、3重和音にすることくらいはできるでしょう。今交互にやっている処理を三
つにわけてやればいいだけですから。あと、音源発生部分は多少オーバヘッドが大
きくなりますがサブルーチン化し、共通化するといいと思います。

                                                                T.Kodama