Programming On a Piano Keyboard
An anonymous reader writes: Here's a fun project: engineer Yuriy Guts built a Visual Studio extension that lets people program using MIDI instruments. You can write code letter by letter on a piano keyboard. Granted, it's not terribly efficient, but it's at least artistic — you can compose music that is also a valid computer program. Somewhat more usefully, it also allows you to turn a simple MIDI input device, like a trigger pad into a set of buttons that will run tests, push/pull code, or other tasks suitable for automation. The extension is open source and open to contributions.
...you play one of Chopin's Études, and a Perl program falls out...
Ezekiel 23:20
That's strange, when I play my programs back all I hear is Schoenberg...?
Now we just need to make every day objects MIDI instruments and your plant (via midi-enabled soil sensor) can write the code to turn on the tap to give it more water....
Beware! Write your stream encryptor in a lydian mode and the PHB will come back and ask for it in phrygrian.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
I bet she could weave not only a functioning program but a nice tune--plus an interesting video of the process.
Loom#
"Never try to teach a pig to sing; it wastes your time and it annoys the pig".
Likewise, I expect this produces terrible music and not very good code.
As a software engineer focused on music software, this is about as frivolous as nearly every story combines music and tech. At least it's a twist on the really, really, really tired but still ubiquitous gimmick of "They used software to take non-music data and made music from it! OMGWTFBBQ!" If you were to judge the state of music and technology based on tech stories, you'd think people working in the field were hacks and imbeciles with bad taste.
I wonder what would happen if someone took this concept and reversed it, what would currently used code sound like?
That reminds me of the movie where Kevin Bacon played Kevin Mitnick, doing a pair-coding duet, dancing on a giant 15-foot keyboard, to fix the Y2K bug for the USSR, thus stopping WOPR and averting World War 3.
A keyboard is a keyboard. Might not be qwerty but it is still a effing keyboard.
My Piano keyboard has MORE keys than my computer keyboard. Have you people seen these things lately? It's got your standard 88 keys, 20 trigger pads, 4 analog controllers, 9 analog sliders, 8 analog turny nobs, and a dozen or so buttons like "Select" "pause" etc...
Does all MS code need to be written in the key of C#?
with my Atari ST. It was trivial then since the same chip controlled both the keyboard and MIDI ports, just redirect one of the intercept vectors to catch the incoming MIDI packets and feed the notes to the keyboard buffer.
It's more fun to do this with a Zeta MIDI violin. I programmed it to move the mouse pointer on glissandos too, could do pretty much anything without touching keyboard or mouse.
-- *My* journal is more interesting than *yours*...
It seems like there should be useful mappings between the linear layout and chording affordances of a piano keyboard, and some computer-based tasks (although probably not "typing", I'd think). Maybe a less wrist-wracking rendition of Emacs commands?
Let's see. If you're typing with a normal alphanumeric keyboard, keystroke ordering matters, but keystroke force (velocity) doesn't, and hold time matters only crudely. How would you take advantage of velocity sensitivity?
before you ask I'm referring to the really awesome steampunk webcomic called "Girl Genius"
Just don't put the git commit and git revert keys too close together :-)
Always wanted a Hyper pedal.
... using computer code or math to make music. Back in the (early) '70s, you'd sometimes see these weird commercials where Fred MacMurray (I imagine most /.ers just said to themselves "Fred Who?") was showing how a bunch of Korean schoolkids were doing math using their fingers on their desks in a piano-playing sort of action. The commercial was for some kind of learning aid to teach your kids how to do that. (Q: Does anyone recall those ads? What the heck was the name of the technique being hawked?) This was some years before hand-held calculators even existed let alone were actually affordable. I thought it might be interesting to use that to numerically integrate equations, somehow translate the finger action involved onto a standard 88-key keyboard, and see what comes out. Composition titles would be the equation being integrated. I figured the resulting music would have sounded something like Philip Glass or Steve Reich so public performances might have been hazardous to your health in certain venues. (For example, a place like this.)
CUR ALLOC 20195.....5804M
As far as I am concerned... just because a MIDI port was originally used for keyboards does not mean its limited to that. A MIDI port is really quite versatile and can be used for many other things.
Now, one thing I used to like a lot is the 15-pin game and MIDI port was on damned near every PC, and very few people had it tied up. It was simply a great way for me to get data in and out of the computer. All I needed to do was coin a protocol on my Borland C++ compiler, and talk to the port. I could always design hardware on the other end to talk to it. Shift registers. It was very easily optically isolated, which again made it ideal for what I was doing where I did not want to risk a very expensive PC because I had a ground fault somewhere.
I really liked that port. I used it a lot when I was building custom things controlled by a PC in the early DOS days.
Another neat protocol out these days is DMX. Used for light controllers.
They may make these for one thing, but when you see just what it is and how it works, they have usually made something that will work for a lot of stuff.
"Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]
people still use MIDI? I haven't seen a MIDI song since the Windows 95 days. I also thought all electrical pianos use USB ports. I learned something kinda new today. Thanks for sharing.
Has been around for years... Turning my midi input devices, like TouchDAW, into macro buttons.
But of all midi input devices, my keyboard is probably my last choice.
Would be cool if you could do it the other way around too. Create music out of code :)
The ridiculous summary suggesting that garbage produced from a computer program could be considered music immediately reminded me of Douglas Hofstadter's Gödel Escher Bach, where music and its relevance to AI form much of the book. The book (unlike the article) has meaningful thoughts on Chopin, Bach and AI.
Anyone seriously interested in music & computers needs to read this book now.
Two words: chord keyboard.
I used one in '87 or '88 at SRI. It was old then, part of Engelbart's mouse/keyset interface. He first demo'd it in '68.
You can use your regular keyboard for character-by-character text. Why not use your midi keyboard for syntactic shortcuts like common types, punctuations, variable names and function calls? That way you have one keyboard on hand for regular typing and another for very quick shortcuts.
I like the idea of making the root chord of a scale a simple dot and your common names as notes on that same scale.
:P It lacks certain subtleties of a proper midi keyboard such as velocity, but with 2-3 stacked octaves it's possible to play quite a lot. Learning a different arrangement isn't all that hard, it's just like playing a slightly different instrument. I actually find certain types of playing like monotone arpeggios easier with the supper light action laptop style keyboards, i guess it's also not that dissimilar to using a programmable midi pad.
My most fun tune to play this way yet has to be "The Halls of Science" by Mike Morasky (from portal), as a pure sine wave of course :D and what more appropriate way than performing on a computer keyboard.
Well, "cat codefile > /dev/audio".
I once had a cd player that would play any cd - including cdroms. It turns out that any cdrom sounds like a duet for circular saw & vacuum cleaner. Quite tiring to listen to.
Convert Windows Vista to music, hijack a shortwave radio station & broadcast it around the globe! Muahahahahahaha!
First they ignore you. Then they laugh at you. Then they fight you. Then you win. -Gandhi
http://glovepie.org/ Turns inputs into outputs. Seriously, if you can find a way to plug your blender into a computer, it can turn it into your new numpad. Or run it backwards, and have it crush a goldfish every time Java throws an exception. You murderer.
This guy did it 2 years ago: https://github.com/Riateche/piano-keyboard