Difference between revisions of "Sound data structures"
Jump to navigation
Jump to search
(In-memory sound formats) |
(synthesizer library) |
||
Line 51: | Line 51: | ||
| dsp |
| dsp |
||
| <hask>Array a, [a]</hask> |
| <hask>Array a, [a]</hask> |
||
+ | |- |
||
+ | | [[Synthesizer]] |
||
+ | | <hask>[a], StorableVector.Lazy a, (StateT s Maybe a, s)</hask> |
||
|- |
|- |
||
| jack |
| jack |
||
Line 70: | Line 73: | ||
|- |
|- |
||
| alsa-midi |
| alsa-midi |
||
+ | | Uses midi library |
||
+ | |- |
||
+ | | [[Haskore]] |
||
| Uses midi library |
| Uses midi library |
||
|- |
|- |
||
Line 85: | Line 91: | ||
| hCsound |
| hCsound |
||
| <hask>CsoundPtr</hask> |
| <hask>CsoundPtr</hask> |
||
+ | |- |
||
+ | | HasSound / [[Haskore]] |
||
+ | | <hask>OrcExp</hask> |
||
|- |
|- |
||
| hsc3 |
| hsc3 |
Revision as of 07:09, 29 August 2008
At the request of Don Stuart, here is some information about the formats supported by different sound libraries.
In-memory data formats
In-memory sound formats are fairly diverse.
Reading and writing sound files
Library | Sound file format |
---|---|
HCodecs | (Audible a) => DiffUArray Int a
|
hsndfile | MArray with Float and Double
|
HSoundFile | [[Double]]
|
ALUT | OpenAL.AL.Buffer
|
WAVE | [[Int32]]
|
Playing sounds
Library | Sound file format |
---|---|
OpenAL | Ptr UInt8 , Ptr Int16 , 1-N channels
|
SDL-mixer | ForeignPtr ChunkStruct , ForeignPtr MusicStruct
|
Sound processing libraries
Library | Sound file format |
---|---|
dsp | Array a, [a]
|
Synthesizer | [a], StorableVector.Lazy a, (StateT s Maybe a, s)
|
jack | Operates via mapping functionsmainMono :: (CFloat -> IO CFloat) -> IO () mainStereo :: ((CFloat, CFloat) -> IO (CFloat, CFloat)) -> IO ()
|
MIDI-based
Library | Sound file format |
---|---|
HCodecs | Reads and writes MIDI files |
midi | Reads and writes MIDI files |
alsa-midi | Uses midi library |
Haskore | Uses midi library |
YampaSynth | Stand-alone program |
Special-purpose APIs only (FFIs, etc.)
Library | Sound file format |
---|---|
hCsound | CsoundPtr
|
HasSound / Haskore | OrcExp
|
hsc3 | UGen
|
No public sound-buffer API
Library | Sound file format |
---|---|
hbeat | The relevant source files are missing! |
hogg | Very low-level API for Ogg internals only |
libmpd | No sound buffer API |
sonic-visualizer | No sound buffer API |
truelevel | Stand-alone program (uses WAVE) |
wavconvert | Stand-alone program |