我需要爲haskell找到一個聲音庫。我遵循haskell wiki http://www.haskell.org/haskellwiki/Sound_data_structures中介紹的一些說明,但無法正常工作。我需要的只是播放音頻文件,而不管其格式。 我正在開發一款FunGen遊戲,以及它的音樂時間。我可能有somo問題使他們工作,但我甚至不能發揮一個簡單的聲音的例子。 我的大部分問題都是由於cabal的安裝,或者我無法找到任何依賴。我正在使用Windows。Sound lib haskell
回答
在Windows上是Haskell音頻的主要限制。大多數軟件包都綁定到C代碼,它們往往是以Linux爲中心的(JACK,Alsa),或者最好是名義上跨平臺的,但實際上很難在Windows上構建和使用。在安裝Haskell綁定之前,您需要先構建或安裝C庫。您是否嘗試過OpenAL?這可能是最適合你想要做的事情。如果你安裝了C OpenAL libraries,Haskell綁定應該是一個相當簡單的下一步。有幾個附加軟件包旨在簡化一些常見任務,如ALUT和Alure。
否則,大多數其他解決方案實際上會涉及幾個可能無法很好地協同工作的軟件包。 hsndfile和hsndfile-vector適合閱讀音頻文件(您需要安裝libsndfile),但它們不會播放聲音。 portaudio將播放音頻(再次,您將需要C portaudio library),但它並沒有在一段時間內更新(和一些更新是急需的)。您還需要熟悉C編譯器鏈(例如MinGW或Cygwin)以首先安裝必要的C庫。
另一種方式可能是綁定到專用音頻語言,如Supercollider或Csound。這將是一個相當重量級的解決方案,但綁定通常會得到更好的維護,並且至少應該在Windows上安裝Csound(披露:我寫了hCsound包)。 Sox(C library/executable)也可能適合你(我從來沒有在Windows上試過,但它聲稱工作)。
好的清單,並非常全面。我唯一要補充的是ALUT已被棄用。 http://connect.creativelabs.com/openal/Lists/OpenAL%20Development/Flat.aspx?RootFolder =%2Fopenal%2FLists%2FOpenAL%20Development%2FDeprecated%20Alut%20Wav%20Loading%20Functions&FolderCTID = 0x01200200BB72FB7EEB38514F8CD1A9372A031174 – rtperson 2012-03-19 15:52:41
@rtperson - thanks for that;我從來沒有使用ALUT,基本上認爲它是GLUT的一種音頻模擬(儘管這種模式大部分被棄用,但仍然相當常見)。 – 2012-03-20 10:33:24
當我嘗試安裝hsndfile或hCsound時,caball呼喊缺少sndfile lib。我意識到我不知道如何安裝它,因爲複製一個dll dindt工作 – Illiax 2012-05-28 04:27:35
我只需要播放音頻文件,而不管其格式如何。
最好的選擇是hsndfile,在上面John L.的優秀答案中提到。但是你最初可能想讓你的生活更輕鬆。 WAV文件格式爲a very simple format - 基本上由原始PCM數據組成,並預先添加了最少的標題。嘗試獲取WAV文件播放,然後從那裏開闊視野。
對於缺少示例代碼,您將會奮力拼搏 - 並且您可能會發現自己需要外國記憶指針和其他不那麼直接的技巧 - 但是有一個體面的樣本用於打開和閱讀WAV文件here。
此外,在Windows上開發時,學會喜歡-fno-ghci-sandbox
標誌。它告訴ghci你連接到一個使用自己線程本地存儲的庫。它通常是獲得某些外部庫在GHCi中工作的唯一方法。
- 1. 在hedis上構建monad,haskell redis lib
- 2. jquery sound not playing
- 3. RANDOM PLAY SOUND OVERLAP
- 4. Sound Pool Load Listener?
- 5. C++ Live Sound Control
- 6. Sound missing Flash AS3
- 7. mouseover image with sound
- 8. alrm sound not works
- 9. CROSSFADE SOUND AS 3.0
- 10. jquery on event make sound
- 11. Program not not produce Midi sound
- 12. XNA SOUND播放問題
- 13. 動畫Drawable with Sound in android?
- 14. Windows 7上的Java Sound API
- 15. Gwt Sound不起作用?
- 16. 有沒有Google Sound API
- 17. Old School Sound Programming in Python
- 18. pling sound .net應用程序
- 19. ALSA Lib 1.1.2編譯錯誤
- 20. 帶有Gloss lib的Haskell代碼不能編譯
- 21. 在libgdx中靜音'Sound'而不是'Music'
- 22. SoX(Sound eXchange)死於某些MP3文件
- 23. Sound :: readData的Fmod.dll返回空數組
- 24. 在Sound Arrays中隨機播放單詞
- 25. Java Sound Clip循環幀位置
- 26. Flex 4 Sound class - 檢測採樣率.mp3
- 27. Shazam或Sound Hound如何工作?
- 28. 無法擴展Sound對象原型
- 29. 使用ffmpeg時Ch sound的聲音
- 30. Sound Visualizer for Silverlight中的Wave文件
你試過了哪些,有什麼問題?你能給錯誤信息嗎? – luqui 2012-03-19 04:38:58
請檢查這[問題](https://stackoverflow.com/questions/14005592/play-a-wav-file-with-haskell) 希望有些東西適合你:) – biinui 2014-11-15 08:04:36