Music theory and notation package for Python
mingus is an advanced music theory and notation package for python. It can be used to play around with music theory, to build editors, educational tools and other applications that need to process and/or play music. mingus can also be used to create sheet music with LilyPond and do automated musicological analysis.
- mingus.core features:
- Work with notes, intervals, chords, scales, keys and meters in a simple and theoretically sound way.
- Generate natural diatonic intervals (seconds, thirds, fourths, etc) and absolute intervals (minors second, perfect fifths, etc.)
- Generate natural diatonic triads, seventh chords, and absolute chords directly or from shorthand (min7, m/M7, etc). mingus also knows about inversions, slashed chords and polychords.
- Refer to chords by their diatonic function (tonic, subtonic, etc. or I, ii, iii, IV, etc).
- Generate chords from abstract chord progressions (eg. ["I", "IV", "V"]).
- Work with diatonic scales and their modes (ionian, mixolydian, etc.), generate the minor (natural, harmonic and melodic) and chromatic or whole note scales.
- Recognize intervals, scales and hundreds of chords from lists of notes.
- Recognize the harmonic functions of chords.
- mingus.containers features:
- The Note class: can keep track of octaves, dynamics and effect and also allows you to compare Notes: eg. Note("A")
In a hurry? Add it to your Download Basket!
What's New in version 0.3.1.3
- Added fluidsynth support and a MIDI sequencer which means mingus can now finally play notes as well. Hooray!