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.