fretboarder icon indicating copy to clipboard operation
fretboarder copied to clipboard

improvisation template

Open sugizo opened this issue 3 years ago • 0 comments

Description

nice to have improvisation template to help guitarist play melody with more option they want it's base on relationship between arpeggio and scale (semitone based relationship) realize that fretboard.app already have this kind of feature but it's manual (guitarist must need know the music theory about the relationship) n sometime guitarist have no idea to improve melody without this knowledge

Implementation details

similar like 'Add new scale/arpeggio' on fretboard.app but this one 'Add from template' then can choose which template that will load logically in pydal (web2py or py4web) can use contains e.g.

>>> db.define_table('scale',
...                 Field('name'),
...                 Field('semitones', 'list:string'))
<Table scale (id, name, semitones)>
>>> db.scale.semitones.requires = IS_IN_SET(('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'))
>>> db.scale.insert(name='Major Pentatonic', semitones=['0', '2', '4', '7', '9'])
1
>>> major_chords = db(db.scale.semitones.contains('0', '4', '7')).select()
>>> for item in major_chords:
...     print item.name, item.semitones
... 
Major Pentatonic ['0', '2', '4', '7', '9']

ref http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#list-type-and-contains

Examples

with this info will give guitarist an idea how to improvise melody case song start in C Major (0, 4, 7), then base on this feature guitarist can load the scales, and remove some that they don't want green indicate the improvised note (base on the chord or scale play in a song)

1 Major Pentatonic Scale

can provide another table if you interest, or can learn the logic behind contains in pydal to make computer do the 'grouping' job

thanks

sugizo avatar Sep 22 '20 22:09 sugizo