An intelligent music stand
Python C Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
audio
mstand
profiles Using the piano profile that the combined interpreter wants. Feb 21, 2010
scores
tests/identify
.gitignore
Makefile
Readme.markdown
compsflower.jpg
fingerprint.py
identify.py
matcher_tester.py
musicstand.py
playground.py
plot.py
record.py
test.py

Readme.markdown

Piano Hero

"Piano Hero" is an intelligent music stand – a program that displays sheet music on screen, and uses a computer microphone to follow along to you playing the piece on a piano, showing you where you are and turning the page for you.

It was created by a group of class of 2010 Computer Science majors at Carleton College for their senior integrative exercise. It has absolutely no relation to the "Guitar Hero" series of games.

Dependencies

Piano Hero currently only runs on Mac OS X systems, version 10.5 and above. (Running Piano on Intel Macs requires Rosetta for a minor part of the music import toolchain.)

We depend on the following libraries and components:

  • Python 2.5 or higher, with its compilation headers available. Piano Hero requires CPython and does not run under Jython, IronPython, or any other implementation.
  • PortAudio v19. It's best to install this using the Subversion trunk or a nightly snapshot of the trunk.
  • fftw v3.2 or newer.
  • LilyPond 2.12.2, or possibly newer. The LilyPond application bundle should be installed into either the normal Applications folder, or the mstand folder within the project.
  • Python Imaging Library 1.1.

Building

Portions of Piano Hero are implemented as a C extension module for Python. To build this module, first ensure that the above dependencies are installed, and then run make from inside the top-level project directory.

Running

To launch Piano Hero, run python musicstand.py from inside the top-level project directory.