NAME
MIDI::Bassline::Walk - Generate walking basslines
VERSION
version 0.0106
SYNOPSIS
use MIDI::Bassline::Walk;
my $bassline = MIDI::Bassline::Walk->new(verbose => 1);
my $notes = $bassline->generate('C7b5', 8);
# MIDI:
# $score->n('qn', $_) for @$notes;
DESCRIPTION
MIDI::Bassline::Walk
generates randomized, walking basslines.
The "formula" implemented by this module is basically, "play any notes of the chord-root scale, plus the notes of the chord that may differ, minus the notes those replaced."
The logic (and music theory) implemented here, can generate some sour notes. This is an approximate composition tool, and not a drop-in bass player. Import rendered MIDI into a DAW and alter things until they are suitable.
The chords recognized by this module, are those known to Music::Chord::Note. Please see the source of that module for the list.
ATTRIBUTES
intervals
$verbose = $bassline->intervals;
Allowed intervals passed to Music::VoiceGen.
Default: -3 -2 -1 1 2 3
octave
$octave = $bassline->octave;
Lowest MIDI octave.
Default: 2
verbose
$verbose = $bassline->verbose;
Show progress.
Default: 0
METHODS
new
$bassline = MIDI::Bassline::Walk->new(
intervals => $intervals,
octave => $octave,
verbose => $verbose,
);
Create a new MIDI::Bassline::Walk
object.
generate
$notes = $bassline->generate;
$notes = $bassline->generate($chord, $n);
Generate n MIDI pitch numbers given the chord.
Defaults:
chord: C
n: 4
SEE ALSO
AUTHOR
Gene Boggs <gene@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2021 by Gene Boggs.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)