Skip to content

hoffa/pyogi-notation

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

pyogi-notation

Tests CC BY-NC-ND 4.0

A simpler music notation for casual piano learners.

Why?

I'm bad at piano but I'm trying to learn by myself, and I find modern music notation overwhelming.

For example:

  1. Why does the note corresponding to a line on the staff depend on (1) the clef, (2) the key signature, and (3) the accidental next to a note? I need to look in 3 places just to know which key to press.
  2. Why have both C♯ and D♭ when they correspond to the same key?
  3. Why aren't staff lines for different octaves consistent? If a note is on a solid line, the same note one octave higher is on a blank line.

Example

Schubert's Allegretto in Pyogi notation

See the testdata/output/pdf directory for more examples.

The notation in 1 minute

  • Thick lines are C notes.
  • The higher the note, the higher the pitch.
  • White notes are naturals.
  • Black notes are sharps.

There are no explicit flats, rests, note values, time signatures, key signatures, etc. Play what sounds good.

Usage

Convert a MusicXML file to a PDF in Pyogi notation:

make init
.venv/bin/python src/main.py score.mxl

Development

Set up dependencies:

make init

Run tests:

make test

If the rendering changes, tests can be quickly updated with:

UPDATE=1 make test

About

A simpler music notation for casual piano learners

Topics

Resources

License

Stars

Watchers

Forks