C# でやりたいことはできますが、思ったようには機能しません。オシロスコープタイプのディスプレイで録音がどのように見えるかと、その録音が人間の耳にどのように聞こえるかの間には、事実上まったく関係がありません。たとえば、オシロスコープのディスプレイに表示された 2 つの WAV ファイルを見せて、1 つはチューバの演奏で、もう 1 つは人が文章を話しているのを録音したものだと言ったとしても、見ただけではどちらがどれであるかはわかりません。それらで。
ユーザーの音を事前に録音された WAV と比較したい場合は、より洗練された方法で両方の FFT 分析を行い、周波数スペクトルを比較する必要がありますが、それでも目的の音にはうまくいきません。
更新: 少し考えた結果、上記のステートメントに完全には同意できないと思います。オシロスコープ タイプのエフェクトを使用して、WAV のピッチ (または周波数) と人の声を比較したい場合は、うまくいくかもしれません。オシロスコープを調整して、一度に比較的少数の波長 (おそらく 20 など) を表示すると、ユーザーは自分の声のピッチを上げたり下げたりした効果をすぐに確認できます。
私は約 2 年前に書いた小さなサンプル C# アプリを持っています。これはこのようなことを行いますが、オシロスコープの代わりに FFT で生成されたスペクトログラフを表示するだけです (違いは基本的に、スペクトログラフが周波数領域の情報を表示し、オシロスコープが時間領域情報を表示します)。リアルタイムなので、マイクに向かって話したり歌ったりすることができ、スペクトログラフが動的に変化するのを見ることができます。
必要に応じて、これを掘り下げてここにコードを投稿できます。または、自分ですべてを楽しみたい場合は、必要なコード リソースへのリンクをいくつか投稿できます。