Skip to content

A programming library for composition and jazz theory

License

Notifications You must be signed in to change notification settings

samg7b5/sidewinder

Repository files navigation

Sidewinder:snake::saxophone::robot:

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)

About

A programming library for composition and jazz theory

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages