The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Guitar::Scale.pm - The creation and viewing the guitar scale.

SYNOPSIS

        use Guitar::Scale;

        # .. preview scale
        Guitar::Scale::pv('C', 'Blues');

        # .. Other
        Guitar::Scale::pv('B', 'Spanish');

        # .. Other
        Guitar::Scale::pv('C#', 'HeavyMetal');

        # .. Your Handmade Scale
        Guitar::Scale::pv('F', '201000010000');

DESCRIPTION

I can view the guitar scale easily. In addition, it is also possible to check by shifting the base sound.

OBJECT INTERFACE

These are the methods in use Guitar::Scale object interface.

scale

pv can see the sound of all of the finger board.

        pv($key, $type, [mode]);

key

        E F F# Gb G G# Ab A A# Bb B C C# Db D D# Eb

type

        'MitsuruMetal'
        'Aeolian'
        'Altered'
        'Algerian'
        'Blues'
        'Blues++'
        'Chromatic'
        'Diminish--'
        'Diminished'
        'Dorian'
        'Dominant7th'
        'Diatonic'
        'Egyptian'
        'HarmonicMinor'
        'Hawaiian'
        'Hindu'
        'HeavyMetal'
        'Ionian'
        'Japanese'
        'Lydian'
        'Minor'
        'MelodicMinor'
        'Mixolydian'
        'Major'
        'Pentatonic'
        'Phrygian'
        'Roumanian'
        'Ryukyu'
        'Sobaya'
        'Spanish'
        'Ultralocrian'
        'WholeTone'
        

mode is optional; the default is '0'.

        0: normal preview -> <>+<>+--+<>+
        1: binary preview -> 201101010101

Handmade Scale

Set the fingerboard the second argument. Be a binary of 12 digits starting from 2 Always. Assume the E first because the bass sound.

        Example:
        []+--+--+<>+--+<>+<>+<>+--+--+<>+--+ => '200101110010'

        Guitar::Scale::pv('E', '200101110010');

Example

        Guitar::Scale::pv('A', 'Blues');
        
        <>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+
        --+<>+--+<>+<>+<>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+--+--+<>+--+[]+--+--+
        <>+--+[]+--+--+<>+--+<>+<>+<>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+--+--+<>+
        <>+<>+<>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+--+--+<>+--+[]+--+--+<>+--+<>+
        []+--+--+<>+--+<>+<>+<>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+--+--+<>+--+[]+
        <>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+--+--+<>+--+[]+--+--+<>+--+<>+<>+<>+
        00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
        
        --: none.
        <>: active.
        []: base.

Example

        Guitar::Scale::pv('A', 'Blues' ,1);
        
        1001020010111001020010111
        0101110010200101110010200
        1020010111001020010111001
        1110010200101110010200101
        2001011100102001011100102
        1001020010111001020010111
        
        0: none.
        1: active.
        2: base.

HeavyMetal

'HeavyMetal' && 'MitsuruMetal' scale is the original scale of Mitsuru Yasuda.

Scale Demonstration

        http://youtu.be/5v1lNv_EsiQ
        http://youtu.be/3GhmcbKCtSE

AUTHOR

Mitsuru Yasuda, dsyrtm@cpan.org

        http://simql.com/

COPYRIGHT & LICENSE

Copyright (C) 2013 by Mitsuru Yasuda &

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.