-
-
Notifications
You must be signed in to change notification settings - Fork 4
Documentation
- Basics
- Guitar basics
- Guitar improvisation
- SonicPI
- Examples
open Vaughan.Notes
Example | Output |
---|---|
noteName C | "C" |
noteName CSharp | "C#" |
noteName DFlat | "Db" |
sharp EFlat | E |
flat E | EFlat |
measureAbsoluteSemitones C G | 7 |
intervalBetween C FSharp | DiminishedFifth |
transpose C MajorSixth | A |
open Vaughan.Notes
Example | Output |
---|---|
intervalName DiminishedFifth | "DiminishedFifth" |
fromDistance 6 | DiminishedFifth |
open Vaughan.Notes
open Vaughan.Keys
Example | Output |
---|---|
keyNotes CMajor | [ C; D; E; F; G; A; B ] |
keyNotes EFlatMajor | [ EFlat; F; G; AFlat; BFlat; C; D ] |
keyNotes DMinor | [ D; E; F; G; A; BFlat; C ] |
open Vaughan.Notes
open Vaughan.Scales
Example | Output |
---|---|
createScaleNotes Phrygian C | [ C; DFlat; EFlat; F; G; AFlat; BFlat] |
createScaleNotes LydianAugmented C | [ C; D; E; FSharp; GSharp; A; B ] |
open Vaughan.Notes
open Vaughan.Scales
open Vaughan.Chords
open Vaughan.ChordVoiceLeading
let cMaj7 = {notes= [(C, Root); (E, Third); (G, Fifth); (B, Seventh)]; chordType=Closed}
let cMaj = chordFromRootAndFunction c Major
Example | Output |
---|---|
noteNames cMaj7 | ["C"; "E"; "G"; "B"] |
bass cMaj7 | C |
lead cMaj7 | B |
name cMaj7 | "CMaj7" |
cMaj7.Notes | [(C, Root); (E, Third); (G, Fifth); (B, Seventh)] |
(cMaj7 |> invert).Notes | [(E, Third); (G, Fifth); (B, Seventh); (C, Root)] |
(cMaj7 |> invert |> invert).Notes | [(G, Fifth); (B, Seventh); (C, Root); (E, Third)] |
(cMaj7 |> invert |> invert |> invert).Notes | [(B, Seventh); (C, Root); (E, Third); (G, Fifth)] |
(cMaj7 |> toDrop2).Notes | [(C, Root); (G, Fifth); (B, Seventh); (E, Third)] |
(cMaj7 |> toDrop3).Notes | [(C, Root); (B, Seventh); (E, Third); (G, Fifth)] |
inversionForFunctionAsLead cMaj Third | cMaj |> invert |> invert |
inversionForFunctionAsBass cMaj Fifth | cMaj |> invert |> invert |
invertionWithLeadClosestToNote cMaj CSharp | cMaj |> invert |
invertionWithBassClosestToNote cMaj F | cMaj |> invert |
open Vaughan.Notes
open Vaughan.Scales
open Vaughan.Chords
open Vaughan.ScaleHarmonizer
let cMaj = {Notes= [(C, Root); (E, Third); (G, Fifth)]; ChordType=Closed; Name="CMaj"}
let cMin = {Notes= [(C, Root); (EFlat, Third); (G, Fifth)]; ChordType=Closed; Name="CMin"}
let cMaj7 = {Notes= [(C, Root); (E, Third); (G, Fifth); (B, Seventh)]; ChordType=Closed; Name="CMaj7"}
let cIonian = createScaleNotes Ionian C
let cMinor = createScaleNotes HarmonicMinor C
Example | Output |
---|---|
triadsHarmonizer ScaleDgrees.I cIonian | cMaj |
triadsHarmonizer ScaleDgrees.I cMinor | cMin |
triadsHarmonizer ScaleDgrees.I cMinor | cMin |
seventhsHarmonizer ScaleDgrees.I cIonian | cMaj7 |
Note: This part of the documentation is a bit out of date on 14/04/2018 see sample code until I have time to update documentation
open Vaughan.Notes
open Vaughan.Chords
open Vaughan.Guitar
open Vaughan.GuitarTab
open Vaughan.ScaleHarmonizer
open Vaughan.Scales
createScaleNotes Ionian C
|> triadsHarmonizer ScaleDgrees.I
|> createGuitarChord SixthString
|> tabify
Output:
CMaj
E|---|
B|---|
G|---|
D|-5-|
A|-7-|
E|-8-|
createScaleNotes Ionian C
|> seventhsHarmonizer ScaleDgrees.I
|> toDrop2
|> createGuitarChord FifthString
|> tabify
Output:
CMaj7
E|---|
B|-5-|
G|-4-|
D|-5-|
A|-3-|
E|---|
createScaleNotes Ionian A
|> seventhsHarmonizer ScaleDgrees.I
|> toDrop2
|> createGuitarChord FifthString
|> tabify
Output:
AMaj7
E|----|
B|-14-|
G|-13-|
D|-14-|
A|-12-|
E|----|
createScaleNotes Ionian F
|> seventhsHarmonizer ScaleDgrees.I
|> createGuitarChord FourthString
|> tabify
Output:
FMaj7
E|-12-|
B|-13-|
G|-14-|
D|-15-|
A|----|
E|----|
createScaleNotes Ionian C
|> seventhsHarmonizer ScaleDgrees.I
|> toDrop3
|> createGuitarChord SixthString
|> tabify
Output:
CMaj7
E|---|
B|-8-|
G|-9-|
D|-9-|
A|---|
E|-8-|
createScaleNotes Ionian C
|> seventhsHarmonizer ScaleDgrees.I
|> toDrop3
|> createGuitarChord FifthString
|> tabify
Output:
CMaj7
E|-3-|
B|-5-|
G|-4-|
D|---|
A|-3-|
E|---|
createScaleNotes Ionian C
|> seventhsHarmonizer ScaleDgrees.I
|> toDrop2
|> createGuitarChord FifthString
|> shapify
Output:
CMaj7
EADGBE
X3545X
let cIonian = createScaleNotes Ionian C
let cMaj = seventhsHarmonizer ScaleDgrees.I cIonian
let dMin = seventhsHarmonizer ScaleDgrees.II cIonian
let eMin = seventhsHarmonizer ScaleDgrees.III cIonian
let fMaj = seventhsHarmonizer ScaleDgrees.IV cIonian
let guitarChords = [cMaj; dMin; eMin; fMaj]
|> List.map (toDrop2 >> (createGuitarChord FifthString))
tabifyAll guitarChords
Output:
CMaj7 DMin7 EMin7 FMaj7
E|-------------------------------------|
B|----5-------6-------8-------10-------|
G|----4-------5-------7-------9--------|
D|----5-------7-------9-------10-------|
A|----3-------5-------7-------8--------|
E|-------------------------------------|
open Vaughan.Notes
open Vaughan.Chords
open Vaughan.Scales
open Vaughan.Guitar
open Vaughan.GuitarTab
open Vaughan.ScaleHarmonizer
createScale Ionian C
|> createGuitarScale 2 6
|> createGuitarMelodicLineFromScale
|> tabifyMelodicLine
|> printf "\n%s"
Output:
e||---------------------------------------------3--5-||
B||------------------------------------3--5--6-------||
G||---------------------------2--4--5----------------||
D||------------------2--3--5-------------------------||
A||---------2--3--5----------------------------------||
E||---3--5-------------------------------------------||
createScale Ionian C
|> createGuitarScale 4 8
|> tabifyScale
|> printf "\n%s"
Output:
e||---------------------------------------------5--7--8-||
B||------------------------------------5--6--8----------||
G||---------------------------4--5--7-------------------||
D||---------------------5--7----------------------------||
A||------------5--7--8----------------------------------||
E||---5--7--8-------------------------------------------||
createScale Ionian C
|> createGuitarScale 7 10
|> tabifyScale
|> printf "\n%s"
Output:
e||---------------------------------------------7--8--10-||
B||---------------------------------------8--10----------||
G||------------------------------7--9--10----------------||
D||---------------------7--9--10-------------------------||
A||------------7--8--10----------------------------------||
E||---7--8--10-------------------------------------------||
createScale Ionian C
|> createGuitarScale 9 13
|> tabifyScale
|> printf "\n%s"
Output:
e||---------------------------------------------10--12--13-||
B||------------------------------------10--12--13----------||
G||---------------------------9--10--12--------------------||
D||------------------9--10--12-----------------------------||
A||------------10--12--------------------------------------||
E||---10--12--13-------------------------------------------||
Note: This part of the documentation is a bit out of date on 14/04/2018 see sample code until I have time to update documentation
open Vaughan.Notes
open Vaughan.Chords
open Vaughan.Scales
open Vaughan.Guitar
open Vaughan.GuitarTab
open Vaughan.ScaleHarmonizer
let cIonian = createScaleNotes Ionian C
(cIonian
|> triadsHarmonizer ScaleDegree.I
|> createGuitarArpeggio 2 5)
|> tabifyArpeggio
|> printf "\n%s"
Output:
e||---------------------3---||
B||------------------5------||
G||---------------5---------||
D||---------2--5------------||
A||------3------------------||
E||---3---------------------||
(cIonian
|> triadsHarmonizer ScaleDegree.I
|> createGuitarArpeggio 1 4)
|> tabifyArpeggio
|> printf "\n%s"
Output:
e||------------------3---||
B||---------------1------||
G||-------------1--------||
D||---------2------------||
A||------3---------------||
E||---3------------------||
(cIonian
|> triadsHarmonizer ScaleDegree.I
|> createGuitarArpeggio 7 10)
|> tabifyArpeggio
|> printf "\n%s"
Output:
e||---------------------8---||
B||------------------8------||
G||---------------9---------||
D||------------10-----------||
A||------7--10--------------||
E||---8---------------------||
(cIonian
|> triadsHarmonizer ScaleDegree.I
|> createGuitarArpeggio 0 3)
|> tabifyArpeggio
|> printf "\n%s"
Output:
e||---------------------0--3---||
B||------------------1---------||
G||---------------0------------||
D||------------2---------------||
A||---------3------------------||
E||---0--3---------------------||
(cIonian
|> triadsHarmonizer ScaleDegree.I
|> createGuitarArpeggio 9 22)
|> tabifyArpeggio
|> printf "\n%s"
Output:
e||------------------------------------------------12--15--20-||
B||---------------------------------------13--17--20----------||
G||------------------------------9--12--17--------------------||
D||---------------------10--14--17----------------------------||
A||------------10--15--19-------------------------------------||
E||---12--15--20----------------------------------------------||
Note: This part of the documentation is a bit out of date on 14/04/2018 see sample code until I have time to update documentation
open Vaughan.Notes
open Vaughan.Chords
open Vaughan.Scales
open Vaughan.Guitar
open Vaughan.GuitarTab
open Vaughan.ScaleHarmonizer
open Vaughan.ImprovisationGuitar
[chord C Minor7; chord F Dominant7; chord BFlat Major7]
|> tabifyArpeggiosFromChords 5 8
|> List.map (fun t -> printf "\n%s" t)
Output:
CMin7
e||---------------------------6--8-||
B||------------------------8-------||
G||------------------5--8----------||
D||------------5--8----------------||
A||---------6----------------------||
E||---6--8-------------------------||
F7
e||---------------------------5--8-||
B||------------------------6-------||
G||------------------5--8----------||
D||---------------7----------------||
A||---------6--8-------------------||
E||---5--8-------------------------||
BbMaj7
e||---------------------------5--6-||
B||------------------------6-------||
G||---------------------7----------||
D||---------------7--8-------------||
A||---------5--8-------------------||
E||---5--6-------------------------||
["Cm7"; "F7"; "CMaj7"]
|> tabifyArpeggiosFromChordNames 2 5
|> List.map (fun t -> printf "\n%s" t)
Output:
CMin7
e||---------------------------6--8-||
B||------------------------8-------||
G||------------------5--8----------||
D||------------5--8----------------||
A||---------6----------------------||
E||---6--8-------------------------||
F7
e||---------------------------5--8-||
B||------------------------6-------||
G||------------------5--8----------||
D||---------------7----------------||
A||---------6--8-------------------||
E||---5--8-------------------------||
BbMaj7
e||---------------------------5--6-||
B||------------------------6-------||
G||---------------------7----------||
D||---------------7--8-------------||
A||---------5--8-------------------||
E||---5--6-------------------------||
Generated scales contain all chord tones
open Vaughan.Notes
open Vaughan.Chords
open Vaughan.Scales
open Vaughan.Guitar
open Vaughan.GuitarTab
open Vaughan.ScaleHarmonizer
open Vaughan.ImprovisationGuitar
[chord C Minor7; chord F Dominant7; chord BFlat Major7]
|> tabifyScalesFromChords 5 8
|> List.map (fun t -> printf "\n%s" t)
Output: Scales containing all chord tones
CMin7
C Dorian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
C Phrygian
e||---------------------------------------6--8-||
B||---------------------------------6--8-------||
G||------------------------5--6--8-------------||
D||---------------5--6--8----------------------||
A||---------6--8-------------------------------||
E||---6--8-------------------------------------||
C Aolian
e||------------------------------------------6--8-||
B||------------------------------------6--8-------||
G||---------------------------5--7--8-------------||
D||------------------5--6--8----------------------||
A||---------5--6--8-------------------------------||
E||---6--8----------------------------------------||
C MinorPentatonic
e||---------------------------------6--8-||
B||---------------------------6--8-------||
G||---------------------5--8-------------||
D||---------------5--8-------------------||
A||---------6--8-------------------------||
E||---6--8-------------------------------||
C Blues
e||------------------------------------6--8-||
B||---------------------------6--7--8-------||
G||---------------------5--8----------------||
D||---------------5--8----------------------||
A||---------6--8----------------------------||
E||---6--8----------------------------------||
C Dorianb2
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
C HalfWholeDiminished
e||---------------------------------------------5--6--8-||
B||------------------------------------5--7--8----------||
G||---------------------------5--6--8-------------------||
D||------------------5--7--8----------------------------||
A||------------6--7-------------------------------------||
E||---5--6--8-------------------------------------------||
D Phrygian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
D Locrian
e||------------------------------------------6--8-||
B||------------------------------------6--8-------||
G||---------------------------5--7--8-------------||
D||------------------5--6--8----------------------||
A||---------5--6--8-------------------------------||
E||---6--8----------------------------------------||
G Phrygian
e||------------------------------------------6--8-||
B||------------------------------------6--8-------||
G||---------------------------5--7--8-------------||
D||------------------5--6--8----------------------||
A||---------5--6--8-------------------------------||
E||---6--8----------------------------------------||
G Aolian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
G Locrian
e||---------------------------------------6--8-||
B||---------------------------------6--8-------||
G||------------------------5--6--8-------------||
D||---------------5--6--8----------------------||
A||---------6--8-------------------------------||
E||---6--8-------------------------------------||
G HarmonicMinor
e||------------------------------------------5--6--8-||
B||------------------------------------7--8----------||
G||---------------------------5--7--8----------------||
D||------------------5--7--8-------------------------||
A||------------5--6----------------------------------||
E||---5--6--8----------------------------------------||
G NeapolitanMinor
e||---------------------------------------6--8-||
B||---------------------------------7--8-------||
G||------------------------5--7--8-------------||
D||---------------5--6--8----------------------||
A||---------5--6-------------------------------||
E||---6--8-------------------------------------||
G LocrianSharp2
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
A Locrian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
A AlteredDominant
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
F7
C Dorian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
C MelodicMinor
e||------------------------------------------5--7--8-||
B||------------------------------------6--8----------||
G||---------------------------5--7--8----------------||
D||---------------------5--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
C Dorianb2
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
C MinorSixthDiminishedScale
e||---------------------------------------------5--7--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--6--7-------------------------||
A||------------5--6--8----------------------------------||
E||---5--7--8-------------------------------------------||
D Phrygian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
D Dorianb2
e||------------------------------------------5--7--8-||
B||------------------------------------6--8----------||
G||---------------------------5--7--8----------------||
D||---------------------5--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
D HalfWholeDiminished
e||------------------------------------------5--7--8-||
B||------------------------------------6--7----------||
G||---------------------------5--7--8----------------||
D||---------------------6--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
Eb Lydian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
Eb LydianAugmented
e||------------------------------------------5--7--8-||
B||------------------------------------6--8----------||
G||---------------------------5--7--8----------------||
D||---------------------5--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
Eb LydianDominant
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
F Mixolydian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
F LydianDominant
e||------------------------------------------5--7--8-||
B||------------------------------------6--8----------||
G||---------------------------5--7--8----------------||
D||---------------------5--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
F Mixolydianb6
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
F Bebop
e||---------------------------------------------------5--6--8-||
B||------------------------------------------5--6--8----------||
G||---------------------------------5--7--8-------------------||
D||------------------------5--7--8----------------------------||
A||------------5--6--7--8-------------------------------------||
E||---5--6--8-------------------------------------------------||
F HalfWholeDiminished
e||------------------------------------------5--7--8-||
B||------------------------------------6--7----------||
G||---------------------------5--7--8----------------||
D||---------------------6--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
F DominantDiminishedScale
e||------------------------------------------------5--6--8-||
B||---------------------------------------5--6--8----------||
G||------------------------------5--6--8-------------------||
D||---------------------5--7--8----------------------------||
A||------------6--7--8-------------------------------------||
E||---5--6--8----------------------------------------------||
G Aolian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
G Mixolydianb6
e||------------------------------------------5--7--8-||
B||------------------------------------6--8----------||
G||---------------------------5--7--8----------------||
D||---------------------5--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
G LocrianSharp2
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
A Locrian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
A LocrianSharp2
e||------------------------------------------5--7--8-||
B||------------------------------------6--8----------||
G||---------------------------5--7--8----------------||
D||---------------------5--7-------------------------||
A||------------5--6--8-------------------------------||
E||---5--7--8----------------------------------------||
A AlteredDominant
e||------------------------------------------5--6--8-||
B||------------------------------------6--8----------||
G||---------------------------5--6--8----------------||
D||------------------5--7--8-------------------------||
A||------------6--8----------------------------------||
E||---5--6--8----------------------------------------||
BbMaj7
C Dorian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
C Mixolydian
e||---------------------------------------------5--6--8-||
B||------------------------------------5--6--8----------||
G||------------------------------5--7-------------------||
D||---------------------5--7--8-------------------------||
A||------------5--7--8----------------------------------||
E||---5--6--8-------------------------------------------||
C Bebop
e||------------------------------------------------5--6--7--8-||
B||---------------------------------------5--6--8-------------||
G||---------------------------------5--7----------------------||
D||------------------------5--7--8----------------------------||
A||---------------5--7--8-------------------------------------||
E||---5--6--7--8----------------------------------------------||
D Phrygian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
D Aolian
e||---------------------------------------------5--6--8-||
B||------------------------------------5--6--8----------||
G||------------------------------5--7-------------------||
D||---------------------5--7--8-------------------------||
A||------------5--7--8----------------------------------||
E||---5--6--8-------------------------------------------||
D HarmonicMinor
e||------------------------------------------5--6-||
B||---------------------------------5--6--8-------||
G||---------------------------6--7----------------||
D||------------------5--7--8----------------------||
A||---------5--7--8-------------------------------||
E||---5--6----------------------------------------||
D NeapolitanMinor
e||------------------------------------------5--6-||
B||------------------------------------6--8-------||
G||---------------------------6--7--8-------------||
D||------------------5--7--8----------------------||
A||---------5--6--8-------------------------------||
E||---5--6----------------------------------------||
E Locrian
e||---------------------------------------------5--6--8-||
B||------------------------------------5--6--8----------||
G||------------------------------5--7-------------------||
D||---------------------5--7--8-------------------------||
A||------------5--7--8----------------------------------||
E||---5--6--8-------------------------------------------||
G Dorian
e||---------------------------------------------5--6--8-||
B||------------------------------------5--6--8----------||
G||------------------------------5--7-------------------||
D||---------------------5--7--8-------------------------||
A||------------5--7--8----------------------------------||
E||---5--6--8-------------------------------------------||
G Aolian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
A Phrygian
e||---------------------------------------------5--6--8-||
B||------------------------------------5--6--8----------||
G||------------------------------5--7-------------------||
D||---------------------5--7--8-------------------------||
A||------------5--7--8----------------------------------||
E||---5--6--8-------------------------------------------||
A Locrian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
A NeapolitanMinor
e||------------------------------------------5--6--8-||
B||------------------------------------5--6----------||
G||------------------------------5--7----------------||
D||---------------------6--7--8----------------------||
A||------------5--7--8-------------------------------||
E||---5--6--8----------------------------------------||
Bb Ionian
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--8----------||
G||------------------------------5--7--8----------------||
D||---------------------5--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
Bb Lydian
e||---------------------------------------------5--6--8-||
B||------------------------------------5--6--8----------||
G||------------------------------5--7-------------------||
D||---------------------5--7--8-------------------------||
A||------------5--7--8----------------------------------||
E||---5--6--8-------------------------------------------||
Bb Bebop
e||------------------------------------------------5--6--8-||
B||------------------------------------------6--8----------||
G||---------------------------------5--7--8----------------||
D||---------------------5--6--7--8-------------------------||
A||------------5--6--8-------------------------------------||
E||---5--6--8----------------------------------------------||
Bb SixthDiminishedScale
e||------------------------------------------------5--6--8-||
B||---------------------------------------6--7--8----------||
G||------------------------------5--7--8-------------------||
D||---------------------5--7--8----------------------------||
A||------------5--6--8-------------------------------------||
E||---5--6--8----------------------------------------------||
Bb DominantDiminishedScale
e||---------------------------------------------5--6--8-||
B||---------------------------------------6--7----------||
G||------------------------------5--7--8----------------||
D||---------------------6--7--8-------------------------||
A||------------5--6--8----------------------------------||
E||---5--6--8-------------------------------------------||
Experimental, still very new, may change a lot
#r "../packages/bespoke-osc-library/1.0.0/lib/Bespoke.Common.Osc.dll"
#load "Infrastructure.fs"
#load "Domain.fs"
#load "Notes.fs"
#load "Chords.fs"
#load "SonicPi.fs"
open Vaughan.Domain
open Vaughan.Chords
open Vaughan.SonicPi
Statments[
UseBpm 120<bpm>;
WithSynth(Fm, [
WithFx(Reverb, [Mix(0.5)], [
Repeat(2, [
PlayNote(C, OneLine, [
Amplitude(0.5<loud>);
Panning(0.0<pan>);
Attack(2.0<beat>);
Release(2.0<beat>)]);
PlayChord(chord C Major, TwoLine, [
Amplitude(1.0<loud>);
Release(2.0<beat>);
Panning(1.0<pan>)]);
Rest 2<beat>;
Arpeggio([C; E; G; B], OneLine, [1.0<beat>], [])
])
])
])
]
|> toSonicPiScript
|> sonicPiRun
Execute sample code above: cd Vaughan
and fsharpi SonicPi.fsx
#r "../packages/bespoke-osc-library/1.0.0/lib/Bespoke.Common.Osc.dll"
#load "Infrastructure.fs"
#load "Domain.fs"
#load "Notes.fs"
#load "Chords.fs"
#load "SonicPi.fs"
open Vaughan.Domain
open Vaughan.SonicPi
Statments
[
UseBpm 120<bpm>;
LiveLoop("Foo",
[
PlaySample(LoopingSample Garzul, []);
UseSynth TheProphet;
PlayNote(G, Great, [Release(8.0<beat>)]);
Rest 8<beat>
])
]
|> toSonicPiScript
|> sonicPiRun
sonicPiStop
Execute sample code above: cd Vaughan
and fsharpi SonicPiLiveLoop.fsx
to stop this script sound, for now, you have to do it from SonicPi interface (could not get message to halt execution to work yet).
DSL for communicating with SonicPi, requires SonicPi on machine and requires SonicPi to be running.
#r "../packages/bespoke-osc-library/1.0.0/lib/Bespoke.Common.Osc.dll"
#load "Infrastructure.fs"
#load "Domain.fs"
#load "Notes.fs"
#load "Chords.fs"
#load "SonicPi.fs"
open Vaughan.Domain
open Vaughan.SonicPi
let section = Section(
(4<beat>, Quarter),
CMajor,
[
[
1.0<beat>, [(D, OneLine, Quarter); (F, OneLine, Quarter); (A, OneLine, Quarter)];
2.0<beat>, [(D, OneLine, Quarter); (F, OneLine, Quarter); (A, OneLine, Quarter)];
3.0<beat>, [(D, OneLine, Quarter); (F, OneLine, Quarter); (A, OneLine, Quarter)];
4.0<beat>, [(D, OneLine, Quarter); (F, OneLine, Quarter); (A, OneLine, Quarter)]
];
[
1.0<beat>, [(G, OneLine, Quarter); (B, OneLine, Quarter); (D, OneLine, Quarter)];
2.0<beat>, [(G, OneLine, Quarter); (B, OneLine, Quarter); (D, OneLine, Quarter)];
3.0<beat>, [(G, OneLine, Quarter); (B, OneLine, Quarter); (D, OneLine, Quarter)];
4.0<beat>, [(G, OneLine, Quarter); (B, OneLine, Quarter); (D, OneLine, Quarter)]
];
[
1.0<beat>, [(C, OneLine, Quarter); (E, OneLine, Quarter); (G, OneLine, Quarter)];
2.0<beat>, [(C, OneLine, Quarter); (E, OneLine, Quarter); (G, OneLine, Quarter)];
3.0<beat>, [(C, OneLine, Quarter); (E, OneLine, Quarter); (G, OneLine, Quarter)];
4.0<beat>, [(C, OneLine, Quarter); (E, OneLine, Quarter); (G, OneLine, Quarter)]
];
])
Statments[UseBpm 120<bpm>; WithSynth(Pluck, [section])]
|> toSonicPiScript
|> sonicPiRun
Execute sample code above: cd Vaughan
and fsharpi SonicPiSong.fsx
This code works on last build more up to date than documentation
#load "Infrastructure.fs"
#load "Domain.fs"
#load "Notes.fs"
#load "Chords.fs"
#load "Keys.fs"
#load "Scales.fs"
#load "ScaleHarmonizer.fs"
#load "Guitar.fs"
#load "ImprovisationGuitar.fs"
#load "ChordVoiceLeading.fs"
open Vaughan.Domain
open Vaughan.Notes
open Vaughan.Chords
open Vaughan.Keys
open Vaughan.Scales
open Vaughan.ScaleHarmonizer
open Vaughan.Guitar
open Vaughan.GuitarTab
open Vaughan.ImprovisationGuitar
open Vaughan.ChordVoiceLeading
[StandardTunning; Start; Notes(ascEightsRootAbove (guitarArpeggio 5 8 (chord BFlat Major7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(descEightsRootBelow (guitarArpeggio 5 8 (chord BFlat Major7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(ascEightsRootEnclosed (guitarArpeggio 5 8 (chord BFlat Major7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(descEightsThirdEnclosed (guitarArpeggio 2 5 (chord C Major7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(ascEightsRootEnclosed (guitarArpeggio 2 5 (chord C Major7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(ascEightsThirdEnclosed (guitarArpeggio 2 5 (chord C Major7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(ascEightsRootEnclosed (guitarArpeggio 5 8 (chord C Minor7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(ascEightsSeventhEnclosed (guitarArpeggio 5 8 (chord C Minor7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Notes(ascEightsThirdEnclosed (guitarArpeggio 5 8 (chord C Minor7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; ArbArpeggio(descendingArpeggioFrom root (guitarArpeggio 2 5 (chord C Major7))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(ascendingArpeggioFrom root (guitarArpeggio 2 5 (chord C Major))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(ascendingArpeggioFrom root (guitarArpeggio 2 5 (chord G Major))); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Scale(createScale Ionian C |> guitarScale 2 6); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(guitarArpeggio 9 22 (chord C Major)); End]
|> renderTab
|> printf "\n%s"
[
StandardTunning;
Start;
Note({GuitarString=FirstString; Fret=8; Note=C})
End
]
|> renderTab
|> printf "\n%s"
[
StandardTunning;
Start;
Chord(chord D Minor7 |> toDrop3 |> guitarChord SixthString);
Chord(chord G Dominant7 |> toDrop3 |> guitarChord SixthString);
Chord(chord C Major7 |> toDrop3 |> guitarChord SixthString);
End
]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Scale(createScale Ionian C |> guitarScale 4 8); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Scale(createScale Ionian C |> guitarScale 7 10); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Scale(createScale Ionian C |> guitarScale 9 13); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(chord C Major |> guitarArpeggio 9 22); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(chord C Major |> guitarArpeggio 7 10); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(chord C Major |> guitarArpeggio 4 5); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(chord C Major |> guitarArpeggio 1 4); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(chord C Major |> guitarArpeggio 7 10); End]
|> renderTab
|> printf "\n%s"
[StandardTunning; Start; Arpeggio(chord C Major |> guitarArpeggio 0 13); End]
|> renderTab
|> printf "\n%s"
chord C Major7
|> toDrop3
|> guitarChord SixthString
|> tabifyChord
|> printf "\n%s"
chord C Major7
|> toDrop2
|> guitarChord FifthString
|> tabifyChord
|> printf "\n%s"
chord C Major
|> guitarChord FifthString
|> tabifyChord
|> printf "\n%s"
chord C Dominant9
|> skipFunction Fifth
|> guitarChord FifthString
|> tabifyChord
|> printf "\n%s"
chord C Major9
|> skipFunction Fifth
|> guitarChord FifthString
|> tabifyChord
|> printf "\n%s"
createScaleNotes Aolian DSharp
|> triadsHarmonizer ScaleDegree.III
|> guitarChord SixthString
|> tabifyChord
|> printf "\n%s"
createScaleNotes Ionian A
|> seventhsHarmonizer ScaleDegree.I
|> toDrop2
|> guitarChord FifthString
|> tabifyChord
|> printf "\n%s"
createScaleNotes Ionian C
|> seventhsHarmonizer ScaleDegree.I
|> toDrop3
|> guitarChord FifthString
|> tabifyChord
|> printf "\n%s"
createScaleNotes Aolian FSharp
|> seventhsHarmonizer ScaleDegree.III
|> toDrop3
|> guitarChord SixthString
|> tabifyChord
|> printf "\n%s"
createScaleNotes HarmonicMinor BFlat
|> seventhsHarmonizer ScaleDegree.VII
|> guitarChord SixthString
|> tabifyChord
|> printf "\n%s"
createScaleNotes HarmonicMinor C
|> seventhsHarmonizer ScaleDegree.VII
|> guitarChord SixthString
|> tabifyChord
|> printf "\n%s"
createScaleNotes HarmonicMinor C
|> seventhsHarmonizer ScaleDegree.VII
|> guitarChord SixthString
|> tabifyChord
|> printf "\n%A"
createScaleNotes HarmonicMinor C
|> seventhsHarmonizer ScaleDegree.VII
|> toOpen
|> guitarChord SixthString
|> tabifyChord
|> printf "\n%A"
noteName C |> printf "\n%A"
noteName CSharp |> printf "\n%A"
noteName DFlat |> printf "\n%A"
sharp EFlat |> printf "\n%A"
flat E |> printf "\n%A"
measureAbsoluteSemitones C G |> printf "\n%A"
intervalBetween C FSharp |> printf "\n%A"
transpose C MajorSixth |> printf "\n%A"
intervalName DiminishedFifth |> printf "\n%A"
fromDistance 6<ht> |> printf "\n%A"
toDistance PerfectFifth |> printf "\n%A"
keyNotes CMajor |> printf "\n%A"
keyNotes EFlatMajor |> printf "\n%A"
keyNotes DMinor |> printf "\n%A"
createScaleNotes Phrygian C |> printf "\n%A"
createScaleNotes LydianAugmented C |> printf "\n%A"
let cMaj7 = {Notes= [(C, Root); (E, Third); (G, Fifth); (B, Seventh)]; ChordType=Closed; Name="CMaj7"}
let cMaj = chord C Major
noteNames cMaj7 |> printf "\n%A"
bass cMaj7 |> printf "\n%A"
lead cMaj7 |> printf "\n%A"
name cMaj7 |> printf "\n%A"
cMaj7.Notes |> printf "\n%A"
(cMaj7 |> invert).Notes |> printf "\n%A"
(cMaj7 |> invert |> invert).Notes |> printf "\n%A"
(cMaj7 |> invert |> invert |> invert).Notes |> printf "\n%A"
(cMaj7 |> toDrop2).Notes |> printf "\n%A"
(cMaj7 |> toDrop3).Notes |> printf "\n%A"
inversionForFunctionAsLead cMaj Third |> printf "\n%A"
inversionForFunctionAsBass cMaj Fifth |> printf "\n%A"
invertionWithLeadClosestToNote cMaj CSharp |> printf "\n%A"
invertionWithBassClosestToNote cMaj F |> printf "\n%A"
printfn "\n"
printfn "Chords Fitting"
chordsFitting [D; F; A] |> printf "\n%A"
chordsFitting [C; E; G; B] |> printf "\n%A"
printfn "\n"
printfn "Scales Fitting"
let chord = chord C ChordQuality.Dominant7
scalesFitting chord
e||--------------------------||
B||-----------------------6--||
G||--------------------7-----||
D||--------------7--8--------||
A||--------5--8--------------||
E||--7--6--------------------||
e||--5--6--5-----------------||
B||-----------6--------------||
G||--------------7-----------||
D||-----------------8--7-----||
A||-----------------------8--||
E||--------------------------||
e||--------------------------||
B||--------------------------||
G||-----------------------7--||
D||-----------------7--8-----||
A||-----------5--8-----------||
E||--7--5--6-----------------||
e||--------------------------||
B||--6--4--5-----------------||
G||-----------5--4-----------||
D||-----------------5--2-----||
A||-----------------------3--||
E||--------------------------||
e||--------------------------||
B||-----------------------5--||
G||-----------------4--5-----||
D||-----------2--5-----------||
A||--4--2--3-----------------||
E||--------------------------||
e||-----------------------3--||
B||--------------------5-----||
G||--------------4--5--------||
D||--3--1--2--5--------------||
A||--------------------------||
E||--------------------------||
e||--------------------------||
B||--------------------------||
G||--------------------5--8--||
D||--------------5--8--------||
A||-----------6--------------||
E||--9--7--8-----------------||
e||--------------------------||
B||--------------------------||
G||-----------------------5--||
D||-----------------5--8-----||
A||--------------6-----------||
E||--7--5--6--8--------------||
e||--------------------------||
B||-----------------------8--||
G||-----------------5--8-----||
D||-----------5--8-----------||
A||--7--5--6-----------------||
E||--------------------------||
e||-----------------------||
B||-----------------------||
G||--5--4-----------------||
D||--------5--2-----------||
A||--------------3--2-----||
E||--------------------3--||
e||-----------------3--||
B||--------------5-----||
G||-----------5--------||
D||-----2--5-----------||
A||--3-----------------||
E||--------------------||
e||--------------------3--||
B||-----------------3-----||
G||--------------4--------||
D||-----------5-----------||
A||-----2--5--------------||
E||--3--------------------||
e||--------------------------------------------3--5--||
B||-----------------------------------3--5--6--------||
G||--------------------------2--4--5-----------------||
D||-----------------2--3--5--------------------------||
A||--------2--3--5-----------------------------------||
E||--3--5--------------------------------------------||
e||-------------------------------------------------------------12--15--20--||
B||-------------------------------------------------13--17--20--------------||
G||--------------------------------------9--12--17--------------------------||
D||--------------------------10--14--17-------------------------------------||
A||--------------10--15--19-------------------------------------------------||
E||--12--15--20-------------------------------------------------------------||
e||--8--||
B||-----||
G||-----||
D||-----||
A||-----||
E||-----||
e||------------||
B||--10--3--8--||
G||--10--4--9--||
D||--10--3--9--||
A||------------||
E||--10--3--8--||
e||--------------------------------------------5--7--8--||
B||-----------------------------------5--6--8-----------||
G||--------------------------4--5--7--------------------||
D||--------------------5--7-----------------------------||
A||-----------5--7--8-----------------------------------||
E||--5--7--8--------------------------------------------||
e||-------------------------------------------------7--8--10--||
B||------------------------------------------8--10------------||
G||--------------------------------7--9--10-------------------||
D||----------------------7--9--10-----------------------------||
A||------------7--8--10---------------------------------------||
E||--7--8--10-------------------------------------------------||
e||--------------------------------------------------------10--12--13--||
B||--------------------------------------------10--12--13--------------||
G||---------------------------------9--10--12--------------------------||
D||----------------------9--10--12-------------------------------------||
A||--------------10--12------------------------------------------------||
E||--10--12--13--------------------------------------------------------||
e||-------------------------------------------------------------12--15--20--||
B||-------------------------------------------------13--17--20--------------||
G||--------------------------------------9--12--17--------------------------||
D||--------------------------10--14--17-------------------------------------||
A||--------------10--15--19-------------------------------------------------||
E||--12--15--20-------------------------------------------------------------||
e||----------------------8--||
B||-------------------8-----||
G||----------------9--------||
D||------------10-----------||
A||-----7--10---------------||
E||--8----------------------||
e||------------------1--||
B||--------------5-----||
G||-----------5--------||
D||--------5-----------||
A||------1--------------||
E||---1-----------------||
e||-----------------3--||
B||--------------1-----||
G||------------1--------||
D||--------2-----------||
A||-----3--------------||
E||--3-----------------||
e||----------------------8--||
B||-------------------8-----||
G||----------------9--------||
D||------------10-----------||
A||-----7--10---------------||
E||--8----------------------||
e||-------------------------------------------------0--3--8--||
B||----------------------------------------1--5--8-----------||
G||-------------------------------0--5--9--------------------||
D||---------------------2--5--10-----------------------------||
A||-----------3--7--10---------------------------------------||
E||--0--3--8-------------------------------------------------||
e||-----||
B||--8--||
G||--9--||
D||--9--||
A||-----||
E||--8--||
e||-----||
B||--5--||
G||--4--||
D||--5--||
A||--3--||
E||-----||
e||--3--||
B||--1--||
G||--5--||
D||--2--||
A||--3--||
E||-----||
e||-----||
B||--3--||
G||--3--||
D||--2--||
A||--3--||
E||-----||
e||-----||
B||--3--||
G||--4--||
D||--2--||
A||--3--||
E||-----||
e||------||
B||------||
G||------||
D||--11--||
A||--13--||
E||--14--||
e||------||
B||--14--||
G||--13--||
D||--14--||
A||--12--||
E||------||
e||--3--||
B||--5--||
G||--4--||
D||-----||
A||--3--||
E||-----||
e||-----||
B||--5--||
G||--6--||
D||--6--||
A||-----||
E||--5--||
e||--2--||
B||--1--||
G||--2--||
D||--1--||
A||--3--||
E||--2--||
e||--1--||
B||--3--||
G||--1--||
D||--3--||
A||--2--||
E||--1--||
"e||--1--||
B||--3--||
G||--1--||
D||--3--||
A||--2--||
E||--1--||
"
"e||--1--||
B||--0--||
G||--1--||
D||--0--||
A||--2--||
E||--1--||
"
"C"
"C#"
"Db"
E
EFlat
7
DiminishedFifth
A
"DiminishedFifth"
DiminishedFifth
7
[C; D; E; F; G; A; B]
[EFlat; F; G; AFlat; BFlat; C; D]
[D; E; F; G; A; BFlat; C]
[C; DFlat; EFlat; F; G; AFlat; BFlat]
[C; D; E; FSharp; GSharp; A; B]
["C"; "E"; "G"; "B"]
C
B
"CMaj7"
[(C, Root); (E, Third); (G, Fifth); (B, Seventh)]
[(E, Third); (G, Fifth); (B, Seventh); (C, Root)]
[(G, Fifth); (B, Seventh); (C, Root); (E, Third)]
[(B, Seventh); (C, Root); (E, Third); (G, Fifth)]
[(C, Root); (G, Fifth); (B, Seventh); (E, Third)]
[(C, Root); (B, Seventh); (E, Third); (G, Fifth)]
{Notes = [(G, Fifth); (C, Root); (E, Third)];
ChordType = Closed;
Name = "CMaj";}
{Notes = [(G, Fifth); (C, Root); (E, Third)];
ChordType = Closed;
Name = "CMaj";}
{Notes = [(E, Third); (G, Fifth); (C, Root)];
ChordType = Closed;
Name = "CMaj";}
{Notes = [(E, Third); (G, Fifth); (C, Root)];
ChordType = Closed;
Name = "CMaj";}
Chords Fitting
[{Notes = [(A, Root); (D, Third); (F, Fifth)];
ChordType = Closed;
Name = "ASus4Aug";}; {Notes = [(D, Root); (F, Third); (A, Fifth)];
ChordType = Closed;
Name = "DMin";}]
[{Notes = [(C, Root); (E, Third); (G, Fifth); (B, Seventh)];
ChordType = Closed;
Name = "CMaj7";}]
Scales Fitting
val generateArpeggioExercise :
arpeggio:Vaughan.Domain.GuitarArpeggio -> unit list
val CMinor7 : Vaughan.Domain.Chord =
{Notes = [(C, Root); (EFlat, Third); (G, Fifth); (BFlat, Seventh)];
ChordType = Closed;
Name = "CMin7";}
val CMinor7Arpeggio : Vaughan.Domain.GuitarArpeggio =
{BaseChord =
{Notes = [(C, Root); (EFlat, Third); (G, Fifth); (BFlat, Seventh)];
ChordType = Closed;
Name = "CMin7";};
ArpeggioFrets =
[{GuitarString = FirstString;
Fret = 8;
Note = C;}; {GuitarString = FirstString;
Fret = 6;
Note = BFlat;}; {GuitarString = SecondString;
Fret = 8;
Note = G;}; {GuitarString = ThirdString;
Fret = 5;
Note = C;};
{GuitarString = ThirdString;
Fret = 8;
Note = EFlat;}; {GuitarString = FourthString;
Fret = 5;
Note = G;}; {GuitarString = FourthString;
Fret = 8;
Note = BFlat;};
{GuitarString = FifthString;
Fret = 6;
Note = EFlat;}; {GuitarString = SixthString;
Fret = 8;
Note = C;}; {GuitarString = SixthString;
Fret = 6;
Note = BFlat;}];}
val F7 : Vaughan.Domain.Chord =
{Notes = [(F, Root); (A, Third); (C, Fifth); (EFlat, Seventh)];
ChordType = Closed;
Name = "F7";}
val F7Arpeggio : Vaughan.Domain.GuitarArpeggio =
{BaseChord = {Notes = [(F, Root); (A, Third); (C, Fifth); (EFlat, Seventh)];
ChordType = Closed;
Name = "F7";};
ArpeggioFrets =
[{GuitarString = FirstString;
Fret = 5;
Note = A;}; {GuitarString = FirstString;
Fret = 8;
Note = C;}; {GuitarString = SecondString;
Fret = 6;
Note = F;}; {GuitarString = ThirdString;
Fret = 5;
Note = C;};
{GuitarString = ThirdString;
Fret = 8;
Note = EFlat;}; {GuitarString = FourthString;
Fret = 7;
Note = A;}; {GuitarString = FifthString;
Fret = 8;
Note = F;}; {GuitarString = FifthString;
Fret = 6;
Note = EFlat;};
{GuitarString = SixthString;
Fret = 5;
Note = A;}; {GuitarString = SixthString;
Fret = 8;
Note = C;}];}
val BbMajor7 : Vaughan.Domain.Chord =
{Notes = [(BFlat, Root); (D, Third); (F, Fifth); (A, Seventh)];
ChordType = Closed;
Name = "BbMaj7";}
val BbMajor7Arpeggio : Vaughan.Domain.GuitarArpeggio =
{BaseChord = {Notes = [(BFlat, Root); (D, Third); (F, Fifth); (A, Seventh)];
ChordType = Closed;
Name = "BbMaj7";};
ArpeggioFrets =
[{GuitarString = FirstString;
Fret = 6;
Note = BFlat;}; {GuitarString = FirstString;
Fret = 5;
Note = A;}; {GuitarString = SecondString;
Fret = 6;
Note = F;}; {GuitarString = ThirdString;
Fret = 7;
Note = D;};
{GuitarString = FourthString;
Fret = 8;
Note = BFlat;}; {GuitarString = FourthString;
Fret = 7;
Note = A;}; {GuitarString = FifthString;
Fret = 5;
Note = D;}; {GuitarString = FifthString;
Fret = 8;
Note = F;};
{GuitarString = SixthString;
Fret = 6;
Note = BFlat;}; {GuitarString = SixthString;
Fret = 5;
Note = A;}];}
val EbMajor7 : Vaughan.Domain.Chord =
{Notes = [(EFlat, Root); (G, Third); (ASharp, Fifth); (D, Seventh)];
ChordType = Closed;
Name = "EbMaj7";}
val EbMajor7Arpeggio : Vaughan.Domain.GuitarArpeggio =
{BaseChord =
{Notes = [(EFlat, Root); (G, Third); (ASharp, Fifth); (D, Seventh)];
ChordType = Closed;
Name = "EbMaj7";};
ArpeggioFrets =
[{GuitarString = FirstString;
Fret = 6;
Note = ASharp;}; {GuitarString = SecondString;
Fret = 8;
Note = G;}; {GuitarString = ThirdString;
Fret = 8;
Note = EFlat;};
{GuitarString = ThirdString;
Fret = 7;
Note = D;}; {GuitarString = FourthString;
Fret = 5;
Note = G;}; {GuitarString = FourthString;
Fret = 8;
Note = ASharp;}; {GuitarString = FifthString;
Fret = 6;
Note = EFlat;};
{GuitarString = FifthString;
Fret = 5;
Note = D;}; {GuitarString = SixthString;
Fret = 6;
Note = ASharp;}];}
val Am7b5 : Vaughan.Domain.Chord =
{Notes = [(A, Root); (C, Third); (EFlat, Fifth); (G, Seventh)];
ChordType = Closed;
Name = "AMin7b5";}
val Am7b5Arpeggio : Vaughan.Domain.GuitarArpeggio =
{BaseChord = {Notes = [(A, Root); (C, Third); (EFlat, Fifth); (G, Seventh)];
ChordType = Closed;
Name = "AMin7b5";};
ArpeggioFrets =
[{GuitarString = FirstString;
Fret = 5;
Note = A;}; {GuitarString = FirstString;
Fret = 8;
Note = C;}; {GuitarString = SecondString;
Fret = 8;
Note = G;}; {GuitarString = ThirdString;
Fret = 5;
Note = C;};
{GuitarString = ThirdString;
Fret = 8;
Note = EFlat;}; {GuitarString = FourthString;
Fret = 7;
Note = A;}; {GuitarString = FourthString;
Fret = 5;
Note = G;}; {GuitarString = FifthString;
Fret = 6;
Note = EFlat;};
{GuitarString = SixthString;
Fret = 5;
Note = A;}; {GuitarString = SixthString;
Fret = 8;
Note = C;}];}
val D7 : Vaughan.Domain.Chord =
{Notes = [(D, Root); (FSharp, Third); (A, Fifth); (C, Seventh)];
ChordType = Closed;
Name = "D7";}
val D7Arpeggio : Vaughan.Domain.GuitarArpeggio =
{BaseChord =
{Notes = [(D, Root); (FSharp, Third); (A, Fifth); (C, Seventh)];
ChordType = Closed;
Name = "D7";};
ArpeggioFrets =
[{GuitarString = FirstString;
Fret = 5;
Note = A;}; {GuitarString = FirstString;
Fret = 8;
Note = C;}; {GuitarString = SecondString;
Fret = 7;
Note = FSharp;}; {GuitarString = ThirdString;
Fret = 7;
Note = D;};
{GuitarString = ThirdString;
Fret = 5;
Note = C;}; {GuitarString = FourthString;
Fret = 7;
Note = A;}; {GuitarString = FifthString;
Fret = 5;
Note = D;}; {GuitarString = FifthString;
Fret = 9;
Note = FSharp;};
{GuitarString = SixthString;
Fret = 5;
Note = A;}; {GuitarString = SixthString;
Fret = 8;
Note = C;}];}
val Gm7 : Vaughan.Domain.Chord =
{Notes = [(G, Root); (BFlat, Third); (D, Fifth); (F, Seventh)];
ChordType = Closed;
Name = "GMin7";}
val Gm7Arpeggio : Vaughan.Domain.GuitarArpeggio =
{BaseChord = {Notes = [(G, Root); (BFlat, Third); (D, Fifth); (F, Seventh)];
ChordType = Closed;
Name = "GMin7";};
ArpeggioFrets =
[{GuitarString = FirstString;
Fret = 6;
Note = BFlat;}; {GuitarString = SecondString;
Fret = 8;
Note = G;}; {GuitarString = SecondString;
Fret = 6;
Note = F;}; {GuitarString = ThirdString;
Fret = 7;
Note = D;};
{GuitarString = FourthString;
Fret = 5;
Note = G;}; {GuitarString = FourthString;
Fret = 8;
Note = BFlat;}; {GuitarString = FifthString;
Fret = 5;
Note = D;}; {GuitarString = FifthString;
Fret = 8;
Note = F;};
{GuitarString = SixthString;
Fret = 6;
Note = BFlat;}];}
val cMaj7 : Vaughan.Domain.Chord =
{Notes = [(C, Root); (E, Third); (G, Fifth); (B, Seventh)];
ChordType = Closed;
Name = "CMaj7";}
val cMaj : Vaughan.Domain.Chord =
{Notes = [(C, Root); (E, Third); (G, Fifth)];
ChordType = Closed;
Name = "CMaj";}
val chord : Vaughan.Domain.Chord =
{Notes = [(C, Root); (E, Third); (G, Fifth); (BFlat, Seventh)];
ChordType = Closed;
Name = "C7";}
val it : Vaughan.Domain.Scale list =
[{Scale = Mixolydian;
Notes = [C; D; E; F; G; A; BFlat];};
{Scale = LydianDominant;
Notes = [C; D; E; FSharp; G; A; BFlat];};
{Scale = Mixolydianb6;
Notes = [C; D; E; F; G; AFlat; BFlat];};
{Scale = Bebop;
Notes = [C; D; E; F; G; A; BFlat; B];};
{Scale = HalfWholeDiminished;
Notes = [C; DFlat; EFlat; E; FSharp; G; A; BFlat];};
{Scale = DominantDiminishedScale;
Notes = [C; D; E; F; G; GSharp; BFlat; B];};
{Scale = Aolian;
Notes = [D; E; F; G; A; BFlat; C];};
{Scale = Mixolydianb6;
Notes = [D; E; FSharp; G; A; BFlat; C];};
{Scale = LocrianSharp2;
Notes = [D; E; F; G; AFlat; BFlat; C];};
{Scale = Locrian;
Notes = [E; F; G; A; BFlat; C; D];};
{Scale = LocrianSharp2;
Notes = [E; FSharp; G; A; BFlat; C; D];};
{Scale = AlteredDominant;
Notes = [E; F; G; GSharp; BFlat; C; D];};
{Scale = Dorian;
Notes = [G; A; BFlat; C; D; E; F];};
{Scale = MelodicMinor;
Notes = [G; A; BFlat; C; D; E; FSharp];};
{Scale = Dorianb2;
Notes = [G; AFlat; BFlat; C; D; E; F];};
{Scale = MinorSixthDiminishedScale;
Notes = [G; A; BFlat; C; D; DSharp; E; FSharp];};
{Scale = Phrygian;
Notes = [A; BFlat; C; D; E; F; G];};
{Scale = Dorianb2;
Notes = [A; BFlat; C; D; E; FSharp; G];};
{Scale = HalfWholeDiminished;
Notes = [A; BFlat; C; CSharp; DSharp; E; FSharp; G];};
{Scale = Lydian;
Notes = [BFlat; C; D; E; F; G; A];};
{Scale = LydianAugmented;
Notes = [BFlat; C; D; E; FSharp; G; A];};
{Scale = LydianDominant;
Notes = [BFlat; C; D; E; F; G; AFlat];}]