-1

.wav ファイルを読み取って再生するアセンブリ x86 プログラムを作成したいと考えています。典型的な .wav ファイルの構造をググったところ、サブチャンク セクションにいくつかのデータが利用できることがわかりました。

私は次のことを理解しており、コーディングを開始できるように、それが正しいかどうかを確認したかった
のです: サンプルレートは、元のアナログ信号がデジタル値 (おそらく周波数を表す) にサンプリングされるレートです。.wav ファイルを再生するときは、この値とは何の関係もないと思います。バイトレートは、バイトを送信する必要があるレートです (サウンド ファイルの「プロパティ」にある「ビットレート」に何らかの形で関連しています)。

たとえば、スピーカーをオンにし、バイトを送信し、しばらく待つ必要があります。これは、クロックの周波数とバイトレート (1 秒間に送信するバイト数) を使用して計算されます。 - スピーカーをオフにして、しばらく待ちます。これは正しいです?

また、2 チャンネルの .wav ファイルで何ができるかわかりません。チャンネルは異なるポートのスピーカーですか?

最後に、スピーカーをオンまたはオフにする時間を計算する方法がわかりません-CPUのアイドルループ-バイトレートが手元にあります。命令が異なれば、実行に必要なクロック サイクルも異なります。

4

1 に答える 1

0

WAV ファイルは、コーデックから派生したリニア サンプルです。補間またはデシメートしない限り、同じレートで再生する必要があります。

思い出すと、WAV ファイル形式は複数のチャネルに対してインターリーブを使用します。

ファイルをデコードするには、サンプルの幅 (ビット数)、サンプリング周波数 (ヘルツ)、および存在するチャンネル数が必要です。

これは何のOSですか?

于 2013-06-27T21:38:12.637 に答える