Ask HN: Music Processing Pipeline?
5 comments
Have you read about ChucK? It's a real time language for synthesis, composition, and audio programming.
The name of the program comes from their 'chuck' operator, which works similarly to what you've described.
If you look at the wikipedia page, it looks exactly like what you are proposing - I was looking to use it myself for a different project involving music analysis.
http://en.wikipedia.org/wiki/ChucK#Code_example
http://chuck.cs.princeton.edu/
The name of the program comes from their 'chuck' operator, which works similarly to what you've described.
If you look at the wikipedia page, it looks exactly like what you are proposing - I was looking to use it myself for a different project involving music analysis.
http://en.wikipedia.org/wiki/ChucK#Code_example
http://chuck.cs.princeton.edu/
This looks very similar to what I was thinking about.
I'll take a look at this.
This is an interesting concept. I've never thought of using Unix pipes style text syntax for musical effects. I know that some of the visual music programming environments work in a similar fashion, where effects are defined and then linked together in chains (see Supercollider or PureData, both open source). Perhaps some of the livecoding musical langauges work similarly, I haven't dived in to see how the syntax on them functions (like Impromptu http://impromptu.moso.com.au/).
Keep us updated if you make anything cool in this space.
Keep us updated if you make anything cool in this space.
You might want to check out the custom DSLs made by livecoders. There's an old Wired article about them (http://www.wired.com/science/discoveries/news/2006/07/71248), and this is a livecoding wiki: http://toplap.org/index.php/Main_Page . I can't find it now, but I recall seeing a really in-depth Lisp language for livecoding. There are screencasts you can check out.
Csound works similarly to this
http://en.wikipedia.org/wiki/Csound
http://en.wikipedia.org/wiki/Csound
Does anyone know of a library that would allow one to compose music in this paradigm?
What I'm thinking of is something that would let you define a sequence that represents the notes, and then send them through/apply effects to that sequence before they are output.
example: given a forward pipe operator |> in Haskell or Ocaml/F#: f |> x = x f (similar to a Unix | in operation)
where notes are represented somehow textually as a sequence (maybe letter and number for octave?) something like:
[4a, 4b, 4c, 3g#, 3d, 4a, 4f] |> high_pass_filter |> phaser |> output
I have no idea if this exists, but think it might be an interesting way to compose music. If anyone knows of library/application/language that works something like this, I'd be interested to hear.