=begin

This is every pro guitar chord you can possibly make.
The number on the left of the pipe is these bits summed together:
  1: 1 semitone up from the root
  2: 2 semitones up from the root
  4: 3 semitones up from the root
  8: 4 semitones up from the root
  ...
  1024: 11 semitones up from the root
On the right is the suffix produced. A period means the rest is superscript.
# - sharp
b - flat
0 - circle (augmented)

0|
1|(b2)
2|(2)
3|.sus2
4|m
5|m.b2
6|m.2
7|m.b2
8|
9|.b2
10|.2
11|.b2
12|.#9
13|.#9b2
14|.#92
15|.#9b2
16|(4)
17|.sus4
18|.sus4
19|.sus4
20|m.4
21|m.b24
22|m.24
23|m.b24
24|.4
25|.b24
26|.24
27|.b24
28|.#94
29|.#9b24
30|.#924
31|.#9b24
32|(b5)
33|.sus#4
34|.sus#4
35|.sus#4
36|.0
37|.0b2
38|.02
39|.0b2
40|.#4
41|.#4b2
42|.#42
43|.#4b2
44|.#4#9
45|.#4#9b2
46|.#4#92
47|.#4#9b2
48|.sus4
49|.sus4
50|.sus4
51|.sus4
52|.04
53|.0b24
54|.024
55|.0b24
56|.#44
57|.#4b24
58|.#424
59|.#4b24
60|.#4#94
61|.#4#9b24
62|.#4#924
63|.#4#9b24
64|5
65|.susb2
66|.sus2
67|.sus2
68|m
69|m.b2
70|m.2
71|m.b2
72|
73|.b2
74|.2
75|.b2
76|.#9
77|.#9b2
78|.#92
79|.#9b2
80|.sus4
81|.sus4
82|.sus4
83|.sus4
84|m.4
85|m.b24
86|m.24
87|m.b24
88|.4
89|.b24
90|.24
91|.b24
92|.#94
93|.#9b24
94|.#924
95|.#9b24
96|.sus#4
97|.sus#4
98|.sus#4
99|.sus#4
100|.0
101|.0b2
102|.02
103|.0b2
104|.#4
105|.#4b2
106|.#42
107|.#4b2
108|.#4#9
109|.#4#9b2
110|.#4#92
111|.#4#9b2
112|.sus4
113|.sus4
114|.sus4
115|.sus4
116|.04
117|.0b24
118|.024
119|.0b24
120|.#44
121|.#4b24
122|.#424
123|.#4b24
124|.#4#94
125|.#4#9b24
126|.#4#924
128|(b6)
129|.susb2
130|.sus2
131|.sus2
132|m.#5
133|m.#5b2
134|m.#52
135|m.#5b2
136|.+
137|.+b2
138|.+2
139|.+b2
140|.+#9
141|.+#9b2
142|.+#92
143|.+#9b2
144|.sus4
145|.sus4
146|.sus4
147|.sus4
148|m.#54
149|m.#5b24
150|m.#524
151|m.#5b24
152|.+4
153|.+b24
154|.+24
155|.+b24
156|.+#94
157|.+#9b24
158|.+#924
159|.+#9b24
160|.sus#4
161|.sus#4
162|.sus#4
163|.sus#4
164|.0#5
165|.0#5b2
166|.0#52
167|.0#5b2
168|.#4
169|.#4b2
170|.#42
171|.#4b2
172|.#4#9
173|.#4#9b2
174|.#4#92
175|.#4#9b2
176|.sus4
177|.sus4
178|.sus4
179|.sus4
180|.0#54
181|.0#5b24
182|.0#524
183|.0#5b24
184|.#44
185|.#4b24
186|.#424
187|.#4b24
188|.#4#94
189|.#4#9b24
190|.#4#924
192|
193|.susb2
194|.sus2
195|.sus2
196|m.#5
197|m.#5b2
198|m.#52
199|m.#5b2
200|.+
201|.+b2
202|.+2
203|.+b2
204|.+#9
205|.+#9b2
206|.+#92
207|.+#9b2
208|.sus4
209|.sus4
210|.sus4
211|.sus4
212|m.#54
213|m.#5b24
214|m.#524
215|m.#5b24
216|.+4
217|.+b24
218|.+24
219|.+b24
220|.+#94
221|.+#9b24
222|.+#924
224|.sus#4
225|.sus#4
226|.sus#4
227|.sus#4
228|.0#5
229|.0#5b2
230|.0#52
231|.0#5b2
232|.#4
233|.#4b2
234|.#42
235|.#4b2
236|.#4#9
237|.#4#9b2
238|.#4#92
240|.sus4
241|.sus4
242|.sus4
243|.sus4
244|.0#54
245|.0#5b24
246|.0#524
248|.#44
249|.#4b24
250|.#424
252|.#4#94
256|(6)
257|.sus6
258|.sus6
259|.sus6
260|m.6
261|m.b26
262|m.26
263|m.b26
264|.6
265|.b26
266|.26
267|.b26
268|.#96
269|.#9b26
270|.#926
271|.#9b26
272|.sus4/6
273|.sus4/6
274|.sus4/6
275|.sus4/6
276|m.46
277|m.b246
278|m.246
279|m.b246
280|.46
281|.b246
282|.246
283|.b246
284|.#946
285|.#9b246
286|.#9246
287|.#9b246
288|.sus6
289|.sus6
290|.sus6
291|.sus6
292|.06
293|.0b26
294|.026
295|.0b26
296|.#46
297|.#4b26
298|.#426
299|.#4b26
300|.#4#96
301|.#4#9b26
302|.#4#926
303|.#4#9b26
304|.sus4/6
305|.sus4/6
306|.sus4/6
307|.sus4/6
308|.046
309|.0b246
310|.0246
311|.0b246
312|.#446
313|.#4b246
314|.#4246
315|.#4b246
316|.#4#946
317|.#4#9b246
318|.#4#9246
320|.sus6
321|.sus6
322|.sus6
323|.sus6
324|m.6
325|m.b26
326|m.26
327|m.b26
328|.6
329|.b26
330|.26
331|.b26
332|.#96
333|.#9b26
334|.#926
335|.#9b26
336|.sus4/6
337|.sus4/6
338|.sus4/6
339|.sus4/6
340|m.46
341|m.b246
342|m.246
343|m.b246
344|.46
345|.b246
346|.246
347|.b246
348|.#946
349|.#9b246
350|.#9246
352|.sus6
353|.sus6
354|.sus6
355|.sus6
356|.06
357|.0b26
358|.026
359|.0b26
360|.#46
361|.#4b26
362|.#426
363|.#4b26
364|.#4#96
365|.#4#9b26
366|.#4#926
368|.sus4/6
369|.sus4/6
370|.sus4/6
371|.sus4/6
372|.046
373|.0b246
374|.0246
376|.#446
377|.#4b246
378|.#4246
380|.#4#946
384|.sus6
385|.sus6
386|.sus6
387|.sus6
388|m.#56
389|m.#5b26
390|m.#526
391|m.#5b26
392|.+6
393|.+b26
394|.+26
395|.+b26
396|.+#96
397|.+#9b26
398|.+#926
399|.+#9b26
400|.sus4/6
401|.sus4/6
402|.sus4/6
403|.sus4/6
404|m.#546
405|m.#5b246
406|m.#5246
407|m.#5b246
408|.+46
409|.+b246
410|.+246
411|.+b246
412|.+#946
413|.+#9b246
414|.+#9246
416|.sus6
417|.sus6
418|.sus6
419|.sus6
420|.0#56
421|.0#5b26
422|.0#526
423|.0#5b26
424|.#46
425|.#4b26
426|.#426
427|.#4b26
428|.#4#96
429|.#4#9b26
430|.#4#926
432|.sus4/6
433|.sus4/6
434|.sus4/6
435|.sus4/6
436|.0#546
437|.0#5b246
438|.0#5246
440|.#446
441|.#4b246
442|.#4246
444|.#4#946
448|.sus6
449|.sus6
450|.sus6
451|.sus6
452|m.#56
453|m.#5b26
454|m.#526
455|m.#5b26
456|.+6
457|.+b26
458|.+26
459|.+b26
460|.+#96
461|.+#9b26
462|.+#926
464|.sus4/6
465|.sus4/6
466|.sus4/6
467|.sus4/6
468|m.#546
469|m.#5b246
470|m.#5246
472|.+46
473|.+b246
474|.+246
476|.+#946
480|.sus6
481|.sus6
482|.sus6
483|.sus6
484|.0#56
485|.0#5b26
486|.0#526
488|.#46
489|.#4b26
490|.#426
492|.#4#96
496|.sus4/6
497|.sus4/6
498|.sus4/6
500|.0#546
504|.#446
512|(b7)
513|7.susb2
514|7.sus2
515|7.sus2
516|m7
517|m7.b9
518|m.9
519|m.9b9
520|7
521|7.b9
522|.9
523|.9b9
524|7.#9
525|7.b9#9
526|.9#9
527|.9b9#9
528|7.sus4
529|7.sus4
530|7.sus4
531|7.sus4
532|m.4
533|m.b94
534|m.94
535|m.9b94
536|.4
537|.b94
538|.94
539|.9b94
540|.#94
541|.b9#94
542|.9#94
543|.9b9#94
544|7.sus#4
545|7.sus#4
546|7.sus#4
547|7.sus#4
548|m7.b5
549|m7.b5b9
550|m.b59
551|m.b59b9
552|7.b5
553|7.b5b9
554|.b59
555|.b59b9
556|7.b5#9
557|7.b5b9#9
558|.b59#9
559|.b59b9#9
560|7.sus4
561|7.sus4
562|7.sus4
563|7.sus4
564|m.b54
565|m.b5b94
566|m.b594
567|m.b59b94
568|.b54
569|.b5b94
570|.b594
571|.b59b94
572|.b5#94
573|.b5b9#94
574|.b59#94
576|7
577|7.susb2
578|7.sus2
579|7.sus2
580|m7
581|m7.b9
582|m.9
583|m.9b9
584|7
585|7.b9
586|.9
587|.9b9
588|7.#9
589|7.b9#9
590|.9#9
591|.9b9#9
592|7.sus4
593|7.sus4
594|7.sus4
595|7.sus4
596|m.4
597|m.b94
598|m.94
599|m.9b94
600|.4
601|.b94
602|.94
603|.9b94
604|.#94
605|.b9#94
606|.9#94
608|7.sus#4
609|7.sus#4
610|7.sus#4
611|7.sus#4
612|m7.b5
613|m7.b5b9
614|m.b59
615|m.b59b9
616|7.b5
617|7.b5b9
618|.b59
619|.b59b9
620|7.b5#9
621|7.b5b9#9
622|.b59#9
624|7.sus4
625|7.sus4
626|7.sus4
627|7.sus4
628|m.b54
629|m.b5b94
630|m.b594
632|.b54
633|.b5b94
634|.b594
636|.b5#94
640|7
641|7.susb2
642|7.sus2
643|7.sus2
644|m7.b13
645|m7.b9b13
646|m.9b13
647|m.9b9b13
648|7.b13
649|7.b9b13
650|.9b13
651|.9b9b13
652|7.#9b13
653|7.b9#9b13
654|.9#9b13
655|.9b9#9b13
656|7.sus4
657|7.sus4
658|7.sus4
659|7.sus4
660|m.4b13
661|m.b94b13
662|m.94b13
663|m.9b94b13
664|.4b13
665|.b94b13
666|.94b13
667|.9b94b13
668|.#94b13
669|.b9#94b13
670|.9#94b13
672|7.sus#4
673|7.sus#4
674|7.sus#4
675|7.sus#4
676|m7.+-5b13
677|m7.+-5b9b13
678|m.+-59b13
679|m.+-59b9b13
680|7.+-5b13
681|7.+-5b9b13
682|.+-59b13
683|.+-59b9b13
684|7.+-5#9b13
685|7.+-5b9#9b13
686|.+-59#9b13
688|7.sus4
689|7.sus4
690|7.sus4
691|7.sus4
692|m.+-54b13
693|m.+-5b94b13
694|m.+-594b13
696|.+-54b13
697|.+-5b94b13
698|.+-594b13
700|.+-5#94b13
704|7
705|7.susb2
706|7.sus2
707|7.sus2
708|m7.b13
709|m7.b9b13
710|m.9b13
711|m.9b9b13
712|7.b13
713|7.b9b13
714|.9b13
715|.9b9b13
716|7.#9b13
717|7.b9#9b13
718|.9#9b13
720|7.sus4
721|7.sus4
722|7.sus4
723|7.sus4
724|m.4b13
725|m.b94b13
726|m.94b13
728|.4b13
729|.b94b13
730|.94b13
732|.#94b13
736|7.sus#4
737|7.sus#4
738|7.sus#4
739|7.sus#4
740|m7.+-5b13
741|m7.+-5b9b13
742|m.+-59b13
744|7.+-5b13
745|7.+-5b9b13
746|.+-59b13
748|7.+-5#9b13
752|7.sus4
753|7.sus4
754|7.sus4
756|m.+-54b13
760|.+-54b13
768|7.sus6
769|7.sus6
770|7.sus6
771|7.sus6
772|m.6
773|m.b96
774|m.96
775|m.9b96
776|.6
777|.b96
778|.96
779|.9b96
780|.#96
781|.b9#96
782|.9#96
783|.9b9#96
784|7.sus4/6
785|7.sus4/6
786|7.sus4/6
787|7.sus4/6
788|m.46
789|m.b946
790|m.946
791|m.9b946
792|.46
793|.b946
794|.946
795|.9b946
796|.#946
797|.b9#946
798|.9#946
800|7.sus6
801|7.sus6
802|7.sus6
803|7.sus6
804|m.b56
805|m.b5b96
806|m.b596
807|m.b59b96
808|.b56
809|.b5b96
810|.b596
811|.b59b96
812|.b5#96
813|.b5b9#96
814|.b59#96
816|7.sus4/6
817|7.sus4/6
818|7.sus4/6
819|7.sus4/6
820|m.b546
821|m.b5b946
822|m.b5946
824|.b546
825|.b5b946
826|.b5946
828|.b5#946
832|7.sus6
833|7.sus6
834|7.sus6
835|7.sus6
836|m.6
837|m.b96
838|m.96
839|m.9b96
840|.6
841|.b96
842|.96
843|.9b96
844|.#96
845|.b9#96
846|.9#96
848|7.sus4/6
849|7.sus4/6
850|7.sus4/6
851|7.sus4/6
852|m.46
853|m.b946
854|m.946
856|.46
857|.b946
858|.946
860|.#946
864|7.sus6
865|7.sus6
866|7.sus6
867|7.sus6
868|m.b56
869|m.b5b96
870|m.b596
872|.b56
873|.b5b96
874|.b596
876|.b5#96
880|7.sus4/6
881|7.sus4/6
882|7.sus4/6
884|m.b546
888|.b546
896|7.sus6
897|7.sus6
898|7.sus6
899|7.sus6
900|m.6b13
901|m.b96b13
902|m.96b13
903|m.9b96b13
904|.6b13
905|.b96b13
906|.96b13
907|.9b96b13
908|.#96b13
909|.b9#96b13
910|.9#96b13
912|7.sus4/6
913|7.sus4/6
914|7.sus4/6
915|7.sus4/6
916|m.46b13
917|m.b946b13
918|m.946b13
920|.46b13
921|.b946b13
922|.946b13
924|.#946b13
928|7.sus6
929|7.sus6
930|7.sus6
931|7.sus6
932|m.+-56b13
933|m.+-5b96b13
934|m.+-596b13
936|.+-56b13
937|.+-5b96b13
938|.+-596b13
940|.+-5#96b13
944|7.sus4/6
945|7.sus4/6
946|7.sus4/6
948|m.+-546b13
952|.+-546b13
960|7.sus6
961|7.sus6
962|7.sus6
963|7.sus6
964|m.6b13
965|m.b96b13
966|m.96b13
968|.6b13
969|.b96b13
970|.96b13
972|.#96b13
976|7.sus4/6
977|7.sus4/6
978|7.sus4/6
980|m.46b13
984|.46b13
992|7.sus6
993|7.sus6
994|7.sus6
996|m.+-56b13
1000|.+-56b13
1008|7.sus4/6
1024|(7)
1025|M7.susb2
1026|M7.sus2
1027|M7.sus2
1028|mM7
1029|mM7.b9
1030|mM7.9
1031|mM7.9b9
1032|M7
1033|M7.b9
1034|M7.9
1035|M7.9b9
1036|M7.#9
1037|M7.b9#9
1038|M7.9#9
1039|M7.9b9#9
1040|M7.sus4
1041|M7.sus4
1042|M7.sus4
1043|M7.sus4
1044|mM7.4
1045|mM7.b94
1046|mM7.94
1047|mM7.9b94
1048|M7.4
1049|M7.b94
1050|M7.94
1051|M7.9b94
1052|M7.#94
1053|M7.b9#94
1054|M7.9#94
1055|M7.9b9#94
1056|M7.sus#4
1057|M7.sus#4
1058|M7.sus#4
1059|M7.sus#4
1060|mM7.b5
1061|mM7.b5b9
1062|mM7.b59
1063|mM7.b59b9
1064|M7.b5
1065|M7.b5b9
1066|M7.b59
1067|M7.b59b9
1068|M7.b5#9
1069|M7.b5b9#9
1070|M7.b59#9
1071|M7.b59b9#9
1072|M7.sus4
1073|M7.sus4
1074|M7.sus4
1075|M7.sus4
1076|mM7.b54
1077|mM7.b5b94
1078|mM7.b594
1079|mM7.b59b94
1080|M7.b54
1081|M7.b5b94
1082|M7.b594
1083|M7.b59b94
1084|M7.b5#94
1085|M7.b5b9#94
1086|M7.b59#94
1088|M7
1089|M7.susb2
1090|M7.sus2
1091|M7.sus2
1092|mM7
1093|mM7.b9
1094|mM7.9
1095|mM7.9b9
1096|M7
1097|M7.b9
1098|M7.9
1099|M7.9b9
1100|M7.#9
1101|M7.b9#9
1102|M7.9#9
1103|M7.9b9#9
1104|M7.sus4
1105|M7.sus4
1106|M7.sus4
1107|M7.sus4
1108|mM7.4
1109|mM7.b94
1110|mM7.94
1111|mM7.9b94
1112|M7.4
1113|M7.b94
1114|M7.94
1115|M7.9b94
1116|M7.#94
1117|M7.b9#94
1118|M7.9#94
1120|M7.sus#4
1121|M7.sus#4
1122|M7.sus#4
1123|M7.sus#4
1124|mM7.b5
1125|mM7.b5b9
1126|mM7.b59
1127|mM7.b59b9
1128|M7.b5
1129|M7.b5b9
1130|M7.b59
1131|M7.b59b9
1132|M7.b5#9
1133|M7.b5b9#9
1134|M7.b59#9
1136|M7.sus4
1137|M7.sus4
1138|M7.sus4
1139|M7.sus4
1140|mM7.b54
1141|mM7.b5b94
1142|mM7.b594
1144|M7.b54
1145|M7.b5b94
1146|M7.b594
1148|M7.b5#94
1152|M7
1153|M7.susb2
1154|M7.sus2
1155|M7.sus2
1156|mM7.b13
1157|mM7.b9b13
1158|mM7.9b13
1159|mM7.9b9b13
1160|M7.b13
1161|M7.b9b13
1162|M7.9b13
1163|M7.9b9b13
1164|M7.#9b13
1165|M7.b9#9b13
1166|M7.9#9b13
1167|M7.9b9#9b13
1168|M7.sus4
1169|M7.sus4
1170|M7.sus4
1171|M7.sus4
1172|mM7.4b13
1173|mM7.b94b13
1174|mM7.94b13
1175|mM7.9b94b13
1176|M7.4b13
1177|M7.b94b13
1178|M7.94b13
1179|M7.9b94b13
1180|M7.#94b13
1181|M7.b9#94b13
1182|M7.9#94b13
1184|M7.sus#4
1185|M7.sus#4
1186|M7.sus#4
1187|M7.sus#4
1188|mM7.+-5b13
1189|mM7.+-5b9b13
1190|mM7.+-59b13
1191|mM7.+-59b9b13
1192|M7.+-5b13
1193|M7.+-5b9b13
1194|M7.+-59b13
1195|M7.+-59b9b13
1196|M7.+-5#9b13
1197|M7.+-5b9#9b13
1198|M7.+-59#9b13
1200|M7.sus4
1201|M7.sus4
1202|M7.sus4
1203|M7.sus4
1204|mM7.+-54b13
1205|mM7.+-5b94b13
1206|mM7.+-594b13
1208|M7.+-54b13
1209|M7.+-5b94b13
1210|M7.+-594b13
1212|M7.+-5#94b13
1216|M7
1217|M7.susb2
1218|M7.sus2
1219|M7.sus2
1220|mM7.b13
1221|mM7.b9b13
1222|mM7.9b13
1223|mM7.9b9b13
1224|M7.b13
1225|M7.b9b13
1226|M7.9b13
1227|M7.9b9b13
1228|M7.#9b13
1229|M7.b9#9b13
1230|M7.9#9b13
1232|M7.sus4
1233|M7.sus4
1234|M7.sus4
1235|M7.sus4
1236|mM7.4b13
1237|mM7.b94b13
1238|mM7.94b13
1240|M7.4b13
1241|M7.b94b13
1242|M7.94b13
1244|M7.#94b13
1248|M7.sus#4
1249|M7.sus#4
1250|M7.sus#4
1251|M7.sus#4
1252|mM7.+-5b13
1253|mM7.+-5b9b13
1254|mM7.+-59b13
1256|M7.+-5b13
1257|M7.+-5b9b13
1258|M7.+-59b13
1260|M7.+-5#9b13
1264|M7.sus4
1265|M7.sus4
1266|M7.sus4
1268|mM7.+-54b13
1272|M7.+-54b13
1280|M7.sus6
1281|M7.sus6
1282|M7.sus6
1283|M7.sus6
1284|mM7.6
1285|mM7.b96
1286|mM7.96
1287|mM7.9b96
1288|M7.6
1289|M7.b96
1290|M7.96
1291|M7.9b96
1292|M7.#96
1293|M7.b9#96
1294|M7.9#96
1295|M7.9b9#96
1296|M7.sus4/6
1297|M7.sus4/6
1298|M7.sus4/6
1299|M7.sus4/6
1300|mM7.46
1301|mM7.b946
1302|mM7.946
1303|mM7.9b946
1304|M7.46
1305|M7.b946
1306|M7.946
1307|M7.9b946
1308|M7.#946
1309|M7.b9#946
1310|M7.9#946
1312|M7.sus6
1313|M7.sus6
1314|M7.sus6
1315|M7.sus6
1316|mM7.b56
1317|mM7.b5b96
1318|mM7.b596
1319|mM7.b59b96
1320|M7.b56
1321|M7.b5b96
1322|M7.b596
1323|M7.b59b96
1324|M7.b5#96
1325|M7.b5b9#96
1326|M7.b59#96
1328|M7.sus4/6
1329|M7.sus4/6
1330|M7.sus4/6
1331|M7.sus4/6
1332|mM7.b546
1333|mM7.b5b946
1334|mM7.b5946
1336|M7.b546
1337|M7.b5b946
1338|M7.b5946
1340|M7.b5#946
1344|M7.sus6
1345|M7.sus6
1346|M7.sus6
1347|M7.sus6
1348|mM7.6
1349|mM7.b96
1350|mM7.96
1351|mM7.9b96
1352|M7.6
1353|M7.b96
1354|M7.96
1355|M7.9b96
1356|M7.#96
1357|M7.b9#96
1358|M7.9#96
1360|M7.sus4/6
1361|M7.sus4/6
1362|M7.sus4/6
1363|M7.sus4/6
1364|mM7.46
1365|mM7.b946
1366|mM7.946
1368|M7.46
1369|M7.b946
1370|M7.946
1372|M7.#946
1376|M7.sus6
1377|M7.sus6
1378|M7.sus6
1379|M7.sus6
1380|mM7.b56
1381|mM7.b5b96
1382|mM7.b596
1384|M7.b56
1385|M7.b5b96
1386|M7.b596
1388|M7.b5#96
1392|M7.sus4/6
1393|M7.sus4/6
1394|M7.sus4/6
1396|mM7.b546
1400|M7.b546
1408|M7.sus6
1409|M7.sus6
1410|M7.sus6
1411|M7.sus6
1412|mM7.6b13
1413|mM7.b96b13
1414|mM7.96b13
1415|mM7.9b96b13
1416|M7.6b13
1417|M7.b96b13
1418|M7.96b13
1419|M7.9b96b13
1420|M7.#96b13
1421|M7.b9#96b13
1422|M7.9#96b13
1424|M7.sus4/6
1425|M7.sus4/6
1426|M7.sus4/6
1427|M7.sus4/6
1428|mM7.46b13
1429|mM7.b946b13
1430|mM7.946b13
1432|M7.46b13
1433|M7.b946b13
1434|M7.946b13
1436|M7.#946b13
1440|M7.sus6
1441|M7.sus6
1442|M7.sus6
1443|M7.sus6
1444|mM7.+-56b13
1445|mM7.+-5b96b13
1446|mM7.+-596b13
1448|M7.+-56b13
1449|M7.+-5b96b13
1450|M7.+-596b13
1452|M7.+-5#96b13
1456|M7.sus4/6
1457|M7.sus4/6
1458|M7.sus4/6
1460|mM7.+-546b13
1464|M7.+-546b13
1472|M7.sus6
1473|M7.sus6
1474|M7.sus6
1475|M7.sus6
1476|mM7.6b13
1477|mM7.b96b13
1478|mM7.96b13
1480|M7.6b13
1481|M7.b96b13
1482|M7.96b13
1484|M7.#96b13
1488|M7.sus4/6
1489|M7.sus4/6
1490|M7.sus4/6
1492|mM7.46b13
1496|M7.46b13
1504|M7.sus6
1505|M7.sus6
1506|M7.sus6
1508|mM7.+-56b13
1512|M7.+-56b13
1520|M7.sus4/6
1536|7
1537|7.susb2
1538|7.sus2
1539|7.sus2
1540|m7
1541|m7.b9
1542|mM7.9
1543|mM7.9b9
1544|7
1545|7.b9
1546|M7.9
1547|M7.9b9
1548|7.#9
1549|7.b9#9
1550|M7.9#9
1551|M7.9b9#9
1552|7.sus4
1553|7.sus4
1554|7.sus4
1555|7.sus4
1556|mM7.4
1557|mM7.b94
1558|mM7.94
1559|mM7.9b94
1560|M7.4
1561|M7.b94
1562|M7.94
1563|M7.9b94
1564|M7.#94
1565|M7.b9#94
1566|M7.9#94
1568|7.sus#4
1569|7.sus#4
1570|7.sus#4
1571|7.sus#4
1572|m7.b5
1573|m7.b5b9
1574|mM7.b59
1575|mM7.b59b9
1576|7.b5
1577|7.b5b9
1578|M7.b59
1579|M7.b59b9
1580|7.b5#9
1581|7.b5b9#9
1582|M7.b59#9
1584|7.sus4
1585|7.sus4
1586|7.sus4
1587|7.sus4
1588|mM7.b54
1589|mM7.b5b94
1590|mM7.b594
1592|M7.b54
1593|M7.b5b94
1594|M7.b594
1596|M7.b5#94
1600|7
1601|7.susb2
1602|7.sus2
1603|7.sus2
1604|m7
1605|m7.b9
1606|mM7.9
1607|mM7.9b9
1608|7
1609|7.b9
1610|M7.9
1611|M7.9b9
1612|7.#9
1613|7.b9#9
1614|M7.9#9
1616|7.sus4
1617|7.sus4
1618|7.sus4
1619|7.sus4
1620|mM7.4
1621|mM7.b94
1622|mM7.94
1624|M7.4
1625|M7.b94
1626|M7.94
1628|M7.#94
1632|7.sus#4
1633|7.sus#4
1634|7.sus#4
1635|7.sus#4
1636|m7.b5
1637|m7.b5b9
1638|mM7.b59
1640|7.b5
1641|7.b5b9
1642|M7.b59
1644|7.b5#9
1648|7.sus4
1649|7.sus4
1650|7.sus4
1652|mM7.b54
1656|M7.b54
1664|7
1665|7.susb2
1666|7.sus2
1667|7.sus2
1668|m7.b13
1669|m7.b9b13
1670|mM7.9b13
1671|mM7.9b9b13
1672|7.b13
1673|7.b9b13
1674|M7.9b13
1675|M7.9b9b13
1676|7.#9b13
1677|7.b9#9b13
1678|M7.9#9b13
1680|7.sus4
1681|7.sus4
1682|7.sus4
1683|7.sus4
1684|mM7.4b13
1685|mM7.b94b13
1686|mM7.94b13
1688|M7.4b13
1689|M7.b94b13
1690|M7.94b13
1692|M7.#94b13
1696|7.sus#4
1697|7.sus#4
1698|7.sus#4
1699|7.sus#4
1700|m7.+-5b13
1701|m7.+-5b9b13
1702|mM7.+-59b13
1704|7.+-5b13
1705|7.+-5b9b13
1706|M7.+-59b13
1708|7.+-5#9b13
1712|7.sus4
1713|7.sus4
1714|7.sus4
1716|mM7.+-54b13
1720|M7.+-54b13
1728|7
1729|7.susb2
1730|7.sus2
1731|7.sus2
1732|m7.b13
1733|m7.b9b13
1734|mM7.9b13
1736|7.b13
1737|7.b9b13
1738|M7.9b13
1740|7.#9b13
1744|7.sus4
1745|7.sus4
1746|7.sus4
1748|mM7.4b13
1752|M7.4b13
1760|7.sus#4
1761|7.sus#4
1762|7.sus#4
1764|m7.+-5b13
1768|7.+-5b13
1776|7.sus4
1792|7.sus6
1793|7.sus6
1794|7.sus6
1795|7.sus6
1796|mM7.6
1797|mM7.b96
1798|mM7.96
1799|mM7.9b96
1800|M7.6
1801|M7.b96
1802|M7.96
1803|M7.9b96
1804|M7.#96
1805|M7.b9#96
1806|M7.9#96
1808|7.sus4/6
1809|7.sus4/6
1810|7.sus4/6
1811|7.sus4/6
1812|mM7.46
1813|mM7.b946
1814|mM7.946
1816|M7.46
1817|M7.b946
1818|M7.946
1820|M7.#946
1824|7.sus6
1825|7.sus6
1826|7.sus6
1827|7.sus6
1828|mM7.b56
1829|mM7.b5b96
1830|mM7.b596
1832|M7.b56
1833|M7.b5b96
1834|M7.b596
1836|M7.b5#96
1840|7.sus4/6
1841|7.sus4/6
1842|7.sus4/6
1844|mM7.b546
1848|M7.b546
1856|7.sus6
1857|7.sus6
1858|7.sus6
1859|7.sus6
1860|mM7.6
1861|mM7.b96
1862|mM7.96
1864|M7.6
1865|M7.b96
1866|M7.96
1868|M7.#96
1872|7.sus4/6
1873|7.sus4/6
1874|7.sus4/6
1876|mM7.46
1880|M7.46
1888|7.sus6
1889|7.sus6
1890|7.sus6
1892|mM7.b56
1896|M7.b56
1904|7.sus4/6
1920|7.sus6
1921|7.sus6
1922|7.sus6
1923|7.sus6
1924|mM7.6b13
1925|mM7.b96b13
1926|mM7.96b13
1928|M7.6b13
1929|M7.b96b13
1930|M7.96b13
1932|M7.#96b13
1936|7.sus4/6
1937|7.sus4/6
1938|7.sus4/6
1940|mM7.46b13
1944|M7.46b13
1952|7.sus6
1953|7.sus6
1954|7.sus6
1956|mM7.+-56b13
1960|M7.+-56b13
1968|7.sus4/6
1984|7.sus6
1985|7.sus6
1986|7.sus6
1988|mM7.6b13
1992|M7.6b13
2000|7.sus4/6
2016|7.sus6

The following Ruby code implements the algorithm.

=end

def chordName(n)
  return '(b2)' if n == 1
  return '(2)' if n == 2
  return '(4)' if n == 16
  return '(b5)' if n == 32
  return '5' if n == 64
  return '(b6)' if n == 128
  return '(6)' if n == 256
  return '(b7)' if n == 512
  return '(7)' if n == 1024

  def s(n, semis)
    n & (1 << (semis - 1)) != 0
  end
  flat2 = s(n, 1)
  nat2 = s(n, 2)
  min3 = s(n, 3)
  maj3 = s(n, 4)
  nat4 = s(n, 5)
  flat5 = s(n, 6)
  nat5 = s(n, 7)
  flat6 = s(n, 8)
  nat6 = s(n, 9)
  min7 = s(n, 10)
  maj7 = s(n, 11)

  if maj3 || min3

    major = maj3
    sharp9 = (maj3 && min3 ? '#9' : '')

    if !min7 && !maj7
      if flat5
        base =
          if major then '.#4'
          elsif flat6 then '.0#5'
          else '.0'
          end
      else
        base =
          if major && flat6 then '.+'
          elsif major then '.'
          elsif flat6 then 'm.#5'
          else 'm.'
          end
      end
      two =
        if flat2 then 'b2'
        elsif nat2 then '2'
        else ''
        end
      four = (nat4 ? '4' : '')
      six = (nat6 ? '6' : '')
      str = base + sharp9 + two + four + six
      str = '' if str == '.'
      str = 'm' if str == 'm.'
      return str
    end

    flat9 = (flat2 ? 'b9' : '')
    nine = (nat2 ? '9' : '')
    four = (nat4 ? '4' : '')
    six = (nat6 ? '6' : '')
    flat13 = (flat6 ? 'b13' : '')

    base = (major ? '' : 'm') +
      if maj7 && !min7 then 'M7'
      elsif !(nat2 || nat4 || nat6) then '7'
      elsif maj7 then 'M7'
      else ''
      end

    fives =
      if flat6 && flat5 then '+-5'
      elsif flat5 then 'b5'
      else ''
      end

    sfx = fives + nine + flat9 + sharp9 + four + six + flat13
    if sfx.empty?
      base
    else
      base + '.' + sfx
    end

  else

    base =
      if min7 then '7'
      elsif maj7 then 'M7'
      else ''
      end

    sus =
      if nat4 && nat6 then '.sus4/6'
      elsif nat4 then '.sus4'
      elsif nat6 then '.sus6'
      elsif flat5 then '.sus#4'
      elsif nat2 then '.sus2'
      elsif flat2 then '.susb2'
      else ''
      end

    base + sus

  end

end
