1use crate::defaults::{FloatType, IntegerType, UnsignedIntegerType};
8
9pub const COLLECTED: &str = "2026-09-08";
11
12pub const SOURCE: &str = "https://en.xen.wiki";
14
15#[derive(Clone, Copy, Debug, PartialEq)]
24#[must_use]
25pub struct NamedTemperament {
26 pub name: &'static str,
28 pub page: &'static str,
30 pub revision: u64,
32 pub subgroup: &'static [IntegerType],
34 pub periods_per_equave: UnsignedIntegerType,
36 pub generator_rows: &'static [&'static [IntegerType]],
38 pub generator_ratios: &'static [&'static str],
40 pub generator_cents: &'static [FloatType],
42 pub optimization: &'static str,
44 pub titles: &'static str,
52 pub commas: &'static [&'static str],
54 pub moments: &'static [&'static str],
59}
60
61impl NamedTemperament {
62 #[must_use]
64 pub const fn rank(&self) -> usize {
65 1 + self.generator_rows.len()
66 }
67
68 #[must_use]
70 pub const fn equave(&self) -> IntegerType {
71 self.subgroup[0]
72 }
73}
74
75pub static WIKI_TEMPERAMENTS: [NamedTemperament; 95] = [
80 ABERSCHISMIC,
81 AMITY,
82 ANTONIAN,
83 ARCHYTAS,
84 AUGMENTED,
85 BLACKWOOD,
86 BOHPIER,
87 BPS,
88 BUG,
89 BUNYA,
90 BUZZARD,
91 CANOPUS,
92 CATAKLEISMIC,
93 COMPTON,
94 COTONEUM,
95 DECIMAL,
96 DEEPTONE,
97 DIASCHISMIC,
98 DICOT,
99 DIDACUS,
100 DIMINISHED,
101 DOMINANT,
102 ENNEALIMMAL,
103 FATHER,
104 FLATTONE,
105 GAMELISMIC,
106 GARIBALDI,
107 GRAVITY,
108 GUNN,
109 HARRY,
110 HEMIFIFTHS,
111 JOVE,
112 KEEMUN,
113 KLEISMIC,
114 LAKA,
115 LEAPDAY,
116 LEMBA,
117 LUNA,
118 MAGIC,
119 MARVEL,
120 MAVILA,
121 MEANTONE,
122 MINTAKA,
123 MIRACLE,
124 MISTY,
125 MODUS,
126 MOHAJIRA,
127 MONKEY,
128 MOTHRA,
129 MUGGLES,
130 MYNA,
131 MYSTERY,
132 NEGRI,
133 NEUTROMINANT,
134 OCTOID,
135 OOLONG,
136 OPOSSUM,
137 ORWELL,
138 PAJARA,
139 PARAKLEISMIC,
140 PARAPYTH,
141 PELE,
142 PENTADACUS,
143 PONTIAC,
144 PORCUPINE,
145 QUARTKEENLIG,
146 QUASISUPER,
147 RODAN,
148 SCHISMIC,
149 SEMAPHORE,
150 SENSAMAGIC,
151 SENSI,
152 SEPTISCHISMIC,
153 SHALLOWTONE,
154 SIRIUS,
155 SLENDRIC,
156 SQUARES,
157 STARLING,
158 SUBMERGED,
159 SUPERKLEISMIC,
160 SUPERPYTH,
161 TETRACOT,
162 TRISECTED,
163 TRISMEGISTUS,
164 TRITIKLEISMIC,
165 ULTRAPYTH,
166 UNIDEC,
167 VALENTINE,
168 VENGEANCE,
169 WHITEWOOD,
170 WIZARD,
171 WOLLEMIA,
172 WURSCHMIDT,
173 XENIAL,
174 ZEUS,
175];
176
177#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
182#[must_use]
183pub struct UnmodelledTemperament {
184 pub page: &'static str,
186 pub revision: u64,
188 pub reason: &'static str,
190}
191
192pub const UNMODELLED_TEMPERAMENTS: [UnmodelledTemperament; 0] = [];
194
195pub const ABERSCHISMIC: NamedTemperament = NamedTemperament {
197 name: "ABERSCHISMIC",
198 page: "Aberschismic",
199 revision: 236716,
200 subgroup: &[2, 3, 5, 7],
201 periods_per_equave: 1,
202 generator_rows: &[&[1, 0, -6], &[0, 1, 1]],
203 generator_ratios: &["3/2", "5/4"],
204 generator_cents: &[702.8, 386.5],
205 optimization: "CWE",
206 titles: "",
207 commas: &["5120/5103"],
208 moments: &[],
209};
210
211pub const AMITY: NamedTemperament = NamedTemperament {
213 name: "AMITY",
214 page: "Amity",
215 revision: 231767,
216 subgroup: &[2, 3, 5, 7],
217 periods_per_equave: 1,
218 generator_rows: &[&[-5, -13, 17]],
219 generator_ratios: &["243/200"],
220 generator_cents: &[339.4],
221 optimization: "CWE",
222 titles: "",
223 commas: &["4375/4374", "5120/5103"],
224 moments: &["7L 4s", "7L 11s", "7L 18s", "7L 25s"],
225};
226
227pub const ANTONIAN: NamedTemperament = NamedTemperament {
229 name: "ANTONIAN",
230 page: "Antonian",
231 revision: 225047,
232 subgroup: &[2, 3, 5, 7],
233 periods_per_equave: 1,
234 generator_rows: &[&[1, 2, 3]],
235 generator_ratios: &["3/2"],
236 generator_cents: &[743.086],
237 optimization: "CWE",
238 titles: "",
239 commas: &["10/9", "10/9", "15/14"],
240 moments: &["1L 1s", "2L 1s", "3L 2s"],
241};
242
243pub const ARCHYTAS: NamedTemperament = NamedTemperament {
245 name: "ARCHYTAS",
246 page: "Archytas and ares",
247 revision: 226335,
248 subgroup: &[2, 3, 5, 7, 11],
249 periods_per_equave: 1,
250 generator_rows: &[&[1, 0, -2, -2], &[0, 1, 0, 2]],
251 generator_ratios: &["3/2", "5/4"],
252 generator_cents: &[709.7, 390.0],
253 optimization: "CWE",
254 titles: "Archytas; ares",
255 commas: &["64/63", "100/99"],
256 moments: &[],
257};
258
259pub const AUGMENTED: NamedTemperament = NamedTemperament {
261 name: "AUGMENTED",
262 page: "Augmented (temperament)",
263 revision: 235640,
264 subgroup: &[2, 3, 5, 7, 11],
265 periods_per_equave: 3,
266 generator_rows: &[&[1, 0, -2, -2]],
267 generator_ratios: &["3/2"],
268 generator_cents: &[711.6],
269 optimization: "CWE",
270 titles: "",
271 commas: &["56/55", "64/63", "100/99"],
272 moments: &["3L 3s", "3L 6s", "3L 9s", "12L 3s"],
273};
274
275pub const BLACKWOOD: NamedTemperament = NamedTemperament {
277 name: "BLACKWOOD",
278 page: "Blackwood",
279 revision: 232912,
280 subgroup: &[2, 3, 5, 7],
281 periods_per_equave: 5,
282 generator_rows: &[&[0, 1, 0]],
283 generator_ratios: &["5/4"],
284 generator_cents: &[391.1],
285 optimization: "CWE",
286 titles: "",
287 commas: &["28/27", "49/48"],
288 moments: &["5L 5s", "10L 5s"],
289};
290
291pub const BOHPIER: NamedTemperament = NamedTemperament {
293 name: "BOHPIER",
294 page: "Bohpier",
295 revision: 234402,
296 subgroup: &[2, 3, 5, 7, 11, 13],
297 periods_per_equave: 1,
298 generator_rows: &[&[13, 19, 23, 12, 14]],
299 generator_ratios: &["12/11"],
300 generator_cents: &[146.5],
301 optimization: "CWE",
302 titles: "",
303 commas: &["100/99", "144/143", "196/195", "275/273"],
304 moments: &["1L 7s", "8L 1s", "8L 9s", "8L 17s"],
305};
306
307pub const BPS: NamedTemperament = NamedTemperament {
309 name: "BPS",
310 page: "BPS",
311 revision: 236047,
312 subgroup: &[3, 5, 7],
313 periods_per_equave: 1,
314 generator_rows: &[&[2, -1]],
315 generator_ratios: &["9/7"],
316 generator_cents: &[440.7],
317 optimization: "CWE",
318 titles: "",
319 commas: &["245/243"],
320 moments: &[],
321};
322
323pub const BUG: NamedTemperament = NamedTemperament {
325 name: "BUG",
326 page: "Bug and beep",
327 revision: 230456,
328 subgroup: &[2, 3, 5, 7],
329 periods_per_equave: 1,
330 generator_rows: &[&[2, 3, 1]],
331 generator_ratios: &["5/3"],
332 generator_cents: &[938.0],
333 optimization: "CWE",
334 titles: "Bug / Beep",
335 commas: &["21/20", "27/25"],
336 moments: &["1L 3s", "4L 1s", "5L 4s"],
337};
338
339pub const BUNYA: NamedTemperament = NamedTemperament {
341 name: "BUNYA",
342 page: "Bunya",
343 revision: 232103,
344 subgroup: &[2, 3, 5, 7, 11, 13],
345 periods_per_equave: 1,
346 generator_rows: &[&[4, 9, 26, 10, -2]],
347 generator_ratios: &["10/9"],
348 generator_cents: &[175.9],
349 optimization: "CWE",
350 titles: "",
351 commas: &[
352 "100/99", "225/224", "243/242", "100/99", "144/143", "225/224", "243/242",
353 ],
354 moments: &["6L 1s", "7L 6s", "7L 13s", "7L 20s"],
355};
356
357pub const BUZZARD: NamedTemperament = NamedTemperament {
359 name: "BUZZARD",
360 page: "Buzzard",
361 revision: 233828,
362 subgroup: &[2, 3, 5, 7, 11, 13],
363 periods_per_equave: 1,
364 generator_rows: &[&[4, 21, -3, 39, 27]],
365 generator_ratios: &["21/16"],
366 generator_cents: &[475.7],
367 optimization: "CWE",
368 titles: "",
369 commas: &["176/175", "351/350", "540/539", "676/675"],
370 moments: &["3L 2s"],
371};
372
373pub const CANOPUS: NamedTemperament = NamedTemperament {
375 name: "CANOPUS",
376 page: "Canopus",
377 revision: 231671,
378 subgroup: &[3, 5, 7],
379 periods_per_equave: 1,
380 generator_rows: &[&[-5, -4]],
381 generator_ratios: &["7/5"],
382 generator_cents: &[583.986],
383 optimization: "CWE",
384 titles: "",
385 commas: &["16875/16807"],
386 moments: &[],
387};
388
389pub const CATAKLEISMIC: NamedTemperament = NamedTemperament {
391 name: "CATAKLEISMIC",
392 page: "Catakleismic",
393 revision: 235730,
394 subgroup: &[2, 3, 5, 7, 11, 13],
395 periods_per_equave: 1,
396 generator_rows: &[&[6, 5, 22, -21, 14]],
397 generator_ratios: &["6/5"],
398 generator_cents: &[316.7],
399 optimization: "CWE",
400 titles: "",
401 commas: &["169/168", "225/224", "325/324", "385/384"],
402 moments: &["4L 7s", "4L 11s", "15L 4s", "15L 19s"],
403};
404
405pub const COMPTON: NamedTemperament = NamedTemperament {
407 name: "COMPTON",
408 page: "Compton",
409 revision: 225555,
410 subgroup: &[2, 3, 5, 7],
411 periods_per_equave: 12,
412 generator_rows: &[&[0, 1, 2]],
413 generator_ratios: &["5/4"],
414 generator_cents: &[384.1],
415 optimization: "CWE",
416 titles: "",
417 commas: &["225/224", "250047/250000"],
418 moments: &["12L 12s", "12L 24s"],
419};
420
421pub const COTONEUM: NamedTemperament = NamedTemperament {
423 name: "COTONEUM",
424 page: "Cotoneum",
425 revision: 235863,
426 subgroup: &[2, 3, 5, 7, 11, 13, 17, 19],
427 periods_per_equave: 1,
428 generator_rows: &[&[1, -49, -14, 23, 61, 89, -44]],
429 generator_ratios: &["3/2"],
430 generator_cents: &[702.31],
431 optimization: "CWE",
432 titles: "",
433 commas: &[
434 "343/342",
435 "364/363",
436 "441/440",
437 "595/594",
438 "1216/1215",
439 "1729/1728",
440 ],
441 moments: &["12L 17s", "12L 29s", "41L 12s", "41L 53s"],
442};
443
444pub const DECIMAL: NamedTemperament = NamedTemperament {
446 name: "DECIMAL",
447 page: "Decimal",
448 revision: 223634,
449 subgroup: &[2, 3, 5, 7],
450 periods_per_equave: 2,
451 generator_rows: &[&[2, 1, 1]],
452 generator_ratios: &["7/4"],
453 generator_cents: &[951.0],
454 optimization: "CWE",
455 titles: "",
456 commas: &["25/24", "49/48"],
457 moments: &["4L 2s", "4L 6s", "10L 4s"],
458};
459
460pub const DEEPTONE: NamedTemperament = NamedTemperament {
462 name: "DEEPTONE",
463 page: "Deeptone",
464 revision: 223673,
465 subgroup: &[2, 3, 5, 13],
466 periods_per_equave: 1,
467 generator_rows: &[&[1, 11, -4]],
468 generator_ratios: &["3/2"],
469 generator_cents: &[689.6],
470 optimization: "CWE",
471 titles: "",
472 commas: &["1053/1024", "2187/2080"],
473 moments: &["5L 2s", "7L 5s", "7L 12s"],
474};
475
476pub const DIASCHISMIC: NamedTemperament = NamedTemperament {
478 name: "DIASCHISMIC",
479 page: "Diaschismic",
480 revision: 232513,
481 subgroup: &[2, 3, 5, 7, 11, 13, 17],
482 periods_per_equave: 2,
483 generator_rows: &[&[1, -2, -8, -12, -15, 1]],
484 generator_ratios: &["3/2"],
485 generator_cents: &[703.9],
486 optimization: "CWE",
487 titles: "",
488 commas: &["126/125", "136/135", "176/175", "196/195", "256/255"],
489 moments: &["2L 8s", "10L 2s", "12L 10s"],
490};
491
492pub const DICOT: NamedTemperament = NamedTemperament {
494 name: "DICOT",
495 page: "Dicot",
496 revision: 232876,
497 subgroup: &[2, 3, 5, 11],
498 periods_per_equave: 1,
499 generator_rows: &[&[2, 1, 5]],
500 generator_ratios: &["6/5"],
501 generator_cents: &[351.1],
502 optimization: "CWE",
503 titles: "",
504 commas: &["25/24", "45/44"],
505 moments: &["3L 1s", "3L 4s", "7L 3s"],
506};
507
508pub const DIDACUS: NamedTemperament = NamedTemperament {
510 name: "DIDACUS",
511 page: "Didacus",
512 revision: 223688,
513 subgroup: &[2, 5, 7, 11],
514 periods_per_equave: 1,
515 generator_rows: &[&[2, 5, 9]],
516 generator_ratios: &["28/25"],
517 generator_cents: &[194.4],
518 optimization: "CWE",
519 titles: "",
520 commas: &["176/175", "1375/1372"],
521 moments: &["1L 5s", "6L 1s", "6L 7s", "6L 13s", "6L 19s"],
522};
523
524pub const DIMINISHED: NamedTemperament = NamedTemperament {
526 name: "DIMINISHED",
527 page: "Diminished (temperament)",
528 revision: 226097,
529 subgroup: &[2, 3, 5, 7],
530 periods_per_equave: 4,
531 generator_rows: &[&[1, 1, 1]],
532 generator_ratios: &["3/2"],
533 generator_cents: &[696.0],
534 optimization: "CWE",
535 titles: "",
536 commas: &["36/35", "50/49"],
537 moments: &["4L 4s", "4L 8s", "12L 4s"],
538};
539
540pub const DOMINANT: NamedTemperament = NamedTemperament {
542 name: "DOMINANT",
543 page: "Dominant (temperament)",
544 revision: 223637,
545 subgroup: &[2, 3, 5, 7],
546 periods_per_equave: 1,
547 generator_rows: &[&[1, 4, -2]],
548 generator_ratios: &["3/2"],
549 generator_cents: &[701.1],
550 optimization: "CWE",
551 titles: "",
552 commas: &["36/35", "64/63"],
553 moments: &["2L 3s", "5L 2s", "5L 7s"],
554};
555
556pub const ENNEALIMMAL: NamedTemperament = NamedTemperament {
558 name: "ENNEALIMMAL",
559 page: "Ennealimmal",
560 revision: 231237,
561 subgroup: &[2, 3, 5, 7],
562 periods_per_equave: 9,
563 generator_rows: &[&[2, 3, 2]],
564 generator_ratios: &["5/3"],
565 generator_cents: &[884.322],
566 optimization: "CWE",
567 titles: "",
568 commas: &["2401/2400", "4375/4374"],
569 moments: &["18L 9s", "27L 18s", "27L 45s"],
570};
571
572pub const FATHER: NamedTemperament = NamedTemperament {
574 name: "FATHER",
575 page: "Father",
576 revision: 223994,
577 subgroup: &[2, 3, 5, 7],
578 periods_per_equave: 1,
579 generator_rows: &[&[1, -1, 3]],
580 generator_ratios: &["3/2"],
581 generator_cents: &[738.443],
582 optimization: "CWE",
583 titles: "",
584 commas: &["16/15", "16/15", "28/27"],
585 moments: &["1L 1s", "2L 1s", "3L 2s"],
586};
587
588pub const FLATTONE: NamedTemperament = NamedTemperament {
590 name: "FLATTONE",
591 page: "Flattone",
592 revision: 223639,
593 subgroup: &[2, 3, 5, 7, 11, 13],
594 periods_per_equave: 1,
595 generator_rows: &[&[1, 4, -9, 6, -4]],
596 generator_ratios: &["3/2"],
597 generator_cents: &[693.1],
598 optimization: "CWE",
599 titles: "",
600 commas: &["45/44", "65/64", "78/77", "81/80"],
601 moments: &["5L 2s", "7L 5s", "7L 12s"],
602};
603
604pub const GAMELISMIC: NamedTemperament = NamedTemperament {
606 name: "GAMELISMIC",
607 page: "Gamelismic and portent",
608 revision: 231995,
609 subgroup: &[2, 3, 5, 7, 11],
610 periods_per_equave: 1,
611 generator_rows: &[&[3, 0, -1, 4], &[0, 1, 0, -1]],
612 generator_ratios: &["8/7", "5/4"],
613 generator_cents: &[233.8, 385.3],
614 optimization: "CWE",
615 titles: "Gamelismic; portent",
616 commas: &["385/384", "441/440"],
617 moments: &[],
618};
619
620pub const GARIBALDI: NamedTemperament = NamedTemperament {
622 name: "GARIBALDI",
623 page: "Garibaldi",
624 revision: 231769,
625 subgroup: &[2, 3, 5, 7, 19],
626 periods_per_equave: 1,
627 generator_rows: &[&[1, -8, -14, -3]],
628 generator_ratios: &["3/2"],
629 generator_cents: &[702.1],
630 optimization: "CWE",
631 titles: "",
632 commas: &["190/189", "225/224", "361/360"],
633 moments: &["5L 2s", "5L 7s", "12L 5s", "12L 17s"],
634};
635
636pub const GRAVITY: NamedTemperament = NamedTemperament {
638 name: "GRAVITY",
639 page: "Gravity",
640 revision: 227055,
641 subgroup: &[2, 3, 5, 11],
642 periods_per_equave: 1,
643 generator_rows: &[&[6, 17, 15]],
644 generator_ratios: &["27/20"],
645 generator_cents: &[516.8],
646 optimization: "CWE",
647 titles: "Gravity; Larry",
648 commas: &["243/242", "4000/3993"],
649 moments: &["2L 5s", "7L 2s", "7L 9s", "7L 51s"],
650};
651
652pub const GUNN: NamedTemperament = NamedTemperament {
654 name: "GUNN",
655 page: "Gunn",
656 revision: 235544,
657 subgroup: &[2, 3, 5, 7, 11, 13, 17, 19],
658 periods_per_equave: 24,
659 generator_rows: &[&[0, 1, 0, 0, 0, 0, 0], &[0, 0, 1, 0, -1, 0, 0]],
660 generator_ratios: &["5/4", "7/4"],
661 generator_cents: &[384.84, 965.14],
662 optimization: "CWE",
663 titles: "",
664 commas: &["729/728", "273/272", "153/152", "364/363", "1729/1728"],
665 moments: &[],
666};
667
668pub const HARRY: NamedTemperament = NamedTemperament {
670 name: "HARRY",
671 page: "Harry",
672 revision: 227469,
673 subgroup: &[2, 3, 5, 7, 11, 13],
674 periods_per_equave: 2,
675 generator_rows: &[&[-6, -17, -10, -15, -26]],
676 generator_ratios: &["21/20"],
677 generator_cents: &[83.1],
678 optimization: "CWE",
679 titles: "",
680 commas: &["243/242", "351/350", "364/363", "441/440"],
681 moments: &["2L 12s", "14L 2s", "14L 16s", "14L 30s"],
682};
683
684pub const HEMIFIFTHS: NamedTemperament = NamedTemperament {
686 name: "HEMIFIFTHS",
687 page: "Hemififths",
688 revision: 231760,
689 subgroup: &[2, 3, 5, 7, 11, 13],
690 periods_per_equave: 1,
691 generator_rows: &[&[2, 25, 13, 5, -1]],
692 generator_ratios: &["49/40"],
693 generator_cents: &[351.5],
694 optimization: "CWE",
695 titles: "",
696 commas: &["144/143", "196/195", "243/242", "364/363"],
697 moments: &["3L 4s", "7L 3s", "7L 10s", "17L 7s", "17L 24s"],
698};
699
700pub const JOVE: NamedTemperament = NamedTemperament {
702 name: "JOVE",
703 page: "Jove",
704 revision: 231992,
705 subgroup: &[2, 3, 5, 7, 11],
706 periods_per_equave: 1,
707 generator_rows: &[&[2, 1, 1, 5], &[0, 2, 1, 0]],
708 generator_ratios: &["11/9", "10/7"],
709 generator_cents: &[350.5, 617.9],
710 optimization: "CWE",
711 titles: "",
712 commas: &["243/242", "441/440"],
713 moments: &[],
714};
715
716pub const KEEMUN: NamedTemperament = NamedTemperament {
718 name: "KEEMUN",
719 page: "Keemun",
720 revision: 227969,
721 subgroup: &[2, 3, 5, 7, 11],
722 periods_per_equave: 1,
723 generator_rows: &[&[6, 5, 3, -2]],
724 generator_ratios: &["6/5"],
725 generator_cents: &[317.6],
726 optimization: "CWE",
727 titles: "",
728 commas: &["49/48", "126/125", "49/48", "56/55", "100/99"],
729 moments: &["4L 3s", "4L 7s", "4L 11s", "15L 4s"],
730};
731
732pub const KLEISMIC: NamedTemperament = NamedTemperament {
734 name: "KLEISMIC",
735 page: "Kleismic",
736 revision: 226929,
737 subgroup: &[2, 3, 5, 13],
738 periods_per_equave: 1,
739 generator_rows: &[&[6, 5, 14]],
740 generator_ratios: &["6/5"],
741 generator_cents: &[317.1],
742 optimization: "CWE",
743 titles: "",
744 commas: &["325/324", "625/624"],
745 moments: &["3L 1s", "4L 3s", "4L 7s", "4L 11s", "15L 4s"],
746};
747
748pub const LAKA: NamedTemperament = NamedTemperament {
750 name: "LAKA",
751 page: "Laka",
752 revision: 234653,
753 subgroup: &[2, 3, 5, 7, 11, 13],
754 periods_per_equave: 1,
755 generator_rows: &[&[1, 0, -6, 15, 12], &[0, 1, 1, -1, -1]],
756 generator_ratios: &["3/2", "5/4"],
757 generator_cents: &[702.6, 386.8],
758 optimization: "CWE",
759 titles: "",
760 commas: &[],
761 moments: &[],
762};
763
764pub const LEAPDAY: NamedTemperament = NamedTemperament {
766 name: "LEAPDAY",
767 page: "Leapday",
768 revision: 235394,
769 subgroup: &[2, 3, 5, 7, 11, 13],
770 periods_per_equave: 1,
771 generator_rows: &[&[1, 21, 15, 11, 8]],
772 generator_ratios: &["3/2"],
773 generator_cents: &[704.2],
774 optimization: "CWE",
775 titles: "",
776 commas: &["91/90", "121/120", "169/168", "352/351"],
777 moments: &["2L 3s", "5L 2s", "5L 7s", "12L 5s"],
778};
779
780pub const LEMBA: NamedTemperament = NamedTemperament {
782 name: "LEMBA",
783 page: "Lemba",
784 revision: 224710,
785 subgroup: &[2, 3, 5, 7, 11, 13],
786 periods_per_equave: 2,
787 generator_rows: &[&[3, -1, -1, 5, 1]],
788 generator_ratios: &["8/7"],
789 generator_cents: &[231.2],
790 optimization: "CWE",
791 titles: "",
792 commas: &["45/44", "50/49", "65/64", "78/77"],
793 moments: &["4L 2s", "6L 4s", "10L 6s"],
794};
795
796pub const LUNA: NamedTemperament = NamedTemperament {
798 name: "LUNA",
799 page: "Luna and hemithirds",
800 revision: 223644,
801 subgroup: &[2, 3, 5, 7],
802 periods_per_equave: 1,
803 generator_rows: &[&[-15, 2, 5]],
804 generator_ratios: &["28/25"],
805 generator_cents: &[193.2],
806 optimization: "CWE",
807 titles: "Hemithirds",
808 commas: &["1029/1024", "3136/3125"],
809 moments: &["1L 5s", "6L 1s", "6L 7s", "6L 13s", "6L 19s", "25L 6s"],
810};
811
812pub const MAGIC: NamedTemperament = NamedTemperament {
814 name: "MAGIC",
815 page: "Magic",
816 revision: 231155,
817 subgroup: &[2, 3, 5, 7],
818 periods_per_equave: 1,
819 generator_rows: &[&[5, 1, 12]],
820 generator_ratios: &["5/4"],
821 generator_cents: &[380.5],
822 optimization: "CWE",
823 titles: "",
824 commas: &["225/224", "245/243"],
825 moments: &["3L 4s", "3L 7s", "3L 16s", "19L 3s"],
826};
827
828pub const MARVEL: NamedTemperament = NamedTemperament {
830 name: "MARVEL",
831 page: "Marvel",
832 revision: 231983,
833 subgroup: &[2, 3, 5, 7, 11],
834 periods_per_equave: 1,
835 generator_rows: &[&[1, 0, 2, -1], &[0, 1, 2, -3]],
836 generator_ratios: &["3/2", "5/4"],
837 generator_cents: &[700.6, 383.5],
838 optimization: "CWE",
839 titles: "",
840 commas: &["225/224", "385/384"],
841 moments: &[],
842};
843
844pub const MAVILA: NamedTemperament = NamedTemperament {
846 name: "MAVILA",
847 page: "Mavila",
848 revision: 225302,
849 subgroup: &[2, 3, 5, 11],
850 periods_per_equave: 1,
851 generator_rows: &[&[1, -3, -1]],
852 generator_ratios: &["3/2"],
853 generator_cents: &[679.0],
854 optimization: "CWE",
855 titles: "",
856 commas: &["135/128", "33/32", "45/44"],
857 moments: &["2L 3s", "2L 5s", "7L 2s"],
858};
859
860pub const MEANTONE: NamedTemperament = NamedTemperament {
862 name: "MEANTONE",
863 page: "Meantone",
864 revision: 234286,
865 subgroup: &[2, 3, 5, 7],
866 periods_per_equave: 1,
867 generator_rows: &[&[1, 4, 10]],
868 generator_ratios: &["3/2"],
869 generator_cents: &[696.7],
870 optimization: "CWE",
871 titles: "",
872 commas: &["81/80", "126/125"],
873 moments: &["2L 3s", "5L 2s", "7L 5s", "12L 7s"],
874};
875
876pub const MINTAKA: NamedTemperament = NamedTemperament {
878 name: "MINTAKA",
879 page: "Mintaka",
880 revision: 223712,
881 subgroup: &[3, 7, 11],
882 periods_per_equave: 1,
883 generator_rows: &[&[-3, -2]],
884 generator_ratios: &["11/7"],
885 generator_cents: &[778.7],
886 optimization: "CWE",
887 titles: "",
888 commas: &["1331/1323"],
889 moments: &["2L 3s", "5L 2s", "5L 7s", "5L 12s"],
890};
891
892pub const MIRACLE: NamedTemperament = NamedTemperament {
894 name: "MIRACLE",
895 page: "Miracle",
896 revision: 233546,
897 subgroup: &[2, 3, 5, 7, 11],
898 periods_per_equave: 1,
899 generator_rows: &[&[6, -7, -2, 15]],
900 generator_ratios: &["15/14"],
901 generator_cents: &[116.7],
902 optimization: "CTE",
903 titles: "",
904 commas: &["225/224", "243/242", "385/384"],
905 moments: &["1L 9s", "10L 1s", "10L 11s", "10L 21s"],
906};
907
908pub const MISTY: NamedTemperament = NamedTemperament {
910 name: "MISTY",
911 page: "Misty",
912 revision: 231776,
913 subgroup: &[2, 3, 5, 7, 17, 19],
914 periods_per_equave: 3,
915 generator_rows: &[&[1, -4, -10, 3, 1]],
916 generator_ratios: &["3/2"],
917 generator_cents: &[703.1],
918 optimization: "CWE",
919 titles: "",
920 commas: &["256/255", "324/323", "400/399", "476/475"],
921 moments: &["3L 9s", "12L 3s", "12L 15s", "12L 27s"],
922};
923
924pub const MODUS: NamedTemperament = NamedTemperament {
926 name: "MODUS",
927 page: "Modus",
928 revision: 234650,
929 subgroup: &[2, 3, 5, 7, 11, 13],
930 periods_per_equave: 1,
931 generator_rows: &[&[4, 9, -8, 10, -2]],
932 generator_ratios: &["10/9"],
933 generator_cents: &[176.8],
934 optimization: "CWE",
935 titles: "",
936 commas: &[
937 "64/63", "100/99", "243/242", "64/63", "78/77", "100/99", "144/143",
938 ],
939 moments: &["6L 1s", "7L 6s", "7L 13s", "7L 20s"],
940};
941
942pub const MOHAJIRA: NamedTemperament = NamedTemperament {
944 name: "MOHAJIRA",
945 page: "Mohajira",
946 revision: 227468,
947 subgroup: &[2, 3, 5, 7, 11],
948 periods_per_equave: 1,
949 generator_rows: &[&[2, 8, -11, 5]],
950 generator_ratios: &["11/9"],
951 generator_cents: &[348.5],
952 optimization: "CWE",
953 titles: "",
954 commas: &["81/80", "121/120", "176/175"],
955 moments: &["3L 4s", "7L 3s", "7L 10s", "7L 17s"],
956};
957
958pub const MONKEY: NamedTemperament = NamedTemperament {
960 name: "MONKEY",
961 page: "Monkey",
962 revision: 231770,
963 subgroup: &[2, 3, 5, 7, 11, 13],
964 periods_per_equave: 1,
965 generator_rows: &[&[4, 9, -15, 10, -2]],
966 generator_ratios: &["10/9"],
967 generator_cents: &[175.6],
968 optimization: "CWE",
969 titles: "",
970 commas: &[
971 "100/99", "243/242", "385/384", "100/99", "144/143", "243/242", "385/384",
972 ],
973 moments: &["6L 1s", "7L 6s", "7L 13s", "7L 20s"],
974};
975
976pub const MOTHRA: NamedTemperament = NamedTemperament {
978 name: "MOTHRA",
979 page: "Mothra",
980 revision: 226452,
981 subgroup: &[2, 3, 5, 7],
982 periods_per_equave: 1,
983 generator_rows: &[&[3, 12, -1]],
984 generator_ratios: &["8/7"],
985 generator_cents: &[232.3],
986 optimization: "CWE",
987 titles: "",
988 commas: &["81/80", "1029/1024"],
989 moments: &["1L 4s", "5L 1s", "5L 6s", "5L 21s"],
990};
991
992pub const MUGGLES: NamedTemperament = NamedTemperament {
994 name: "MUGGLES",
995 page: "Muggles",
996 revision: 227466,
997 subgroup: &[2, 3, 5, 7, 11, 13],
998 periods_per_equave: 1,
999 generator_rows: &[&[5, 1, -7, 11, -1]],
1000 generator_ratios: &["5/4"],
1001 generator_cents: &[377.7],
1002 optimization: "CWE",
1003 titles: "",
1004 commas: &["45/44", "65/64", "78/77", "126/125"],
1005 moments: &["3L 7s", "3L 10s", "3L 13s", "16L 3s"],
1006};
1007
1008pub const MYNA: NamedTemperament = NamedTemperament {
1010 name: "MYNA",
1011 page: "Myna",
1012 revision: 230321,
1013 subgroup: &[2, 3, 5, 7, 11],
1014 periods_per_equave: 1,
1015 generator_rows: &[&[10, 9, 7, 25]],
1016 generator_ratios: &["6/5"],
1017 generator_cents: &[310.1],
1018 optimization: "CWE",
1019 titles: "",
1020 commas: &["126/125", "176/175", "243/242"],
1021 moments: &["3L 1s", "4L 3s", "4L 7s", "4L 23s", "27L 4s"],
1022};
1023
1024pub const MYSTERY: NamedTemperament = NamedTemperament {
1026 name: "MYSTERY",
1027 page: "Mystery",
1028 revision: 231766,
1029 subgroup: &[2, 3, 5, 7, 11, 13],
1030 periods_per_equave: 29,
1031 generator_rows: &[&[0, 1, 1, 1, 1]],
1032 generator_ratios: &["5/4"],
1033 generator_cents: &[387.9],
1034 optimization: "CWE",
1035 titles: "",
1036 commas: &["196/195", "352/351", "364/363", "676/675"],
1037 moments: &["29L 29s", "58L 29s"],
1038};
1039
1040pub const NEGRI: NamedTemperament = NamedTemperament {
1042 name: "NEGRI",
1043 page: "Negri",
1044 revision: 233544,
1045 subgroup: &[2, 3, 5, 7, 13],
1046 periods_per_equave: 1,
1047 generator_rows: &[&[-4, 3, -2, -3]],
1048 generator_ratios: &["16/15"],
1049 generator_cents: &[125.4],
1050 optimization: "CWE",
1051 titles: "",
1052 commas: &["49/48", "65/64", "91/90"],
1053 moments: &["1L 8s", "9L 1s", "10L 9s"],
1054};
1055
1056pub const NEUTROMINANT: NamedTemperament = NamedTemperament {
1058 name: "NEUTROMINANT",
1059 page: "Neutrominant",
1060 revision: 227457,
1061 subgroup: &[2, 3, 5, 7, 11, 13],
1062 periods_per_equave: 1,
1063 generator_rows: &[&[2, 8, -4, 5, -1]],
1064 generator_ratios: &["11/9"],
1065 generator_cents: &[350.7],
1066 optimization: "CWE",
1067 titles: "",
1068 commas: &["36/35", "64/63", "66/65", "121/120"],
1069 moments: &["3L 4s", "7L 3s", "7L 10s"],
1070};
1071
1072pub const OCTOID: NamedTemperament = NamedTemperament {
1074 name: "OCTOID",
1075 page: "Octoid",
1076 revision: 231672,
1077 subgroup: &[2, 3, 5, 7, 11],
1078 periods_per_equave: 8,
1079 generator_rows: &[&[3, 4, 5, 3]],
1080 generator_ratios: &["7/5"],
1081 generator_cents: &[583.948],
1082 optimization: "CWE",
1083 titles: "",
1084 commas: &["540/539", "1375/1372", "4000/3993"],
1085 moments: &["8L 64s", "72L 8s"],
1086};
1087
1088pub const OOLONG: NamedTemperament = NamedTemperament {
1090 name: "OOLONG",
1091 page: "Oolong",
1092 revision: 229456,
1093 subgroup: &[2, 3, 5, 7, 13],
1094 periods_per_equave: 1,
1095 generator_rows: &[&[-17, -18, -20, -5]],
1096 generator_ratios: &["6/5"],
1097 generator_cents: &[311.7],
1098 optimization: "CWE",
1099 titles: "",
1100 commas: &["126/125", "196/195", "15379/15360"],
1101 moments: &["4L 3s", "4L 7s", "4L 11s", "4L 15s", "4L 19s", "23L 4s"],
1102};
1103
1104pub const OPOSSUM: NamedTemperament = NamedTemperament {
1106 name: "OPOSSUM",
1107 page: "Opossum",
1108 revision: 227460,
1109 subgroup: &[2, 3, 5, 7, 11],
1110 periods_per_equave: 1,
1111 generator_rows: &[&[-3, -5, -9, -4]],
1112 generator_ratios: &["11/10"],
1113 generator_cents: &[160.5],
1114 optimization: "CWE",
1115 titles: "",
1116 commas: &["28/27", "55/54", "77/75"],
1117 moments: &["1L 6s", "7L 1s"],
1118};
1119
1120pub const ORWELL: NamedTemperament = NamedTemperament {
1122 name: "ORWELL",
1123 page: "Orwell",
1124 revision: 233021,
1125 subgroup: &[2, 3, 5, 7, 11],
1126 periods_per_equave: 1,
1127 generator_rows: &[&[7, -3, 8, 2]],
1128 generator_ratios: &["7/6"],
1129 generator_cents: &[271.5],
1130 optimization: "CWE",
1131 titles: "",
1132 commas: &["99/98", "121/120", "176/175"],
1133 moments: &["4L 1s", "4L 5s", "9L 4s", "9L 13s"],
1134};
1135
1136pub const PAJARA: NamedTemperament = NamedTemperament {
1138 name: "PAJARA",
1139 page: "Pajara",
1140 revision: 231604,
1141 subgroup: &[2, 3, 5, 7, 11, 17],
1142 periods_per_equave: 2,
1143 generator_rows: &[&[1, -2, -2, -6, 1]],
1144 generator_ratios: &["3/2"],
1145 generator_cents: &[707.4],
1146 optimization: "CWE",
1147 titles: "",
1148 commas: &["50/49", "64/63", "85/84", "99/98"],
1149 moments: &["2L 8s", "10L 2s", "12L 10s"],
1150};
1151
1152pub const PARAKLEISMIC: NamedTemperament = NamedTemperament {
1154 name: "PARAKLEISMIC",
1155 page: "Parakleismic",
1156 revision: 235440,
1157 subgroup: &[2, 3, 5, 7],
1158 periods_per_equave: 1,
1159 generator_rows: &[&[13, 14, 35]],
1160 generator_ratios: &["5/3"],
1161 generator_cents: &[884.81],
1162 optimization: "CWE",
1163 titles: "",
1164 commas: &["3136/3125", "4375/4374"],
1165 moments: &["4L 15s", "19L 4s", "19L 23s"],
1166};
1167
1168pub const PARAPYTH: NamedTemperament = NamedTemperament {
1170 name: "PARAPYTH",
1171 page: "Parapyth",
1172 revision: 231575,
1173 subgroup: &[2, 3, 7, 11, 13],
1174 periods_per_equave: 1,
1175 generator_rows: &[&[1, 0, -4, -7], &[0, 1, 1, 1]],
1176 generator_ratios: &["3/2", "7/4"],
1177 generator_cents: &[703.8, 969.2],
1178 optimization: "CWE",
1179 titles: "",
1180 commas: &["352/351", "364/363"],
1181 moments: &[],
1182};
1183
1184pub const PELE: NamedTemperament = NamedTemperament {
1186 name: "PELE",
1187 page: "Pele",
1188 revision: 234652,
1189 subgroup: &[2, 3, 5, 7, 11, 13],
1190 periods_per_equave: 1,
1191 generator_rows: &[&[1, 0, -6, -10, -13], &[0, 1, 1, 1, 1]],
1192 generator_ratios: &["3/2", "5/4"],
1193 generator_cents: &[703.4, 387.8],
1194 optimization: "CWE",
1195 titles: "",
1196 commas: &[],
1197 moments: &[],
1198};
1199
1200pub const PENTADACUS: NamedTemperament = NamedTemperament {
1202 name: "PENTADACUS",
1203 page: "Pentadacus",
1204 revision: 236333,
1205 subgroup: &[5, 7, 11],
1206 periods_per_equave: 1,
1207 generator_rows: &[&[3, 7]],
1208 generator_ratios: &["55/49"],
1209 generator_cents: &[194.8],
1210 optimization: "CWE",
1211 titles: "",
1212 commas: &["831875/823543"],
1213 moments: &[],
1214};
1215
1216pub const PONTIAC: NamedTemperament = NamedTemperament {
1218 name: "PONTIAC",
1219 page: "Pontiac",
1220 revision: 223671,
1221 subgroup: &[2, 3, 5, 7],
1222 periods_per_equave: 1,
1223 generator_rows: &[&[1, -8, 39]],
1224 generator_ratios: &["3/2"],
1225 generator_cents: &[701.758],
1226 optimization: "CWE",
1227 titles: "",
1228 commas: &["4375/4374", "32805/32768"],
1229 moments: &["12L 17s", "12L 29s", "12L 41s", "53L 12s"],
1230};
1231
1232pub const PORCUPINE: NamedTemperament = NamedTemperament {
1234 name: "PORCUPINE",
1235 page: "Porcupine",
1236 revision: 229003,
1237 subgroup: &[2, 3, 5, 7, 11],
1238 periods_per_equave: 1,
1239 generator_rows: &[&[-3, -5, 6, -4]],
1240 generator_ratios: &["10/9"],
1241 generator_cents: &[163.0],
1242 optimization: "CWE",
1243 titles: "",
1244 commas: &["55/54", "64/63", "100/99"],
1245 moments: &["1L 6s", "7L 1s", "7L 8s"],
1246};
1247
1248pub const QUARTKEENLIG: NamedTemperament = NamedTemperament {
1250 name: "QUARTKEENLIG",
1251 page: "Quartkeenlig",
1252 revision: 235979,
1253 subgroup: &[2, 3, 5, 7, 11],
1254 periods_per_equave: 1,
1255 generator_rows: &[&[36, 30, 41, -35]],
1256 generator_ratios: &["36/35"],
1257 generator_cents: &[52.845],
1258 optimization: "CWE",
1259 titles: "",
1260 commas: &["385/384", "6250/6237", "67228/66825"],
1261 moments: &["22L 1s"],
1262};
1263
1264pub const QUASISUPER: NamedTemperament = NamedTemperament {
1266 name: "QUASISUPER",
1267 page: "Quasisuper",
1268 revision: 224309,
1269 subgroup: &[2, 3, 5, 7, 11],
1270 periods_per_equave: 1,
1271 generator_rows: &[&[1, -13, -2, -6]],
1272 generator_ratios: &["3/2"],
1273 generator_cents: &[708.3],
1274 optimization: "CWE",
1275 titles: "Quasisuper; quasisupra",
1276 commas: &["64/63", "99/98", "121/120"],
1277 moments: &["5L 2s", "5L 7s", "5L 12s", "17L 5s"],
1278};
1279
1280pub const RODAN: NamedTemperament = NamedTemperament {
1282 name: "RODAN",
1283 page: "Rodan",
1284 revision: 231761,
1285 subgroup: &[2, 3, 5, 7, 11],
1286 periods_per_equave: 1,
1287 generator_rows: &[&[3, 17, -1, -13]],
1288 generator_ratios: &["8/7"],
1289 generator_cents: &[234.4],
1290 optimization: "CWE",
1291 titles: "",
1292 commas: &["245/243", "385/384", "441/440"],
1293 moments: &["1L 4s", "5L 1s", "5L 6s", "5L 36s", "41L 5s"],
1294};
1295
1296pub const SCHISMIC: NamedTemperament = NamedTemperament {
1298 name: "SCHISMIC",
1299 page: "Schismic",
1300 revision: 235694,
1301 subgroup: &[2, 3, 5],
1302 periods_per_equave: 1,
1303 generator_rows: &[&[1, -8]],
1304 generator_ratios: &["3/2"],
1305 generator_cents: &[701.731],
1306 optimization: "CWE",
1307 titles: "",
1308 commas: &["32805/32768"],
1309 moments: &["2L 3s", "5L 2s", "5L 7s", "12L 5s"],
1310};
1311
1312pub const SEMAPHORE: NamedTemperament = NamedTemperament {
1314 name: "SEMAPHORE",
1315 page: "Semaphore and godzilla",
1316 revision: 233995,
1317 subgroup: &[2, 3, 5, 7, 13],
1318 periods_per_equave: 1,
1319 generator_rows: &[&[2, 8, 1, 11]],
1320 generator_ratios: &["7/4"],
1321 generator_cents: &[948.0],
1322 optimization: "CWE",
1323 titles: "",
1324 commas: &[],
1325 moments: &["4L 1s", "5L 4s", "5L 9s", "5L 14s"],
1326};
1327
1328pub const SENSAMAGIC: NamedTemperament = NamedTemperament {
1330 name: "SENSAMAGIC",
1331 page: "Sensamagic",
1332 revision: 231982,
1333 subgroup: &[2, 3, 5, 7, 11],
1334 periods_per_equave: 1,
1335 generator_rows: &[&[1, 1, 2, -2], &[0, 2, -1, -1]],
1336 generator_ratios: &["3/2", "9/7"],
1337 generator_cents: &[703.8, 440.9],
1338 optimization: "CWE",
1339 titles: "",
1340 commas: &["245/243", "385/384"],
1341 moments: &[],
1342};
1343
1344pub const SENSI: NamedTemperament = NamedTemperament {
1346 name: "SENSI",
1347 page: "Sensi",
1348 revision: 229838,
1349 subgroup: &[2, 3, 5, 7, 13],
1350 periods_per_equave: 1,
1351 generator_rows: &[&[7, 9, 13, 10]],
1352 generator_ratios: &["9/7"],
1353 generator_cents: &[443.3],
1354 optimization: "CWE",
1355 titles: "",
1356 commas: &["91/90", "126/125", "169/168"],
1357 moments: &["3L 2s", "3L 5s", "8L 3s", "8L 11s"],
1358};
1359
1360pub const SEPTISCHISMIC: NamedTemperament = NamedTemperament {
1362 name: "SEPTISCHISMIC",
1363 page: "Septischismic",
1364 revision: 235909,
1365 subgroup: &[2, 3, 5, 7, 11, 13, 19],
1366 periods_per_equave: 1,
1367 generator_rows: &[&[1, 0, -14, 23, 12, 5], &[0, 1, 0, 0, -1, 1]],
1368 generator_ratios: &["3/2", "5/4"],
1369 generator_cents: &[702.2307, 386.3245],
1370 optimization: "CWE",
1371 titles: "",
1372 commas: &["1216/1215", "1540/1539", "1729/1728", "2080/2079"],
1373 moments: &[],
1374};
1375
1376pub const SHALLOWTONE: NamedTemperament = NamedTemperament {
1378 name: "SHALLOWTONE",
1379 page: "Shallowtone",
1380 revision: 233303,
1381 subgroup: &[2, 3, 5, 7],
1382 periods_per_equave: 1,
1383 generator_rows: &[&[1, -10, 12]],
1384 generator_ratios: &["3/2"],
1385 generator_cents: &[681.2],
1386 optimization: "CWE",
1387 titles: "",
1388 commas: &["295245/262144", "36/35", "295245/262144"],
1389 moments: &["2L 3s", "2L 5s", "7L 2s"],
1390};
1391
1392pub const SIRIUS: NamedTemperament = NamedTemperament {
1394 name: "SIRIUS",
1395 page: "Sirius",
1396 revision: 225422,
1397 subgroup: &[3, 5, 7],
1398 periods_per_equave: 1,
1399 generator_rows: &[&[3, 5]],
1400 generator_ratios: &["25/21"],
1401 generator_cents: &[293.759],
1402 optimization: "CWE",
1403 titles: "",
1404 commas: &["3125/3087"],
1405 moments: &[],
1406};
1407
1408pub const SLENDRIC: NamedTemperament = NamedTemperament {
1410 name: "SLENDRIC",
1411 page: "Slendric",
1412 revision: 223660,
1413 subgroup: &[2, 3, 7],
1414 periods_per_equave: 1,
1415 generator_rows: &[&[3, -1]],
1416 generator_ratios: &["8/7"],
1417 generator_cents: &[233.7],
1418 optimization: "CWE",
1419 titles: "",
1420 commas: &["1029/1024"],
1421 moments: &["1L 4s", "5L 1s", "5L 6s", "5L 11s"],
1422};
1423
1424pub const SQUARES: NamedTemperament = NamedTemperament {
1426 name: "SQUARES",
1427 page: "Squares",
1428 revision: 223661,
1429 subgroup: &[2, 3, 5, 7, 11],
1430 periods_per_equave: 1,
1431 generator_rows: &[&[-4, -16, -9, -10]],
1432 generator_ratios: &["9/7"],
1433 generator_cents: &[426.0],
1434 optimization: "CWE",
1435 titles: "Skwares; Squares",
1436 commas: &["81/80", "99/98", "121/120"],
1437 moments: &["3L 2s", "3L 5s", "3L 8s", "3L 11s", "14L 3s"],
1438};
1439
1440pub const STARLING: NamedTemperament = NamedTemperament {
1442 name: "STARLING",
1443 page: "Starling and thrush",
1444 revision: 231979,
1445 subgroup: &[2, 3, 5, 7, 11],
1446 periods_per_equave: 1,
1447 generator_rows: &[&[1, 0, -2, -2], &[0, 1, 3, 5]],
1448 generator_ratios: &["3/2", "5/4"],
1449 generator_cents: &[701.6, 390.9],
1450 optimization: "CWE",
1451 titles: "Starling; thrush",
1452 commas: &["126/125", "176/175"],
1453 moments: &[],
1454};
1455
1456pub const SUBMERGED: NamedTemperament = NamedTemperament {
1458 name: "SUBMERGED",
1459 page: "Submerged",
1460 revision: 235409,
1461 subgroup: &[2, 3, 5, 7, 11, 13],
1462 periods_per_equave: 1,
1463 generator_rows: &[&[11, -1, -9, 5, 1]],
1464 generator_ratios: &["8/5"],
1465 generator_cents: &[827.0],
1466 optimization: "CWE",
1467 titles: "",
1468 commas: &["65/64", "105/104", "121/120", "441/440"],
1469 moments: &["3L 7s", "3L 10s", "13L 3s"],
1470};
1471
1472pub const SUPERKLEISMIC: NamedTemperament = NamedTemperament {
1474 name: "SUPERKLEISMIC",
1475 page: "Superkleismic",
1476 revision: 225040,
1477 subgroup: &[2, 3, 5, 7, 11, 19],
1478 periods_per_equave: 1,
1479 generator_rows: &[&[9, 10, -3, 2, 14]],
1480 generator_ratios: &["5/3"],
1481 generator_cents: &[878.2],
1482 optimization: "CWE",
1483 titles: "",
1484 commas: &[],
1485 moments: &["3L 1s", "4L 3s", "4L 7s", "11L 4s", "15L 11s"],
1486};
1487
1488pub const SUPERPYTH: NamedTemperament = NamedTemperament {
1490 name: "SUPERPYTH",
1491 page: "Superpyth",
1492 revision: 228424,
1493 subgroup: &[2, 3, 5, 7, 11],
1494 periods_per_equave: 1,
1495 generator_rows: &[&[1, 9, -2, 16]],
1496 generator_ratios: &["3/2"],
1497 generator_cents: &[710.1],
1498 optimization: "CWE",
1499 titles: "Archy; superpyth",
1500 commas: &["64/63", "100/99", "245/243"],
1501 moments: &["2L 3s", "5L 2s", "5L 7s", "5L 12s", "5L 17s"],
1502};
1503
1504pub const TETRACOT: NamedTemperament = NamedTemperament {
1506 name: "TETRACOT",
1507 page: "Tetracot",
1508 revision: 232444,
1509 subgroup: &[2, 3, 5, 11, 13],
1510 periods_per_equave: 1,
1511 generator_rows: &[&[4, 9, 10, -2]],
1512 generator_ratios: &["10/9"],
1513 generator_cents: &[176.1],
1514 optimization: "CWE",
1515 titles: "",
1516 commas: &["100/99", "243/242", "100/99", "144/143", "243/242"],
1517 moments: &["6L 1s", "7L 6s", "7L 13s"],
1518};
1519
1520pub const TRISECTED: NamedTemperament = NamedTemperament {
1522 name: "TRISECTED",
1523 page: "Trisected",
1524 revision: 233786,
1525 subgroup: &[2, 3, 5, 7, 11, 13],
1526 periods_per_equave: 3,
1527 generator_rows: &[&[3, 0, -1, -1, 7]],
1528 generator_ratios: &["10/7"],
1529 generator_cents: &[635.0],
1530 optimization: "CWE",
1531 titles: "",
1532 commas: &["56/55", "91/90", "128/125", "1029/1000"],
1533 moments: &["6L 9s", "15L 6s", "15L 21s"],
1534};
1535
1536pub const TRISMEGISTUS: NamedTemperament = NamedTemperament {
1538 name: "TRISMEGISTUS",
1539 page: "Mabilic and trismegistus",
1540 revision: 232517,
1541 subgroup: &[2, 3, 5, 7],
1542 periods_per_equave: 1,
1543 generator_rows: &[&[-15, -3, 5]],
1544 generator_ratios: &["175/128"],
1545 generator_cents: &[526.7],
1546 optimization: "CWE",
1547 titles: "Mabilic; Trismegistus",
1548 commas: &["1029/1024", "3125/3072"],
1549 moments: &["7L 2s", "9L 7s"],
1550};
1551
1552pub const TRITIKLEISMIC: NamedTemperament = NamedTemperament {
1554 name: "TRITIKLEISMIC",
1555 page: "Tritikleismic",
1556 revision: 230636,
1557 subgroup: &[2, 3, 5, 7, 11, 13, 17],
1558 periods_per_equave: 3,
1559 generator_rows: &[&[6, 5, -2, 3, 14, 18]],
1560 generator_ratios: &["6/5"],
1561 generator_cents: &[316.938],
1562 optimization: "CWE",
1563 titles: "",
1564 commas: &[],
1565 moments: &["3L 6s", "9L 3s", "12L 3s", "15L 12s"],
1566};
1567
1568pub const ULTRAPYTH: NamedTemperament = NamedTemperament {
1570 name: "ULTRAPYTH",
1571 page: "Ultrapyth",
1572 revision: 223678,
1573 subgroup: &[2, 3, 5, 7, 13],
1574 periods_per_equave: 1,
1575 generator_rows: &[&[1, 14, -2, 18]],
1576 generator_ratios: &["3/2"],
1577 generator_cents: &[713.6],
1578 optimization: "CWE",
1579 titles: "",
1580 commas: &["64/63", "6860/6561", "64/63", "91/90", "6125/6084"],
1581 moments: &["5L 7s", "5L 12s", "5L 17s", "5L 22s"],
1582};
1583
1584pub const UNIDEC: NamedTemperament = NamedTemperament {
1586 name: "UNIDEC",
1587 page: "Unidec",
1588 revision: 236473,
1589 subgroup: &[2, 3, 5, 7, 11],
1590 periods_per_equave: 2,
1591 generator_rows: &[&[6, 11, -2, -3]],
1592 generator_ratios: &["14/11"],
1593 generator_cents: &[416.9],
1594 optimization: "CWE",
1595 titles: "",
1596 commas: &["385/384", "441/440", "4375/4374"],
1597 moments: &["6L 2s", "6L 8s", "6L 14s", "20L 6s"],
1598};
1599
1600pub const VALENTINE: NamedTemperament = NamedTemperament {
1602 name: "VALENTINE",
1603 page: "Valentine",
1604 revision: 236084,
1605 subgroup: &[2, 3, 5, 7, 11],
1606 periods_per_equave: 1,
1607 generator_rows: &[&[9, 5, -3, 7]],
1608 generator_ratios: &["22/21"],
1609 generator_cents: &[77.9],
1610 optimization: "CWE",
1611 titles: "",
1612 commas: &["121/120", "126/125", "176/175"],
1613 moments: &["1L 14s", "15L 1s", "15L 16s"],
1614};
1615
1616pub const VENGEANCE: NamedTemperament = NamedTemperament {
1618 name: "VENGEANCE",
1619 page: "Vengeance",
1620 revision: 231841,
1621 subgroup: &[2, 5, 7, 17],
1622 periods_per_equave: 1,
1623 generator_rows: &[&[3, -5, 7]],
1624 generator_ratios: &["34/25"],
1625 generator_cents: &[527.718],
1626 optimization: "CWE",
1627 titles: "",
1628 commas: &["78608/78125", "2023/2000", "4165/4096"],
1629 moments: &["2L 5s", "7L 2s"],
1630};
1631
1632pub const WHITEWOOD: NamedTemperament = NamedTemperament {
1634 name: "WHITEWOOD",
1635 page: "Whitewood",
1636 revision: 232189,
1637 subgroup: &[2, 3, 5, 7],
1638 periods_per_equave: 7,
1639 generator_rows: &[&[0, 1, -1]],
1640 generator_ratios: &["5/4"],
1641 generator_cents: &[392.7],
1642 optimization: "CWE",
1643 titles: "",
1644 commas: &["36/35", "2187/2048"],
1645 moments: &["7L 7s", "7L 14s"],
1646};
1647
1648pub const WIZARD: NamedTemperament = NamedTemperament {
1650 name: "WIZARD",
1651 page: "Wizard",
1652 revision: 226921,
1653 subgroup: &[2, 3, 5, 7, 11, 17],
1654 periods_per_equave: 2,
1655 generator_rows: &[&[6, -1, 10, -3, 6]],
1656 generator_ratios: &["17/15"],
1657 generator_cents: &[216.8],
1658 optimization: "CWE",
1659 titles: "",
1660 commas: &["225/224", "289/288", "385/384", "561/560"],
1661 moments: &["6L 4s", "6L 10s", "6L 16s", "22L 6s"],
1662};
1663
1664pub const WOLLEMIA: NamedTemperament = NamedTemperament {
1666 name: "WOLLEMIA",
1667 page: "Wollemia",
1668 revision: 231333,
1669 subgroup: &[2, 3, 5, 7, 11, 13],
1670 periods_per_equave: 1,
1671 generator_rows: &[&[4, 9, 19, 10, -2]],
1672 generator_ratios: &["10/9"],
1673 generator_cents: &[177.1],
1674 optimization: "CWE",
1675 titles: "",
1676 commas: &[
1677 "56/55", "100/99", "243/242", "56/55", "91/90", "100/99", "243/242",
1678 ],
1679 moments: &["6L 1s", "7L 6s", "7L 13s", "7L 20s"],
1680};
1681
1682pub const WURSCHMIDT: NamedTemperament = NamedTemperament {
1684 name: "WURSCHMIDT",
1685 page: "Würschmidt",
1686 revision: 232954,
1687 subgroup: &[2, 3, 5, 23],
1688 periods_per_equave: 1,
1689 generator_rows: &[&[8, 1, 14]],
1690 generator_ratios: &["5/4"],
1691 generator_cents: &[387.8],
1692 optimization: "CWE",
1693 titles: "",
1694 commas: &["576/575", "12167/12150"],
1695 moments: &["3L 1s", "3L 4s", "3L 28s", "31L 3s"],
1696};
1697
1698pub const XENIAL: NamedTemperament = NamedTemperament {
1700 name: "XENIAL",
1701 page: "Xenial",
1702 revision: 233320,
1703 subgroup: &[2, 3, 5, 7, 11, 13, 17, 19, 23],
1704 periods_per_equave: 1,
1705 generator_rows: &[&[-9, -17, -33, 22, -21, 26, 27, -3]],
1706 generator_ratios: &["10/9"],
1707 generator_cents: &[188.8],
1708 optimization: "CWE",
1709 titles: "",
1710 commas: &[
1711 "126/125", "162/161", "169/168", "171/170", "208/207", "221/220", "231/230",
1712 ],
1713 moments: &["6L 1s", "6L 7s", "13L 6s", "19L 13s", "19L 32s", "19L 51s"],
1714};
1715
1716pub const ZEUS: NamedTemperament = NamedTemperament {
1718 name: "ZEUS",
1719 page: "Zeus",
1720 revision: 233799,
1721 subgroup: &[2, 3, 5, 7, 11, 13],
1722 periods_per_equave: 1,
1723 generator_rows: &[&[1, 1, -1, 1, -2], &[0, -2, 3, -1, -1]],
1724 generator_ratios: &["3/2", "12/11"],
1725 generator_cents: &[701.9, 157.0],
1726 optimization: "CWE",
1727 titles: "",
1728 commas: &["121/120", "176/175", "351/350"],
1729 moments: &[],
1730};