NAME

MIDI::Bassline::Walk - Generate walking basslines

VERSION

version 0.0103

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 logic (and music theory) implemented here, can generate some sour notes. And sometimes too much! This is an approximate composition tool, and not a drop-in bass player. Import the rendered MIDI into a DAW and alter things until they are suitable.

The chords recognized by this module, are those known by 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

Data::Dumper::Compact

Carp

List::Util

Music::Chord::Note

Music::Note

Music::Scales

Music::VoiceGen

Moo

strictures

namespace::clean

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)