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. 聲音採樣的空浮點數**
- 3. 最大采樣值(聲音文件)python
- 4. JavaScript聲音合成
- 5. 與聲音合成
- 6. 聲音合成用C#
- 7. 如何合成聲音?
- 8. 改進Android合成器上的MIDI合成器聲音/加載聲音字體
- 9. 音頻採樣率時機
- 10. Nexmo音頻採樣率
- 11. 採樣率偏差和聲音播放位置
- 12. 是代數聲音合成可能嗎?
- 13. 如何在Java中合成聲音?
- 14. 什麼樣的音樂/聲音格式適合Unity3D遊戲?
- 15. 重新採樣一個聲音樣本,我使用哪個過濾器?
- 16. Google Chrome(Windows) - 如何添加缺少的語音合成聲音
- 17. 基於Web的音樂和聲音合成 - 調查
- 18. 編程增加音頻採樣
- 19. 音頻採樣率意味着什麼
- 20. iPhone音頻錄製的採樣率
- 21. Java - 下采樣wav音頻文件
- 22. 如何在c#中採樣音頻?
- 23. Android上的本地音頻重採樣
- 24. 使用OpenAL採樣音頻電平
- 25. 音頻單元樂器+採樣器
- 26. WIN32音頻採樣率轉換
- 27. linux中的音頻流採樣率
- 28. FFmpeg更改音頻採樣率
- 29. Android本機錄音機採樣率
- 30. 用於音頻重採樣的庫
感謝您的信息!爲了回答一些問題,這些值只有0-99,並且數組長度在5-500之間。採樣率對我來說並不重要,儘管我希望樣本的總長度在100-300毫秒左右。 – EscapeNT 2011-02-10 02:50:56