私はXAudio2を使ってPCM形式の波をサウンドカードに送信しようとしています。私はこの問題について考えさせる問題に遭遇しました。 440Hzの正弦波のMATLABを使って.csvファイルを作成し、最初に1KHz(1秒間)でサンプリングしました。サウンドカードのサンプルレートを確認/変更するにはどうすればよいですか?
私のC++プログラムは、そのファイルをロードし、そのバッファをサウンドカードに送ります。問題は、出力が歪められ(クリップされ)、正弦波のようには聞こえなかったことです。それでサウンドカードは1kHzのサンプリングレートが好きではないかもしれないと思ったので、私はそれを2倍にして、突然すべてうまくいった。
これが本当に問題であることを確認する方法はありますか?
理論的には、2x440Hzより上の数ヘルツは、440Hzの波を再構築するのに十分なはずですか? –
@Deli、確かに、非常に壊れた響きの方法で。スピーカーから適切な周波数が得られますが、方形波のように聞こえます。スコープに置いて見てください。次に、スペクトルプロットを見て、生成しているすべての高調波を確認します。 – Brad