zw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                    ! " #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvHarmonic series (folded) Pythagorean tuning Pythagorean tuning 3Werckmeister III, Andreas Werckmeister (1645-1706) 3Werckmeister III, Andreas Werckmeister (1645-1706) 2Werckmeister IV, Andreas Werckmeister (1645-1706) 2Werckmeister IV, Andreas Werckmeister (1645-1706) 1Werckmeister V, Andreas Werckmeister (1645-1706) 1Werckmeister V, Andreas Werckmeister (1645-1706) 2Werckmeister VI, Andreas Werckmeister (1645-1706) 2Werckmeister VI, Andreas Werckmeister (1645-1706) +Pietro Aaron (1523) - Meantone temperament 'Thomas Young (1799) - Well Temperament Five-limit tuning    ( !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF( !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF(76.543210/$-,+*)('&% !"#89:;<=>?@ABCDEF( !"# !"#$ -,+*)('&%%&'()*+,-.543210//0123456789:;<=>?@ABCDEF-GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs-GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs-HIJKLMGOPQRSTNVWXYZ[U]^_`ab\defghicklmnopjrstuvwqyz{|}~x     !"#$%& ()*+,-'/01234.6789:;5=>?@AB<DEFGHICKLMNOPJRSTUVWQYZ[\]^X`abcde_ghijklfnopqrsm-GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~tuvwxyz{|}~z~}|{tuvwxytuvwxyuvwxyz~}|{{|}~0Duration annotations *Compare durations with equal multipliers. $True if neither duration is dotted. 8Sum undotted divisions, input is required to be sorted. 6Sum dotted divisions, input is required to be sorted. ASum durations. Not all durations can be summed, and the present  algorithm is not exhaustive. 4Rational number of quarter notes to duration value. 5 It is a mistake to hope this could handle tuplets 7 directly, ie. a 3:2 dotted note will be of the same & duration as a plain undotted note. /Convert a whole note division integer to a RQ. Apply d dots to the duration n. =Convert duration to RQ value, see rq_to_duration for partial  inverse. 000!!!! !wxyz{|dx -> d }~rational modulo group to n, or to multiple of   $Remove duplicate elements and sort. "Powerset, ie. set of all subsets. Two element subsets (cf [2] . powerset). Set expansion  *$Serial Operator, of the form rRTMI. Modulo twelve.  Pitch class. &Map to pitch-class and reduce to set. Transpose by n. !Transpose so first element is n. All transpositions. Invert about n. Invert about first element. 3Composition of inversion about zero and transpose. Rotate left by n places. Rotate right by n places. All rotations. Modulo 12 multiplication M5      Serial operation. $The total set of serial operations.  Intervals to values, zero is n.  Integrate. Morris INT operator. Interval class. Elements of p not in q Pitch classes not in set. Is p a subsequence of q. The standard t-matrix of p. Interval class vector. Is p a subset of q.  Is p a superset of q. *      *      *      !2Parse a Morris format serial operator descriptor. "!"!"!"#&Prime form rule requiring comparator. ;Forte comparison (rightmost first then leftmost outwards). $Forte prime form. %3Rahn prime form (comparison is rightmost inwards). &<Binary encoding prime form algorithm, equalivalent to Rahn. #$%&#$%&#$%&')The set-class table (Forte prime forms). (+Lookup a set-class name given a set-class. )+Lookup a set-class given a set-class name. *List of set classes. +Set class database. '()*+'()*+'()*+,Basic interval pattern. -Cardinality filter ./'Combinations generator (cg == poweset) 0"Powerset filtered by cardinality. 1Cyclic interval segment. 2pcset complement. 3 Form cycle. 4Diatonic implications. 5'Diatonic interval set to interval set. 6Degree of intersection. 7 Forte name. 8p 8* q is true iff p can embed q in sequence. 9Embedded segment search. :8Can the set-class q (under prime form algorithm pf) be  drawn from the pcset p. ;/Can the set-class q be drawn from the pcset p. <Interval cycle filter. =%Interval class set to interval sets. >6Interval class set to interval sets, concise variant. ?Interval-class segment. @Interval segment (INT). AImbrications. Bp B9 q gives the set-classes that can append to p to give q. CMatrix search. D Normalize. E&Normalize, retain duplicate elements. FPitch-class invariances. G Relate sets. HRelate segments. I Subsets. JSuper set-class. ,-./0123456789:;<=>?@ABCDEFGHIJ,-./0123456789:;<=>?@ABCDEFGHIJ,-./0123456789:;<=>?@ABCDEFGHIJ(KLMNOPQRSTUVWXYZ[\]^_`ab6true if contour is all descending, equal or ascending c2true if contour does not containt any EQ elements dall contour descriptions efg"all possible contour descriptions h$all impossible contour descriptions ijklmnopqr(KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr(STUOPQRVWXYZKLMN[\]^_`abcdefghijklmnopqr(KLMNLMNOPQRPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvstuvstuvstuv !"#$%&'()*+,-./01223456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                      ! " # $ % & ' ( ) * + , - . / 0 123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\]]^_`abcdefghijklmnopqrstuvwxyz{|}~ F                                 hmt-0.3Music.Theory.TuningMusic.Theory.PitchMusic.Theory.Pitch.NameMusic.Theory.IntervalMusic.Theory.KeyMusic.Theory.SpellingMusic.Theory.DurationMusic.Theory.Duration.Name%Music.Theory.Duration.Sequence.NotateMusic.Theory.PermutationsMusic.Theory.SetMusic.Theory.PitchClassMusic.Theory.ParseMusic.Theory.PrimeMusic.Theory.TableMusic.Theory.Pct"Music.Theory.Contour.Polansky_1992Music.Theory.BjorklundCentsApproximate_Ratioharmonic_series_folded pythagorean_r pythagorean_cwerckmeister_iii_arwerckmeister_iii_cwerckmeister_iv_arwerckmeister_iv_cwerckmeister_v_arwerckmeister_v_cwerckmeister_vi_rwerckmeister_vi_cpietro_aaron_1523_cthomas_young_1799_cfive_limit_tuning_rfive_limit_tuning_cequal_temperament_cmk_isomorphic_layoutrank_two_regular_temperamentmk_syntonic_tuningsyntonic_697_csyntonic_702_csyntonic_commapythagorean_commamercators_commaapproximate_ratioto_centsnth_root#twelve_tone_equal_temperament_commaminimal_isomorphic_note_layoutPitchnote alterationoctave Alteration_T DoubleSharpThreeQuarterToneSharpSharpQuarterToneSharpNaturalQuarterToneFlatFlatThreeQuarterToneFlat DoubleFlatNote_TBAGFEDCOctave PitchClass note_to_pcalteration_to_diffalteration_to_fdiffpitch_to_octpc pitch_to_midipitch_to_fmidi pitch_to_pc pitch_compareoctpc_to_pitch octpc_nrm octpc_trs octpc_to_midi midi_to_octpcpitch_edit_octavenote_t_transposec1d1e1f1g1a1b1ces1des1ees1fes1ges1aes1bes1cis1dis1eis1fis1gis1ais1bis1c2d2e2f2g2a2b2ces2des2ees2fes2ges2aes2bes2cis2dis2eis2fis2gis2ais2bis2cisis2disis2eisis2fisis2gisis2aisis2bisis2c3d3e3f3g3a3b3ces3des3ees3fes3ges3aes3bes3cis3dis3eis3fis3gis3ais3bis3cisis3disis3eisis3fisis3gisis3aisis3bisis3ceseh3deseh3eeseh3feseh3geseh3aeseh3beseh3ceh3deh3eeh3feh3geh3aeh3beh3cih3dih3eih3fih3gih3aih3bih3cisih3disih3eisih3fisih3gisih3aisih3bisih3c4d4e4f4g4a4b4ces4des4ees4fes4ges4aes4bes4cis4dis4eis4fis4gis4ais4bis4ceses4deses4eeses4feses4geses4aeses4beses4cisis4disis4eisis4fisis4gisis4aisis4bisis4ceseh4deseh4eeseh4feseh4geseh4aeseh4beseh4ceh4deh4eeh4feh4geh4aeh4beh4cih4dih4eih4fih4gih4aih4bih4cisih4disih4eisih4fisih4gisih4aisih4bisih4c5d5e5f5g5a5b5ces5des5ees5fes5ges5aes5bes5cis5dis5eis5fis5gis5ais5bis5ceses5deses5eeses5feses5geses5aeses5beses5cisis5disis5eisis5fisis5gisis5aisis5bisis5ceseh5deseh5eeseh5feseh5geseh5aeseh5beseh5ceh5deh5eeh5feh5geh5aeh5beh5cih5dih5eih5fih5gih5aih5bih5cisih5disih5eisih5fisih5gisih5aisih5bisih5c6d6e6f6g6a6b6ces6des6ees6fes6ges6aes6bes6cis6dis6eis6fis6gis6ais6bis6ceseh6deseh6eeseh6feseh6geseh6aeseh6beseh6ceh6deh6eeh6feh6geh6aeh6beh6cih6dih6eih6fih6gih6aih6bih6cisih6disih6eisih6fisih6gisih6aisih6bisih6c7d7e7f7g7a7b7ces7des7ees7fes7ges7aes7bes7cis7dis7eis7fis7gis7ais7bis7Interval interval_typeinterval_qualityinterval_directioninterval_octave Interval_Q AugmentedMajorPerfectMinor Diminished Interval_TSeventhSixthFifthFourthThirdSecondUnison interval_tyinterval_q_tbl interval_q note_spaninvert_orderingintervalinvert_intervalquality_difference transposecircle_of_fifthsMode_T Major_Mode Minor_Mode key_fifthspc_spell_natural pc_spell_kspc_spell_sharp pc_spell_flat i_to_intervalinterval_simplify D_Annotation End_Tuplet Begin_TupletTie_Left Tie_RightDurationdivisiondots multiplierbreve whole_note half_note quarter_note eighth_notesixteenth_notethirtysecond_note dotted_brevedotted_whole_notedotted_half_notedotted_quarter_notedotted_eighth_notedotted_sixteenth_notedotted_thirtysecond_notedouble_dotted_brevedouble_dotted_whole_notedouble_dotted_half_notedouble_dotted_quarter_notedouble_dotted_eighth_notedouble_dotted_sixteenth_notedouble_dotted_thirtysecond_noteduration_compareduration_compare_meq sort_pairno_dotssum_dur_undottedsum_dur_dottedsum_dursum_dur'rq_to_durationwhole_note_division_to_rq rq_apply_dotsduration_to_rq$whole_note_division_to_musicxml_typeduration_to_musicxml_typeduration_to_lilypond_type!whole_note_division_to_beam_countduration_beam_countwhqesw'h'q'e's'w''h''q''e''s''_1_2_4_8_16_32_1'_2'_4'_8'_16'_32'_1''_2''_4''_8''_16''_32'' Duration_Agroup_boundarynotateascribe permutationsmultiset_permutationssetpowersetdyadsseSROmod12pcpcsettn transposeTotranspositionsinvert invertSelftnirotate rotate_right rotationsmnm5all_Tnall_TnIall_RTnIall_rR all_rRTnIall_TnMI all_RTnMI all_rRTnMIsrosrossro_Tnsro_TnIsro_RTnIsro_TnMI sro_RTnMIdx_dd_dxintic difference complement subsequencetmatrixicv is_subset is_supersetrnrtnmipco cmp_prime forte_prime rahn_prime encode_primesc_tablesc_namescscssc_dbbipcfcggcgcg_rcisegcmplcycdimdisdoifnhas_essess has_sc_pfhas_scicficiici_cicsegisegimbissbmxsnrmnrm_rpcirsrsgsbspscContour_Descriptioncontour_description_ncontour_description_mContour_Half_Matrixcontour_half_matrix_ncontour_half_matrix_mcompare_adjacentmatrix_fcontour_matrix half_matrix_fcontour_half_matrixcontour_half_matrix_str ord_to_int int_to_ordadjacent_indices all_indicescontour_descriptioncontour_description_strhalf_matrix_to_descriptioncontour_description_ix all_equaluniform no_equalities all_contours violations is_possiblepossible_contoursimpossible_contourscontour_description_lm implicationreplace draw_contour ord_invertcontour_description_invertex_1ex_2ex_3ex_4 bjorklundxdotiseqiseq_strRdebug d_duration da_tied_right integratestep_dur boundarieswith_start_timeswith_start_times'start_middle_end tied_r_to_d boundaries_dr_mod sep_unrep sep_unrep_dseparategroup_boundary_d derive_tuplet un_tupletd_join_aligned divisible_byd_joincoalescesimplify to_durationtuplet notate_sec ascribe_fnall_psn_psPis_charget_int forte_cmpencodedecodeSTEPleftright bjorklund'