1.1 KiB

Song Idea Generator

Consisting of a Rust library for generating song ideas libsig, a command line tool for calling libsig, and a web interface with a JSON API for getting structured results from libsig.


The primary type of libsig is the SongIdea. You can generate human-readable representations with Display (so, println!("{}", my_song_idea)).

For ease of use there is a command line tool called sigcli:

$ cargo run --quiet --example cli -- 5
skittery kick, dampened hat, and calm tom at 254 bpm, with no swing, through bitcrusher, reverb, phaser, distortion, and wah
skittery bass, smooth pad, massive snare, smooth tom, and digital cymbal at 33 bpm, with heavy swing, clean
splashy lead and harsh bass at 39 bpm, with no swing, through compressor
buzzy pad, glassy vocals, plonky kick, plucky snare, and dry tom at 63 bpm, with heavy swing, through ring modulator
surfy lead, blownout pad, light vocals, acidic snare, sonorous hat, and digital tom at 33 bpm, with no swing, through lofi

It also takes a parameter --ambient to avoid suggesting percussion parts.