Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Input Devices Programming Build

Programming On a Piano Keyboard 57

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.
This discussion has been archived. No new comments can be posted.

Programming On a Piano Keyboard

Comments Filter:
  • by K. S. Kyosuke ( 729550 ) on Tuesday June 24, 2014 @06:25PM (#47310801)
    ...you play one of Chopin's Études, and a Perl program falls out...
  • 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....

  • PHBs (Score:4, Funny)

    by TechyImmigrant ( 175943 ) on Tuesday June 24, 2014 @06:39PM (#47310897) Homepage Journal

    Beware! Write your stream encryptor in a lydian mode and the PHB will come back and ask for it in phrygrian.

  • 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.
  • Hmm... (Score:2, Interesting)

    I wonder what would happen if someone took this concept and reversed it, what would currently used code sound like?
    • ...I'll spare you the trouble of the finding anything made from it.

      It'll sound like a bunch of random notes. If the coders were thoughtful enough, they'd have taken simple common strings and made them correspond to notes in a chord, but beyond that it'd be atonal garbage with occasional breaks for My Dog Has Fleas.

    • by jd2112 ( 1535857 )

      I wonder what would happen if someone took this concept and reversed it, what would currently used code sound like?

      I suspect that some of my code would sound like Death Metal.

  • by ghn ( 2469034 ) on Tuesday June 24, 2014 @08:12PM (#47311545)

    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...

  • by Anonymous Coward

    Does all MS code need to be written in the key of C#?

  • by hyc ( 241590 ) on Tuesday June 24, 2014 @09:15PM (#47311903) Homepage Journal

    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.

    • by slapout ( 93640 )

      I remember playing around with GFA Basic and a Midi keyboard hooked to my Atari ST. I had it set up so that whatever note you played on the musical keyboard, the computer would calculate a note an octave higher and then send that note back out to the musical keyboard and it'd play that note. It was pretty cool.

  • 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?

  • ... 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 wa

  • by cpm99352 ( 939350 ) on Wednesday June 25, 2014 @01:42AM (#47312929)
    The ridiculous summary suggesting that garbage produced from a computer program could be considered music immediately reminded me of Douglas Hofstadter's [wikipedia.org] Gödel Escher Bach [wikipedia.org], 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.

  • :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 Scien

  • Convert Windows Vista to music, hijack a shortwave radio station & broadcast it around the globe! Muahahahahahaha!

After the last of 16 mounting screws has been removed from an access cover, it will be discovered that the wrong access cover has been removed.

Working...