Tuesday, May 3

Ivory encore for dead piano greats

This is pretty awesome... Scientists have been able to develop technology to recreate performances from recordings on MIDI-enabled player pianos. This technology is available in a very rudimentary fashion to consumers, usually being unable to capture more than one note of music sounding at a time. The fact that this new incarnation can decipher entire piano pieces is amazing, especially because it has been able to use "scratchy mono recording[s]" as its starting point for the audio-to-MIDI conversion.

MIDI (Musical Instrument Digital Interface) creates sound by telling a tone generator what notes to play with "note on" and "note off" messages sent sequentially. The upshot of this is that a MIDI file contains within it all of the instructions necessary to translate the song it contains into human-readable music notation. It also allows the size of the files to be very small because it does not need to contain all of the information needed to produce the sounds... it only needs to instruct another device to do so.

The problem comes in the public's perception of MIDI files. Most people who just play MIDI files on their home computers get the impression that they play sound with horrible quality, but it is actually their computer sound cards (acting as the tone generators) that are at fault. MIDI is an impressive technology, and it is very undervalued in today's tech culture mainly because of poor understanding of its intricacies.

The ability to translate audio recordings into MIDI messages has been long in coming, and hopefully a consumer version of this technology will be developed sometime in the near future.

No comments:

Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. Permissions beyond the scope of this license may be available by emailing the author (use the link above).

The Geek Code desperately needs updating, but in any case here's mine (as of 2010-02-28):

Version: 3.12
GIT/MU d+(-) s:+>: a C++> ULXB++++$ L+++ M++ w--() !O !V P+ E---
W+++ N o++ K? PS PE++ Y+ PGP t !5 X- R- tv+@ b++ DI++++ D--- e*++
h--- r+++ y+++ G+

If you really care about knowing what that all means, you either know the code already, or you can get it decoded for you here.