Re: [Haskell-cafe] Open-source projects for beginning Haskell students?

From: Heinrich Apfelmus
Tom Murphy wrote:
If you want to do Haskell audio synthesis, you could also use hsc3 (good start here: http://slavepianos.org/rd/ut/hsc3-texts/). With hsc3 you can start on serious audio synthesis with only a few lines of Haskell. In my opinion it could use a much larger community.
While Rohan's bindings to SuperCollider are great, I have found that SuperCollider itself is quite difficult to understand for a new user. (My tomata-rubato project aims to be much easier to learn.)
Also, as far as I am aware, you can't do low-level audio programming in SuperCollider, i.e. play a list of samples that you've calculated yourself. That's cool if you're only interested in sound design, but bad for learning how audio programming works.
I think this charge is a bit unfair. If you really want to do low-level stuff, it's possible within SC. You just have to work in SuperCollider, not Haskell (AFAIK). However, it is possible to transfer audio data between Haskell and Csound, in several ways. The hCsound package comes with some examples of transferring the audio input and output streams between csound and haskell. Named channels provide for even more complicated routing if you like. John L.

John Lato wrote:
From: Heinrich Apfelmus
Also, as far as I am aware, you can't do low-level audio programming in SuperCollider, i.e. play a list of samples that you've calculated yourself. That's cool if you're only interested in sound design, but bad for learning how audio programming works.
I think this charge is a bit unfair. If you really want to do low-level stuff, it's possible within SC. You just have to work in SuperCollider, not Haskell (AFAIK).
Ah, right, I meant from within Haskell, i.e. by communicating with the SC3 server component. Even in SC you have to write unit generators in C, I think, but I may well be mistaken.
However, it is possible to transfer audio data between Haskell and Csound, in several ways. The hCsound package comes with some examples of transferring the audio input and output streams between csound and haskell. Named channels provide for even more complicated routing if you like.
I didn't know about the hCsound package, that might have saved me some work. Best regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com

On 25.03.12 09:38, Heinrich Apfelmus wrote:
John Lato wrote:
From: Heinrich Apfelmus
Also, as far as I am aware, you can't do low-level audio programming in SuperCollider, i.e. play a list of samples that you've calculated yourself. That's cool if you're only interested in sound design, but bad for learning how audio programming works.
I think this charge is a bit unfair. If you really want to do low-level stuff, it's possible within SC. You just have to work in SuperCollider, not Haskell (AFAIK).
Ah, right, I meant from within Haskell, i.e. by communicating with the SC3 server component. Even in SC you have to write unit generators in C, I think, but I may well be mistaken.
there's a more functional option, too: faust [1] ;) <sk> [1] http://faust.grame.fr/index.php/documentation/what-faust
participants (3)
-
Heinrich Apfelmus
-
John Lato
-
Stefan Kersten