如何用C#中的原始音頻樣本創建wave STREAM?如何用C#中的原始音頻樣本創建wave STREAM?
回答
這是在C#中的讀取和寫入WAV文件的一個很好的示例項目:
http://www.codeproject.com/KB/audio-video/Concatenation%5FWave%5FFiles.aspx
假設你的「原始音頻」是短(2字節)整數數組,這是一個簡單的任務。 WAV文件的標題爲44個字節(請參閱註釋),因此您先寫出標題(使用示例中的代碼),然後再寫入數據。
注意:並非所有的WAV文件都是「規範的」,這意味着它們並不都具有44字節的標頭,後面跟着數據。 WAV格式實際上是一種RIFF格式,這意味着它們可以包含各種不同的數據,並且標題不一定在開頭。然而,這些都不重要,因爲你只是寫 WAV文件。
更新:如果語音識別程序期待一個流(而不是一個文件路徑),可以很容易地創建一個MemoryStream
這樣的:
byte[] bytes = System.IO.File.ReadAllBytes("c:\whatever.wav");
System.IO.MemoryStream stream = new System.IO.MemoryStream(bytes);
或者你能避免文件I/O總而言之,首先創建您的WAV文件作爲內存中的字節數組,然後從中創建MemoryStream
。
非常感謝您的回答! 我曾閱讀過關於規範的WAV文件格式等。 鏈接中的代碼/項目對此很有幫助。 流怎麼樣,你可以告訴一些關於流的東西嗎? 另外,這個文件(如果最後是文件而不是流?!)將被語音識別程序讀取 - 所以頭文件等無所謂。 – refugee 2010-05-19 13:12:03
@refugee:我假設語音識別程序將一個流作爲輸入,並持續監視流中的新數據。您可能需要包含有關此程序的更多詳細信息以及它期望的輸入類型。 WAV *文件頭*包含一個值,表示後面數據的大小 - 如果程序期望開放式流,則不適用。這可能是因爲您的語音識別程序需要一個初始調用,告訴它它將使用什麼格式的流數據,然後是實際的數據流。 – MusiGenesis 2010-05-19 13:31:40
- 1. 原始音頻播放5
- 2. 如何在c中創建音頻譜#
- 3. 使用AudioToolbox從音頻信號獲取原始樣本流 - Swift
- 4. 從WAV文件中讀取原始音頻樣本
- 5. 如何從Android上的音頻文件中提取原始樣本值
- 6. 使用原始音頻
- 7. 如何播放基本原始的端口音頻
- 8. NAudio的原始音頻
- 9. Android從C++端播放原始音頻
- 10. 從.wav音頻樣本創建整數數組。 NAudio C#
- 11. 用QPython audiostream原始PCM音頻播放
- 12. 如何在c#中採樣音頻?
- 13. 原始音頻轉換
- 14. 如何從使用QTKit的電影中提取原始音頻
- 15. 如何從音頻創建HTML5中的音頻播放器?
- 16. 在C++/Ubuntu中錄製來自音頻輸入的原始音頻
- 17. 檢測原始音頻(PCM)中的特定頻率/音調
- 18. 如何在iOS中使用原始數據播放音頻?
- 19. 如何在iPhone中播放原始音頻? (使用ffmpeg)
- 20. 如何用原始圖像(.rgb格式)創建視頻並在python中添加音頻?
- 21. 在C#中創建音頻文件(WP7)
- 22. 在iphone SDK中讀取原始音頻
- 23. 樣本音頻整數數組(C++/QT)
- 24. 如何將原始數據轉換爲javascript中的音頻
- 25. 在沒有MOOV的MDAT Atom中識別音頻樣本原子
- 26. 如何在Web中使用Web(使用Web-Audio或其他)播放原始樣本PCM_16音頻數據記錄?
- 27. 如何混合音頻樣本?
- 28. 如何反轉音頻樣本?
- 29. Audacity如何混合音頻樣本?
- 30. 如何從wave文件中獲取音頻數據?
定義「原始音頻」 – Jake 2010-05-18 15:04:02
@Jake:「原始音頻」=互聯網上99%MPEG的聲音軌跡? – MusiGenesis 2010-05-18 15:08:19
你想用C#讀取.wav文件嗎? – anishMarokey 2010-05-19 02:37:23