.wav ファイルを読み取って再生するアセンブリ x86 プログラムを作成したいと考えています。典型的な .wav ファイルの構造をググったところ、サブチャンク セクションにいくつかのデータが利用できることがわかりました。
私は次のことを理解しており、コーディングを開始できるように、それが正しいかどうかを確認したかった
のです: サンプルレートは、元のアナログ信号がデジタル値 (おそらく周波数を表す) にサンプリングされるレートです。.wav ファイルを再生するときは、この値とは何の関係もないと思います。バイトレートは、バイトを送信する必要があるレートです (サウンド ファイルの「プロパティ」にある「ビットレート」に何らかの形で関連しています)。
たとえば、スピーカーをオンにし、バイトを送信し、しばらく待つ必要があります。これは、クロックの周波数とバイトレート (1 秒間に送信するバイト数) を使用して計算されます。 - スピーカーをオフにして、しばらく待ちます。これは正しいです?
また、2 チャンネルの .wav ファイルで何ができるかわかりません。チャンネルは異なるポートのスピーカーですか?
最後に、スピーカーをオンまたはオフにする時間を計算する方法がわかりません-CPUのアイドルループ-バイトレートが手元にあります。命令が異なれば、実行に必要なクロック サイクルも異なります。