-
-
Notifications
You must be signed in to change notification settings - Fork 4
Voice leading chords script
Pedro Santos edited this page Apr 16, 2018
·
2 revisions
#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 "ChordVoiceLeading.fs"
#load "ImprovisationGuitar.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
let chords = [
chord C Minor7;
chord F Dominant7;
chord BFlat Major7;
chord EFlat Major7;
chord A Minor7b5;
chord D Dominant7;
chord G Minor7;
]
let voiceleadingChords guitarString form =
(voiceLead lead (chords |> List.map form))
|> List.map ((fun c -> guitarChord guitarString c) >> Chord)
[StandardTunning; Start] @ (voiceleadingChords FourthString toDrop2) @ [End]
|> renderTab
|> printf "\n%s"
e||--11--11--10--10--8--8--6--||
B||--11--10--10--8---8--7--6--||
G||--12--10--10--8---8--7--7--||
D||--10--10--8---8---7--7--5--||
A||---------------------------||
E||---------------------------||