Hacker News new | past | comments | ask | show | jobs | submit login

Really awesome, what a wonderful way to expand one's horizon on an instrument.

In simple terms, he is making a custom delay-box for a fancy player-piano (the Yamaha Disklavier). For one example he programmed the piano to be symmetric (i.e. any note on one side will nearly immediately play a cognate key from the other side). In another example he has the piano play inversions of arpeggios after he plays them.

There is not much about the code, but a freeze frame at 1' 34" shows a Processing 3 logo [1] which is likely used for generating the real-time graphics for performances, and can also be used to communicate with devices. I think it says great things about the state of programming languages when barriers can be made small enough for professional pianists to make something for themselves!

[1] https://processing.org




Barriers have been pretty low for a while now. At IRCAM in the 1980s, visiting composers would typically first be assigned a computer expert to help them, but many of them soon learned to work with e.g. PatchWork or OpenMusic themselves, unassisted (typically programming in Lisp in those days). While I'm happy that this contemporary pianist is able to get the behaviour he wants from his instrument, I don't see how this is particularly knew or innovative when, for example, Philippe Manoury was doing the same three decades ago.


That's cool, I didn't know that!

I'm still amazed at the low barrier nowadays - I just sat down this morning with my keyboard and computer. I downloaded Processing and MidiBus and had Tepfer style symmetric piano and delay working in under 30 minutes (though I had a dusty understanding of Java to begin with). [1] I think I'm inspired to try my own Tepfer-piano playing...

[1]: https://gist.github.com/schollz/f8ec8687e7de784aee6831fb2ca2...


Personally i have found that the problem with programming these days is not the language, but finding a solid reference for all the libraries.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: