Sidewinder is a programming library for composition and jazz theory.
bspaans/python-mingus is used as a foundation for musical logic and MIDI support.
"Good enough for jazz"
Current features:
- Generate a simple midi backing track when given a leadsheet (chords) (see example 01)
- Analyse jazz chords in terms of shorthand and roman numeral notation (using mingus)
- Vertical voicings of chords: basic (in thirds), rootless variations, more to be added (shell, etc.)
- Horizontal voicings i.e. voice leading
- Generate melodies and basslines e.g. walking bassline
- Analyse melody lines in terms of jazz scales (all modes, alterations and more exotic scales are supported)
Upcoming features:
- More horizontal voicing / composition algorithms
- Jazz licks library - ability to save melodic lines for future use in melody composition
- Generative methods for improvisation
- ...
To-do (excluding code functionality):
- Create docs (currently placeholder)
- Update requirements.txt (might be bloated)