2012-11-21 45 views
-1

我想要開始在haskell中播放聲音。如何使用Hcodecs編寫wav文件

我想我會用表示聲波的列表來表示。我的問題是把這個清單,並從Hcodecs庫變成Audio類型,以便我可以使用該庫創建一個波形文件。

所以問題是:如何從列表去Audio

+0

列表是什麼?有幾種表示聲音或音樂的方式。 – AndrewC

+0

'Word8','Int16','Int32'或'Int64'的列表。像列表一樣,'Audio'也是一個容器類型,所以我猜想將列表轉換爲'Audio'的函數不需要考慮元素的類型,因爲它們可以是任何東西。但是,如果我想將'Audio'寫爲wav文件,則內容的類型滿足類型約束,這意味着它必須是上述類型之一。 –

回答

1

關鍵是type SampleData a = UArray Int a。因此,您可以使用IArray實例Data.Array.Unboxed.UArrayconstruct this container。然後,剩下要做的就是使用Audio sampleRate channelNumber sampleData,而且你們都已經設定好了。

+0

謝謝!我現在已經設法創造了一個5秒鐘的A音:) –