instrument-chord

Render Instrument Chords https://github.com/xpika/chord

Latest on Hackage:0.1.0.10

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

GPL-3 licensed by Alan Hawkins
Maintained by w@xy30.com

Instrument Chord

Render music chords on a guitar and piano

Installation:

cabal install instrument-chord

Example:

$ghci

Prelude>:m + Music.Instrument.Chord 
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept True AnnotatePositionVertical False True False standardTuning (minorChord C) 4 1 True False [] False False False False False)
Fret: 3 Fret: 3 
|S3---  3---    
|S-4--  -4--    
0S----  --5-    
|S--5-  --5-    
|S3---  3---    
|S3---  3---    
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept True AnnotatePositionVertical True True True standardTuning (minorChord C) 4 1 True False [] False False False False False)
Fret: 3 Fret: 3 
0===0== 333---3 
 ^^^^^^ 4----4- 
333---3 5--55-- 
4----4- 6------ 
5--5---         
6------         
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateMarking False True True dropD (majorChord F) 4 0 True False [] False False False False False)
=o==== Fret: 1 
----** ----**  
---*-- ---*--  
*-*--- ***---  
       ------  
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotatePositionVertical False True True standardTuning (harmony (majorScale A)) 4 0 True False [] True True False False False)
002220
224432
442124
200232
022100
244222
456434
Prelude Music.Instrument.Chord> putStr $ concat . map hConcat $ renderGuitarConcept False AnnotatePositionVertical False True True standardTuning [majorChord D,majorChord A,minorChord B,majorChord G] 4 0 True False [] False False False False False
=00===
------
2--2-2
----3-
00===0
------
--222-
------
Fret: 2
22---2
----3-
--44--
------
==000= ==00== 
------ ------ 
-2---- -2---- 
3----3 3---33 
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (majorScale F) 4 0 False False [] True False True True False)
=AD===
Fb----
--E---
GC----
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (shiftOctave 1 $ convertToSteps $ majorScale F) 4 0 False False [] True False True True False)
===G=E
----C-
---A--
--FbD-
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (chordToScale (majorChord F)) 4 0 False False [] False False True True False)
=A====
F-----
------
-C----
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotatePositionHorizontal False False True (reverse standardTuning) (majorChord G) 4 0 True False [] False False False False False)
=234== ==34== 
------ ------ 
----5- ----5- 
1----6 12---6 
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (sus 4 $ dominant7thChord G) 4 3 False True [] False False True False False)
Fret: 3 Fret: 3  Fret: 3  Fret: 3 
GCF-DG  G-F-DG   G-F--G   G----G  
------  ------   ------   ------  
---C--  -D-C--   -D-C--   -DGC--  
------  ------   ----F-   ----F-  
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (minorChord G) 4 1 False False lightChord False False False False False)
Fret: 3
---bDG
------
------
------
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (minor7thChord A) 4 2 False False lightChord False False True False False)
Fret: 5
--GCEA
------
------
------
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateMarking False True True standardTuning (slash C (majorChord D)) 4 0 False True [] False False False False False)
==o===
------
---*-*
-*--*-
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateMarking True True True standardTuning (fifthChord B) 4 0 False True powerChord True False False False False)
0======
1------
2-*----
3------
4--**--
5------
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (majorChord (flat A)) 4 0 False False [] False False False False False)
Fret: 1
--eaC-
------
-C----
------
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotatePositionVertical False True True ukelele (majorChord C) 4 0 True False [] False False False False False)
000= 0=0= 
---- ---- 
---- ---- 
---3 -3-3 
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote False True True standardTuning (minorPentatonicScale A) 4 5 True False [] False False False False False)
Fret: 5
ADGCEA
------
-EAD--
C---GC
Prelude Music.Instrument.Chord> putStr $ concat $ map hConcat (renderGuitarConcept False AnnotateNote True True True standardTuning E 13 0 True False [] False False False False False)
 0E====E
 1------
 2--E---
 3------
 4------
 5----E-
 6------
 7-E----
 8------
 9---E--
01------
11------
21E----E
Prelude Music.Instrument.Chord> putStrLn (renderPianoConcept 0 AnnotateMarking (majorChord C))
 ____________________ 
| | || | | | || || | |
| |_||_| | |_||_||_| |
|* |  |* |  |* |  |  |
|__|__|__|__|__|__|__|
Prelude Music.Instrument.Chord> putStrLn (renderPianoConcept 1 AnnotateNote (majorScale A))
 ____________________ ____________________ 
| | || | | | || || | | |d|| | | |g||a|| | |
| |_||_| | |_||_||_| | |_||_| | |_||_||_| |
|  |  |  |  |  |A |B |  |D |E |  |  |  |  |
|__|__|__|__|__|__|__|__|__|__|__|__|__|__|
Prelude Music.Instrument.Chord> map head $ findPositionPatterns True (majorChord C) standardTuning 4 True False [] False False
[[[[0],[3],[2],[0],[1],[0]],[[0],[3],[2],[0],[1],[3]],[[3],[3],[2],[0],[1],[0]],[[3],[3],[2],[0],[1],[3]]]]
Used by 1 package:
comments powered byDisqus