Live data from Hacker News

The Music Suite

music-suite.github.io

11–20 of 39 posts

Re: The Music Suite

#11

Pretty nice. I hope future versions will allow some sort of embedded structures, eg for this segments let p1 = scat [c..c']^/4 p2 = delay (1/4) $ scat [c..c']^/4 p3 = delay (3/4) $ scat [c..c']^/4 in (accent . legato) (p1 p2 p3) I would have expected something like p2 = delay (1/4) $$ [p1] or somesuch (sorry about the notation, I've never used Haskell - my point is about the nesting). I would also love to see ways to…

Yes there is nothing stopping you from doing

    let  p1 = scat [c..c']^/4
         p2 = delay (1/4) p1
         p3 = delay (3/4) p1
    in (accent . legato) (p1  p2  p3)
It's a full programming language so you can do a lot more than that!

Re: The Music Suite

#12

Pretty nice. I hope future versions will allow some sort of embedded structures, eg for this segments let p1 = scat [c..c']^/4 p2 = delay (1/4) $ scat [c..c']^/4 p3 = delay (3/4) $ scat [c..c']^/4 in (accent . legato) (p1 p2 p3) I would have expected something like p2 = delay (1/4) $$ [p1] or somesuch (sorry about the notation, I've never used Haskell - my point is about the nesting). I would also love to see ways to…

I don’t know much about Haskell, but I looked up `let`’s documentation, and I think it already does support embedded structures like you ask for. You can just write `p2 = delay (1/4) $ p1` (and you can also leave out the `$` because `p1` is already atomic). I think the site’s example repeats the definition of `p1` just to make reading the example clearer, not because you are forced to code like that.

Re: The Music Suite

#13

Clojure fans should look at http://overtone.github.io/ for something similar. Of particular note is the file https://github.com/overtone/overtone/blob/master/src/overton... which is an absolute work of art.

I don't see this as similar?

overtone = Composing with code (Something Music Suite isn't really doing of itself

Music-Suite = Creating, processing or analyzing music (Also notating from my point of view)

Re: The Music Suite

#15
post #13

Clojure fans should look at http://overtone.github.io/ for something similar. Of particular note is the file https://github.com/overtone/overtone/blob/master/src/overton... which is an absolute work of art.

I don't see this as similar? overtone = Composing with code (Something Music Suite isn't really doing of itself Music-Suite = Creating, processing or analyzing music (Also notating from my point of view)

How do you see composing as different from creating in this context?

(Not being sarcastic. It's an interesting distinction.)

Re: The Music Suite

#16

Clojure fans should look at http://overtone.github.io/ for something similar. Of particular note is the file https://github.com/overtone/overtone/blob/master/src/overton... which is an absolute work of art.

I love it when people write good docstrings for their functions. I always write them first and then finish the code. It makes it so much clearer what you are intending to do and helps cut down unnecessary comments.

Re: The Music Suite

#20
post #18

I want something to take a music file (mp3 or otherwise) and spit out sheet music for it. Possible?

There are lots of algos for this. The ones that work well are complex. None of them work that great on full pieces of complex music with many instruments playing at once.

The Ableton Live music package has a great one built in, which appears to do some kind of probabilistic modelling for harmonies. You can send all kinds of crazy noises into it and the resultant chord progressions become increasingly avant-garde, but remain musical.

These algorithms often output midi (ableton does) and it seems you could put that into this Music Suite software and have it spit out notation.

Look in the literature and you will find tons of research on this stuff.

Post reply on HN