|
|
|
|
|
|
Synopsis |
|
writeDataFile :: (Storable a) => FilePath -> [a] -> IO () | | readDataFile :: (Storable a) => FilePath -> IO [a] | | openDataFile :: (Storable a) => FilePath -> [a] | | writeWavFile :: FilePath -> Either [Int16] [(Int16, Int16)] -> IO () | | writeWavFileMono :: FilePath -> [Int16] -> IO () | | writeWavFileStereo :: FilePath -> [(Int16, Int16)] -> IO () | | readWavFile :: FilePath -> IO (Either [Int16] [(Int16, Int16)]) | | openWavFile :: FilePath -> Either [Int16] [(Int16, Int16)] | | writeWavFiles :: FilePath -> String -> [Either [Int16] [(Int16, Int16)]] -> IO () | | wavInt16ToDouble :: Int16 -> Double | | wavDoubleToInt16 :: Double -> Int16 | | readArrayFromFile :: (Storable a) => HeaderSize -> FilePath -> IO (StorableArray Int a, Int) | | writeArrayToFileWithHeader :: (MArray StorableArray a IO, Storable a) => HeaderFun -> FilePath -> StorableArray Int a -> IO () | | writeArrayToFile :: (MArray StorableArray a IO, Storable a) => FilePath -> StorableArray Int a -> IO () | | openSingleInputFile :: (Storable a) => Int -> HeaderSize -> FilePath -> IO (IO (), IO (Maybe a), Int) | | openSingleOutputFile :: (Storable a) => Int -> FilePath -> IO (IO (), a -> IO ()) | | openSingleInputWavFile :: Int -> FilePath -> IO (IO (), Either (IO (Maybe Int16)) (IO (Maybe (Int16, Int16))), Int) | | openSingleOutputWavFileMono :: Int -> FilePath -> IO (IO (), Int16 -> IO ()) | | openSingleOutputWavFileStereo :: Int -> FilePath -> IO (IO (), (Int16, Int16) -> IO ()) | | openInputFile :: (Storable a) => HeaderSize -> FilePath -> Int -> IO (IO (), StorableArray Int a -> Int -> IO Int, Int) | | openOutputFile :: (Storable a) => FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ()) | | openOutputFileWithHeader :: (Storable a) => HeaderFun -> FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ()) | | openInputWavFile :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO (), Int, Bool) | | openOutputWavFileMono :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ()) | | openOutputWavFileStereo :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ()) | | type HeaderFun = (Handle -> IO (), Handle -> Int -> IO ()) | | type HeaderSize = Int | | noHeader :: HeaderFun | | wavHeaderFunMono :: HeaderFun | | wavHeaderFunStereo :: HeaderFun | | wavHeaderSize :: HeaderSize | | initWriteWavHeaderMono :: Handle -> IO () | | initWriteWavHeaderStereo :: Handle -> IO () | | initReadWavHeader :: Handle -> IO (Maybe (Bool, Int, Int, Int)) | | closeWriteWavHeader :: Handle -> Int -> IO () | | encode :: Int -> String | | decode :: String -> Int | | encodeWavLengt :: Int -> (String, String) | | initWavHeaderMono :: [Char] | | initWavHeaderStereo :: [Char] | | sizeOfArrayElements :: (Storable a) => StorableArray Int a -> Int | | inferSizeOfArrayElements :: (Storable a) => (StorableArray Int a -> IO Int) -> StorableArray Int a -> Int | | inferSizeOfArrayElements' :: (Storable a) => (StorableArray Int a -> Int -> IO ()) -> StorableArray Int a -> Int |
|
|
|
Binary Files |
|
writeDataFile :: (Storable a) => FilePath -> [a] -> IO () |
|
readDataFile :: (Storable a) => FilePath -> IO [a] |
|
openDataFile :: (Storable a) => FilePath -> [a] |
|
WAV-Files |
|
writeWavFile :: FilePath -> Either [Int16] [(Int16, Int16)] -> IO () |
|
writeWavFileMono :: FilePath -> [Int16] -> IO () |
|
writeWavFileStereo :: FilePath -> [(Int16, Int16)] -> IO () |
|
readWavFile :: FilePath -> IO (Either [Int16] [(Int16, Int16)]) |
|
openWavFile :: FilePath -> Either [Int16] [(Int16, Int16)] |
|
writeWavFiles :: FilePath -> String -> [Either [Int16] [(Int16, Int16)]] -> IO () |
|
Cast between Int16 and Double representation of WAV-data |
|
wavInt16ToDouble :: Int16 -> Double |
|
wavDoubleToInt16 :: Double -> Int16 |
|
Low-Level implemetation |
|
Arrays and Files |
|
readArrayFromFile :: (Storable a) => HeaderSize -> FilePath -> IO (StorableArray Int a, Int) |
|
writeArrayToFileWithHeader :: (MArray StorableArray a IO, Storable a) => HeaderFun -> FilePath -> StorableArray Int a -> IO () |
|
writeArrayToFile :: (MArray StorableArray a IO, Storable a) => FilePath -> StorableArray Int a -> IO () |
|
Single Stream |
|
openSingleInputFile :: (Storable a) => Int -> HeaderSize -> FilePath -> IO (IO (), IO (Maybe a), Int) |
|
openSingleOutputFile :: (Storable a) => Int -> FilePath -> IO (IO (), a -> IO ()) |
|
openSingleInputWavFile :: Int -> FilePath -> IO (IO (), Either (IO (Maybe Int16)) (IO (Maybe (Int16, Int16))), Int) |
|
openSingleOutputWavFileMono :: Int -> FilePath -> IO (IO (), Int16 -> IO ()) |
|
openSingleOutputWavFileStereo :: Int -> FilePath -> IO (IO (), (Int16, Int16) -> IO ()) |
|
Buffered Stream |
|
openInputFile :: (Storable a) => HeaderSize -> FilePath -> Int -> IO (IO (), StorableArray Int a -> Int -> IO Int, Int) |
|
openOutputFile :: (Storable a) => FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ()) |
|
openOutputFileWithHeader :: (Storable a) => HeaderFun -> FilePath -> IO (IO (), StorableArray Int a -> Int -> IO ()) |
|
openInputWavFile :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO (), Int, Bool) |
|
openOutputWavFileMono :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ()) |
|
openOutputWavFileStereo :: FilePath -> IO (IO (), StorableArray Int Int16 -> Int -> IO ()) |
|
Header Stuff and others |
|
type HeaderFun = (Handle -> IO (), Handle -> Int -> IO ()) |
The first Action is applied after opening the file. Then the data
bytes are written. The second Action is then called with the number of
bytes of the data. It must close the handle. |
|
type HeaderSize = Int |
|
noHeader :: HeaderFun |
|
wavHeaderFunMono :: HeaderFun |
The first Action writes the Header of the wav-file.
Then the wav-data is written. The second action moves
the Handle to the positions where the lenght of the wav-file
are encoded (in the header) and writes the right number, which
is unknown before all data is written.
Afterwards it closes the file. |
|
wavHeaderFunStereo :: HeaderFun |
|
wavHeaderSize :: HeaderSize |
|
initWriteWavHeaderMono :: Handle -> IO () |
|
initWriteWavHeaderStereo :: Handle -> IO () |
|
initReadWavHeader :: Handle -> IO (Maybe (Bool, Int, Int, Int)) |
|
closeWriteWavHeader :: Handle -> Int -> IO () |
|
encode :: Int -> String |
|
decode :: String -> Int |
|
encodeWavLengt :: Int -> (String, String) |
|
initWavHeaderMono :: [Char] |
|
initWavHeaderStereo :: [Char] |
|
sizeOfArrayElements :: (Storable a) => StorableArray Int a -> Int |
|
inferSizeOfArrayElements :: (Storable a) => (StorableArray Int a -> IO Int) -> StorableArray Int a -> Int |
|
inferSizeOfArrayElements' :: (Storable a) => (StorableArray Int a -> Int -> IO ()) -> StorableArray Int a -> Int |
|
Produced by Haddock version HADDOCK_VERSION |