Skip to content

CooperStansbury/starling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

starling

midi melody generation

usage:  [-h] [-n N] [-scale [SCALE]] [-octave [OCTAVE]]
        [-oct_range [OCT_RANGE]] [-tracks [TRACKS]] [-note_dev [NOTE_DEV]]
        [-beat [BEAT]] [-max_length [MAX_LENGTH]] [-rand_beat [RAND_BEAT]]
        [-vel [VEL]] [-key [KEY]] [-output [OUTPUT]] [-rests [RESTS]]

A Python3 commandline tool to generate midi melodies.

optional arguments:
  -h, --help            show this help message and exit
  -n N                  Number of melodies to generate.
  -scale [SCALE]        Scale to generate melodies/chords from.
  -octave [OCTAVE]      When octave == 0: C3 = 60. All offsets are +1, -1 from
                        C3. You need to specify negative offsets.
  -oct_range [OCT_RANGE]
                        The number of octaves of the scale used to generate
                        the melody. Octaves start at the default key center at
                        the root specified by the `octave` parameter.
  -tracks [TRACKS]      The number of 'voices' (as separate tracks) in the
                        output files.
  -note_dev [NOTE_DEV]  The probability [0, 1] that a note is altered by one
                        half-step. The probability is for EACH NOTE in the
                        chord or melody.
  -beat [BEAT]          Beat length value of a 'quarter note' at 120bpm, 480
                        represents a 'regular' quarter note.
  -max_length [MAX_LENGTH]
                        The maximum number of 'beats' from the `beat`
                        parameter of the entire phrase. Phrase may be shorter.
  -rand_beat [RAND_BEAT]
                        Should the beats be random (True), or should they be
                        constant (False)?
  -vel [VEL]            Velocity of the notes.
  -key [KEY]            Key to produce melodies in.
  -output [OUTPUT]      Output path. Defaults to `output/`. Path is relative
                        to execution.
  -rests [RESTS]        Should the output contain random rests?

About

constrained random midi melody generation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published