Home > Mathematica, Research Topics > Musicology Research with Mathematica 9

Musicology Research with Mathematica 9

Musicology Research with Mathematica 9

By James H. Choi
Source Link


Mathematica 9 has one important new feature that is not even mentioned anywhere in bold fonts.  It belongs to the “other” category of improvements that interests select few.  Well, I am that select few who have been waiting version after version for this feature.

This new feature is ground-breaking-ly for those who are interested in analysis of compositions.  For example, can you algorithmically recognize if a composition is by Bach?  Or more scientifically speaking, can you calculate Bach-liness score for a piece of music?

We know it can be done because, paraphrasing a Supreme Court Justice on an unrelated case: “We know it when we hear it.”

But there is the first obstacle.  How do we enter the musical score into the computer?  One can scan music scores and recognize the notes and rests.  That’s exactly what my student Hyunjoon Song did, and he won the 4th place at ISEF in 2011 with that research.  But, as his mentor, I know what he has done still needs a great deal of improvement before we can start scanning scores of different sizes/fonts/styles.

What is more intriguing is that most of classical music pieces are already in computer readable format called MIDI (Musical Instrument Digital Interface) file format.  In other words Book↔Text File and Music↔MIDI file.  Every single note’s pitch and duration will be ready to be analyzed by your algorithm if you can import MIDI file.  “If” you can import, that is.


Mathematica has been able to export into MIDI for some time.  That’s how Hyunjoon Song above exported the result of his musical score recognition into MIDI and used a common media player to play it for the judges.

With Mathematica 9, finally you can import MIDI files: http://reference.wolfram.com/mathematica/ref/format/MIDI.html

This opens a wide gate for many research topics for those who are passionate about music and science at the same time.

Do you want to teach computers to measure your favorite composer’s greatness?  Now you have all the tools.  All you need is your insight and ability to teach the computer to act on your insight: algorithm programming.  The best tool for it is now clear.  It is Mathematica 9.

Korean version: Mathematica 9으로 하는 음악 연구


  1. Musiclover
    September 8, 2013 at 7:57 am

    There was already a nice & complete Mathematica package (written by some Greek, don’t remember his name) for _reading_ & writing MIDI files (type 0).

    Years ago!

    I myself have written a Lisp library for MIDI export, and I’m certainly no top-notch programmer.

    Seems your student & you were just too lazy to tackle the MIDI specs – and you want extract Bach-ness from his music? Ha ha!

  1. November 30, 2012 at 3:43 pm
  2. December 18, 2012 at 3:13 pm
  3. January 9, 2013 at 3:31 pm
  4. February 20, 2013 at 3:40 pm
  5. March 9, 2013 at 10:53 pm
  6. June 3, 2013 at 1:24 pm
  7. June 3, 2013 at 1:29 pm
  8. June 3, 2013 at 1:35 pm
  9. June 3, 2013 at 1:41 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: