Q
合成採樣聲音
0
A
回答
0
首先,樣本數組是不足以播放聲音的信息。
您還需要指定採樣率。 (例如,如果以25個採樣/秒記錄,則重複-1,+ 1等的50個採樣可以是50Hz的正弦波,或者如果以50個採樣/秒(我的數學可能是關閉的)記錄,則採樣爲12.5Hz的正弦波。
另一件需要的就是如何存儲聲音。 MAX_INT是您最高的聲音還是255您的峯值音量?
您還需要指定編碼。您可能需要PCM_SIGNED或PCM_UNSIGNED(取決於您是否有負樣本),或者可能有其他編碼需要使用。
javax.sound.sampled包在AudioFormat類中表示此信息。
您將需要構建反映您的音頻採樣方法的音頻格式。例如,如果你的樣品佔去了全整數的範圍,你代表的各樣本與一個整數,你以每秒22000個樣本進行採樣,這是一個單聲道聲音,你會構建以下的AudioFormat ...
AudioFormat desiredFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,22000,32,1,32,22000,true);
一旦你有一個AudioFormat,你可以打開一條線並將音頻轉儲到它。 This page演示如何做到這一點(他們作弊並正在播放音頻文件,以便他們從文件中獲取AudioFormat)。
當然,您可能無法爲所有格式打開一行,因此您可能需要進行一些轉換。所有這些說,可能有Java聲音庫在那裏,這可以使這更容易。
相關問題
- 1. Flex聲音採樣率
- 2. JavaScript聲音合成
- 3. 與聲音合成
- 4. 聲音採樣的空浮點數**
- 5. 重新採樣非和絃聲音
- 6. 最大采樣值(聲音文件)python
- 7. 聲音合成用C#
- 8. 如何合成聲音?
- 9. 採樣率改變正弦波的音調,聲音()函數,MATLAB
- 10. 改進Android合成器上的MIDI合成器聲音/加載聲音字體
- 11. 音頻採樣率時機
- 12. 音頻採樣Debian的
- 13. Python音頻採樣器
- 14. Nexmo音頻採樣率
- 15. 獲取音頻採樣
- 16. 用Java語音採樣
- 17. 刪除MP3文件中多餘的採樣/聲音
- 18. 無法正確識別聲音文件的採樣率
- 19. Pygame聲音延遲 - 與緩衝區/採樣無關
- 20. 採樣率偏差和聲音播放位置
- 21. 採樣率變化後失真的聲音
- 22. Linux 2.6中是否有內核重採樣OSS聲音系統
- 23. 是代數聲音合成可能嗎?
- 24. Android:如何合成鋼琴聲音?
- 25. Corona Lua波形聲音合成
- 26. 在Android中對PCM音頻採樣的上採樣
- 27. 什麼樣的音樂/聲音格式適合Unity3D遊戲?
- 28. 重新採樣一個聲音樣本,我使用哪個過濾器?
- 29. 使用Java音頻合成系統(JASS)播放聲音
- 30. 在chrome中的語音合成爲android不加載聲音
感謝您的信息!爲了回答一些問題,這些值只有0-99,並且數組長度在5-500之間。採樣率對我來說並不重要,儘管我希望樣本的總長度在100-300毫秒左右。 – EscapeNT 2011-02-10 02:50:56