module Music.Theory.Instrument.Names where
import Data.List.Split
instrument_db' :: [(String,String,String,String)]
instrument_db' =
[("br","b.tbn","bass trombone","")
,("br","b.tuba","bass tuba","")
,("br","euph","euphonium","")
,("br","hn","french horn","F")
,("br","tbn;trm","trombone","")
,("br","tb;tba","tuba","")
,("br","tpt","trumpet","B♭")
,("br","t.tbn","tenor trombone","")
,("br","crt","cornet","")
,("br","fgh;flhn","flugel horn","")
,("br","p.tpt","piccolo trumpet","")
,("el","cd","compact disc","")
,("el","el;elec","electronics","")
,("el","tp","tape","")
,("el","om","ondes martenot","")
,("kb","h;hrm","harmonium","")
,("kb","e.pf","electric piano","")
,("kb","p;pf;pno","piano;pianoforte","")
,("kb","o;or;org","organ","")
,("kb","kb;kbd","keyboard","")
,("kb","cel","celeste","")
,("kb","clvd","clavichord","")
,("kb","hpd;hpcd","harpsichord","")
,("kb","syn","synthesiser","")
,("pc","bd","bass drum","")
,("pc","btl","bottle","")
,("pc","cast","castanets","")
,("pc","cbell","cow-bell","")
,("pc","bell","bell","chimes")
,("pc","clv","clave","")
,("pc","crot","crotales","")
,("pc","cym","cymbals","")
,("pc","dm","drum","")
,("pc","gl;glsp","glockenspiel","")
,("pc","mcas","maracas","")
,("pc","met.bl","metal block","")
,("pc","mr;mar","marimba","")
,("pc","sd","side drum","")
,("pc","sn.dm","snare drum","")
,("pc","sus.cym","suspended cymbal","")
,("pc","tamb","tambourine","")
,("pc","tam","tam tam","")
,("pc","t.bells","tubular bells","")
,("pc","td","tenor drum","")
,("pc","tri;tgl","triangle","")
,("pc","tm;timp","timpani","")
,("pc","tpl.bl","temple blocks","")
,("pc","vb;vib","vibraphone","")
,("pc","wdbl","wood block","")
,("pc","xyl","xylophone","")
,("str","va;vla","viola","")
,("str","vc;vlc","cello;violoncello","")
,("str","vn;vln","violin","")
,("str","cb","contrabass","")
,("str","db","double bass","")
,("str","vda","viola d'amore","")
,("str","b.gtr","bass guitar","")
,("str","e.gtr","electric guitar","")
,("str","gtr","guitar","")
,("str","","lute","")
,("str","zith","zither","")
,("str","hp","harp","")
,("str","dulc","dulcimer","")
,("str","mand","mandolin","")
,("vc","a;alt","alto","")
,("vc","b;bass","bass","")
,("vc","mz;mez","mezzo-soprano","")
,("vc","n;nar","narrator","")
,("vc","s;sop","soprano","")
,("vc","t;tn","tenor","")
,("vc","v;vc;voc","voice","")
,("vc","ch","chorus","")
,("vc","ctral","contralto","")
,("vc","ctrbs","contrabass","")
,("vc","bar","baritone","")
,("vc","b.bar","bass baritone","")
,("ww","b.cl","bass clarinet","")
,("ww","cb.cl","contrabass clarinet","")
,("ww","c;cl","clarinet","B♭")
,("ww","a.fl","alto flute","G")
,("ww","b.fl","bass flute","C")
,("ww","bn;bsn","bassoon","")
,("ww","f;fl","flute","")
,("ww","hb;htb","hautbois","")
,("ww","o;ob","oboe","")
,("ww","p;picc","piccolo","")
,("ww","ca","cor anglais","")
,("ww","c.bn","contrabassoon","")
,("ww","a.sax","alto saxophone","E♭")
,("ww","b.sax","baritone saxophone","E♭")
,("ww","b.ob","bass oboe","")
,("ww","cfg","contrafagotto","")
,("ww","eh;en.hn","english horn","")
,("ww","fg","fagotto","")
,("ww","rec","recorder","")
,("ww","sax","saxophone","")
,("ww","s.sax","soprano saxophone","B♭")
,("ww","t.sax","tenor saxophone","B♭")
,("ww","oca","ocarina","")
]
instrument_db :: [(String,[String],[String],[String])]
instrument_db =
let sep = splitOn ";"
f (fm,ab,nm,tr) = (fm,sep ab,sep nm,sep tr)
in map f instrument_db'