Skip to main content

music21/humdrum/
tables.rs

1//! Tables of music21's Humdrum reader.
2
3/// music21's `humdrumInstruments`: the instrument each Humdrum `*I` code names.
4pub const INSTRUMENTS: &[(&str, &str)] = &[
5    ("soprn", "Soprano"),
6    ("cant", "Soprano"),
7    ("mezzo", "MezzoSoprano"),
8    ("calto", "Alto"),
9    ("tenor", "Tenor"),
10    ("barit", "Baritone"),
11    ("bass", "Bass"),
12    ("vox", "Vocalist"),
13    ("alto", "Alto"),
14    ("arpa", "Harp"),
15    ("banjo", "Banjo"),
16    ("bguit", "ElectricBass"),
17    ("cbass", "Contrabass"),
18    ("cello", "Violoncello"),
19    ("cemba", "Harpsichord"),
20    ("clavi", "Clavichord"),
21    ("dulc", "Dulcimer"),
22    ("eguit", "ElectricGuitar"),
23    ("guitr", "Guitar"),
24    ("liuto", "Lute"),
25    ("koto", "Koto"),
26    ("mando", "Mandolin"),
27    ("piano", "Piano"),
28    ("shami", "Shamisen"),
29    ("sitar", "Sitar"),
30    ("ukule", "Ukulele"),
31    ("viola", "Viola"),
32    ("violn", "Violin"),
33    ("accor", "Accordion"),
34    ("armon", "Harmonica"),
35    ("bagpS", "Bagpipes"),
36    ("bagpI", "Bagpipes"),
37    ("cangl", "EnglishHorn"),
38    ("clarb", "BassClarinet"),
39    ("cor", "Horn"),
40    ("fagot", "Bassoon"),
41    ("flt", "Flute"),
42    ("oboe", "Oboe"),
43    ("organ", "PipeOrgan"),
44    ("panpi", "PanFlute"),
45    ("picco", "Piccolo"),
46    ("reedo", "ReedOrgan"),
47    ("saxS", "SopranoSaxophone"),
48    ("saxA", "AltoSaxophone"),
49    ("saxT", "TenorSaxophone"),
50    ("saxR", "BaritoneSaxophone"),
51    ("shaku", "Shakuhachi"),
52    ("tromt", "Trombone"),
53    ("tromb", "BassTrombone"),
54    ("tromp", "Trumpet"),
55    ("tuba", "Tuba"),
56    ("bdrum", "BassDrum"),
57    ("campn", "ChurchBells"),
58    ("caril", "ChurchBells"),
59    ("casts", "Castanets"),
60    ("chime", "TubularBells"),
61    ("crshc", "CrashCymbals"),
62    ("glock", "Glockenspiel"),
63    ("gong", "Gong"),
64    ("marac", "Maracas"),
65    ("marim", "Marimba"),
66    ("piatt", "Cymbals"),
67    ("ridec", "RideCymbal"),
68    ("sdrum", "SnareDrum"),
69    ("spshc", "SplashCymbal"),
70    ("steel", "SteelDrum"),
71    ("tambn", "Tambourine"),
72    ("timpa", "Timpani"),
73    ("tom", "TomTom"),
74    ("trngl", "Triangle"),
75    ("vibra", "Vibraphone"),
76    ("xylo", "Xylophone"),
77    ("clest", "Celesta"),
78    ("hammd", "ElectricOrgan"),
79];
80
81/// music21's `humdrumInstrumentClassToInstrument`: the family each `*IC` code
82/// names.
83pub const INSTRUMENT_CLASSES: &[(&str, &str)] = &[
84    ("vox", "Vocalist"),
85    ("str", "StringInstrument"),
86    ("ww", "WoodwindInstrument"),
87    ("bras", "BrassInstrument"),
88    ("klav", "KeyboardInstrument"),
89    ("perc", "Percussion"),
90];
91
92/// music21's `humdrumKeyToUniqueName`: the name each `!!!` reference code is
93/// kept under, empty where music21 has none and keeps the code itself.
94pub(super) const REFERENCE_NAMES: &[(&str, &str)] = &[
95    ("COM", "composer"),
96    ("COA", "attributedComposer"),
97    ("COS", "suspectedComposer"),
98    ("COL", "composerAlias"),
99    ("COC", "composerCorporate"),
100    ("CDT", ""),
101    ("CBL", ""),
102    ("CDL", ""),
103    ("CNT", ""),
104    ("LYR", "lyricist"),
105    ("LIB", "librettist"),
106    ("LAR", "arranger"),
107    ("LOR", "orchestrator"),
108    ("TXO", "textOriginalLanguage"),
109    ("TXL", "textLanguage"),
110    ("TRN", "translator"),
111    ("RTL", ""),
112    ("RMM", "manufacturer"),
113    ("RC#", ""),
114    ("RRD", "dateIssued"),
115    ("RLC", ""),
116    ("RNP", "producer"),
117    ("RDT", ""),
118    ("RT#", ""),
119    ("MGN", ""),
120    ("MPN", ""),
121    ("MPS", ""),
122    ("MRD", ""),
123    ("MLC", ""),
124    ("MCN", "conductor"),
125    ("MPD", ""),
126    ("MDT", ""),
127    ("OTL", "title"),
128    ("OTP", "popularTitle"),
129    ("OTA", "alternativeTitle"),
130    ("OPR", "parentTitle"),
131    ("OAC", "actNumber"),
132    ("OSC", "sceneNumber"),
133    ("OMV", "movementNumber"),
134    ("OMD", "movementName"),
135    ("OPS", "opusNumber"),
136    ("ONM", "number"),
137    ("OVM", "volumeNumber"),
138    ("ODE", "dedicatedTo"),
139    ("OCO", "commission"),
140    ("OCL", "transcriber"),
141    ("ONB", ""),
142    ("ODT", "dateCreated"),
143    ("OCY", "countryOfComposition"),
144    ("OPC", "localeOfComposition"),
145    ("GTL", "groupTitle"),
146    ("GAW", "associatedWork"),
147    ("GCO", "collectionDesignation"),
148    ("PUB", ""),
149    ("PED", ""),
150    ("PPR", "firstPublisher"),
151    ("PDT", "dateFirstPublished"),
152    ("PTL", "publicationTitle"),
153    ("PPP", "placeFirstPublished"),
154    ("PC#", "publishersCatalogNumber"),
155    ("SCT", "scholarlyCatalogAbbreviation"),
156    ("SCA", "scholarlyCatalogName"),
157    ("SMS", "manuscriptSourceName"),
158    ("SML", "manuscriptLocation"),
159    ("SMA", "manuscriptAccessAcknowledgement"),
160    ("YEP", "electronicPublisher"),
161    ("YEC", "copyright"),
162    ("YER", "electronicReleaseDate"),
163    ("YEM", ""),
164    ("YEN", ""),
165    ("YOR", ""),
166    ("YOO", "originalDocumentOwner"),
167    ("YOY", ""),
168    ("YOE", "originalEditor"),
169    ("EED", "electronicEditor"),
170    ("ENC", "electronicEncoder"),
171    ("END", ""),
172    ("EMD", ""),
173    ("EEV", ""),
174    ("EFL", ""),
175    ("EST", ""),
176    ("VTS", ""),
177    ("ACO", ""),
178    ("AFR", ""),
179    ("AGN", ""),
180    ("AST", ""),
181    ("AMD", ""),
182    ("AMT", ""),
183    ("AIN", ""),
184    ("ARE", ""),
185    ("ARL", ""),
186    ("HAO", ""),
187    ("HTX", ""),
188    ("RLN", ""),
189    ("RNB", ""),
190    ("RWB", ""),
191];