我希望編寫一個可以播放WAV文件的C#WinForms應用程序。播放文件時,它會顯示一個波形(類似於示波器)。C#WinForms應用程序顯示回放波形和錄製的聲音
與此同時,用戶可以通過麥克風錄製聲音,嘗試跟蹤播放的原始聲音(如卡拉OK)。該程序實時顯示錄製的聲音波形,因此可以從原始波形文件的波形顯示和用戶錄製的波形顯示中查看比較結果。比較將按照原始和錄製聲音的時間差異(延遲)完成。波形顯示不必非常先進(不需要剪切,複製或粘貼);只要能夠用時間表來看就足夠了。
我希望這已經夠清楚了。如果不明確,請不要猶豫,要求進一步澄清。非常感謝你。
非常感謝,MusiGenesis。假設播放和錄製的聲音都是在(音樂)鍵盤上播放的簡單音符;那麼比較延遲比比如說聲音和音樂曲目要容易得多。 如果沒有太多的麻煩,您可以發佈您的C#應用程序嗎?謝謝! – Gnubie 2011-03-07 12:23:14
@Gnubie:我今晚將發佈它。它不會完全符合你的要求,但它將包含你需要做的大部分代碼示例 - 包括使用waveInOpen API記錄音頻,並執行從時域到音頻的基於FFT的轉換。頻域。 – MusiGenesis 2011-03-07 14:34:54
請做!期待它,謝謝。 – Gnubie 2011-03-09 12:43:52