UNPKG

edo.js

Version:

A set of functions for manipulating musical pitches within a given EDO

1,661 lines (549 loc) 257 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>get</title> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css"> <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css"> <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css"> <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"> <defs> <symbol id="copy-icon" viewbox="0 0 488.3 488.3"> <g> <path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/> <path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/> </g> </symbol> </defs> </svg> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger" /> <label for="nav-trigger" class="navicon-button x"> <div class="navicon"></div> </label> <label for="nav-trigger" class="overlay"></label> <nav> <h2><a href="index.html"><div class="text">Home</div></a></h2><div class="search-box"><input type="text" placeholder="Search..." id="search-box" /><div class="search-item-container" id="search-item-container"><ul class="search-item-ul" id="search-item-ul"></ul></div></div><div class="sidebar-list-div"><h3>Classes</h3><ul><li><a href="EDO.html">EDO</a><ul class='methods'><li data-type='method'><a href="EDO.html#scale">scale</a></li></ul></li><li><a href="Scale.html">Scale</a><ul class='methods'><li data-type='method'><a href="Scale.html#complement">complement</a></li><li data-type='method'><a href="Scale.html#invert">invert</a></li><li data-type='method'><a href="Scale.html#mode">mode</a></li><li data-type='method'><a href="Scale.html#normal">normal</a></li><li data-type='method'><a href="Scale.html#prime">prime</a></li></ul></li><li><a href="Time.html">Time</a></li></ul><h3>Namespaces</h3><ul><li><a href="EDO_convert.html">convert</a><ul class='methods'><li data-type='method'><a href="EDO_convert.html#.cents_to_interval">cents_to_interval</a></li><li data-type='method'><a href="EDO_convert.html#.cents_to_ratio">cents_to_ratio</a></li><li data-type='method'><a href="EDO_convert.html#.freq_to_midi">freq_to_midi</a></li><li data-type='method'><a href="EDO_convert.html#.interval_to_cents">interval_to_cents</a></li><li data-type='method'><a href="EDO_convert.html#.interval_to_ratio">interval_to_ratio</a></li><li data-type='method'><a href="EDO_convert.html#.intervals_to_pitches">intervals_to_pitches</a></li><li data-type='method'><a href="EDO_convert.html#.intervals_to_scale">intervals_to_scale</a></li><li data-type='method'><a href="EDO_convert.html#.midi_to_freq">midi_to_freq</a></li><li data-type='method'><a href="EDO_convert.html#.midi_to_intervals">midi_to_intervals</a></li><li data-type='method'><a href="EDO_convert.html#.midi_to_name">midi_to_name</a></li><li data-type='method'><a href="EDO_convert.html#.name_to_scale">name_to_scale</a></li><li data-type='method'><a href="EDO_convert.html#.pc_to_name">pc_to_name</a></li><li data-type='method'><a href="EDO_convert.html#.pitches_to_freq">pitches_to_freq</a></li><li data-type='method'><a href="EDO_convert.html#.pitches_to_PCs">pitches_to_PCs</a></li><li data-type='method'><a href="EDO_convert.html#.ratio_to_cents">ratio_to_cents</a></li><li data-type='method'><a href="EDO_convert.html#.ratio_to_interval">ratio_to_interval</a></li><li data-type='method'><a href="EDO_convert.html#.to_steps">to_steps</a></li></ul></li><li><a href="EDO_count.html">count</a><ul class='methods'><li data-type='method'><a href="EDO_count.html#.common_tones">common_tones</a></li><li data-type='method'><a href="EDO_count.html#.differences">differences</a></li><li data-type='method'><a href="EDO_count.html#.pitches">pitches</a></li></ul></li><li><a href="EDO_export.html">export</a><ul class='methods'><li data-type='method'><a href="EDO_export.html#.png">png</a></li><li data-type='method'><a href="EDO_export.html#.svg">svg</a></li></ul></li><li><a href="EDO_get.html">get</a><ul class='methods'><li data-type='method'><a href="EDO_get.html#.angle">angle</a></li><li data-type='method'><a href="EDO_get.html#.best_edo_from_cents">best_edo_from_cents</a></li><li data-type='method'><a href="EDO_get.html#.combinations">combinations</a></li><li data-type='method'><a href="EDO_get.html#.complementary_interval">complementary_interval</a></li><li data-type='method'><a href="EDO_get.html#.complementary_set">complementary_set</a></li><li data-type='method'><a href="EDO_get.html#.contour">contour</a></li><li data-type='method'><a href="EDO_get.html#.contour_motives">contour_motives</a></li><li data-type='method'><a href="EDO_get.html#.coordinates">coordinates</a></li><li data-type='method'><a href="EDO_get.html#.evenly_split">evenly_split</a></li><li data-type='method'><a href="EDO_get.html#.fill_partial_harp_pedaling">fill_partial_harp_pedaling</a></li><li data-type='method'><a href="EDO_get.html#.generated_scale">generated_scale</a></li><li data-type='method'><a href="EDO_get.html#.generators">generators</a></li><li data-type='method'><a href="EDO_get.html#.harmonic_progression">harmonic_progression</a></li><li data-type='method'><a href="EDO_get.html#.harmonized_melody">harmonized_melody</a></li><li data-type='method'><a href="EDO_get.html#.harp_pedals_to_pitches">harp_pedals_to_pitches</a></li><li data-type='method'><a href="EDO_get.html#.harp_position_of_quality">harp_position_of_quality</a></li><li data-type='method'><a href="EDO_get.html#.intersection">intersection</a></li><li data-type='method'><a href="EDO_get.html#.interval_stack">interval_stack</a></li><li data-type='method'><a href="EDO_get.html#.interval_traversed">interval_traversed</a></li><li data-type='method'><a href="EDO_get.html#.inversion">inversion</a></li><li data-type='method'><a href="EDO_get.html#.lattice">lattice</a></li><li data-type='method'><a href="EDO_get.html#.levenshtein">levenshtein</a></li><li data-type='method'><a href="EDO_get.html#.maximal_carey_coherence_failures">maximal_carey_coherence_failures</a></li><li data-type='method'><a href="EDO_get.html#.maximal_rahn_difference">maximal_rahn_difference</a></li><li data-type='method'><a href="EDO_get.html#.minimal_voice_leading">minimal_voice_leading</a></li><li data-type='method'><a href="EDO_get.html#.mixture_in_cardinality">mixture_in_cardinality</a></li><li data-type='method'><a href="EDO_get.html#.modes">modes</a></li><li data-type='method'><a href="EDO_get.html#.motives">motives</a></li><li data-type='method'><a href="EDO_get.html#.n_choose_k">n_choose_k</a></li><li data-type='method'><a href="EDO_get.html#.necklace">necklace</a></li><li data-type='method'><a href="EDO_get.html#.new_pitches">new_pitches</a></li><li data-type='method'><a href="EDO_get.html#.ngrams">ngrams</a></li><li data-type='method'><a href="EDO_get.html#.normal_order">normal_order</a></li><li data-type='method'><a href="EDO_get.html#.notes_from_cents">notes_from_cents</a></li><li data-type='method'><a href="EDO_get.html#.partitioned_subsets">partitioned_subsets</a></li><li data-type='method'><a href="EDO_get.html#.path_n_steps">path_n_steps</a></li><li data-type='method'><a href="EDO_get.html#.path_on_tree">path_on_tree</a></li><li data-type='method'><a href="EDO_get.html#.permutations">permutations</a></li><li data-type='method'><a href="EDO_get.html#.pitch_distribution">pitch_distribution</a></li><li data-type='method'><a href="EDO_get.html#.pitch_fields">pitch_fields</a></li><li data-type='method'><a href="EDO_get.html#.random_melody">random_melody</a></li><li data-type='method'><a href="EDO_get.html#.random_melody_from_contour">random_melody_from_contour</a></li><li data-type='method'><a href="EDO_get.html#.random_melody_from_distribution">random_melody_from_distribution</a></li><li data-type='method'><a href="EDO_get.html#.random_melody_from_ngram">random_melody_from_ngram</a></li><li data-type='method'><a href="EDO_get.html#.ratio_approximation">ratio_approximation</a></li><li data-type='method'><a href="EDO_get.html#.retrograde">retrograde</a></li><li data-type='method'><a href="EDO_get.html#.rotated">rotated</a></li><li data-type='method'><a href="EDO_get.html#.rotations">rotations</a></li><li data-type='method'><a href="EDO_get.html#.scalar_melodies">scalar_melodies</a></li><li data-type='method'><a href="EDO_get.html#.scale_fragments">scale_fragments</a></li><li data-type='method'><a href="EDO_get.html#.scales">scales</a></li><li data-type='method'><a href="EDO_get.html#.sets_from_mixture">sets_from_mixture</a></li><li data-type='method'><a href="EDO_get.html#.shortest_path">shortest_path</a></li><li data-type='method'><a href="EDO_get.html#.simple_ratios">simple_ratios</a></li><li data-type='method'><a href="EDO_get.html#.stacked">stacked</a></li><li data-type='method'><a href="EDO_get.html#.starting_at">starting_at</a></li><li data-type='method'><a href="EDO_get.html#.step_maximal_mean_error_in_cardinality">step_maximal_mean_error_in_cardinality</a></li><li data-type='method'><a href="EDO_get.html#.step_min_max_error_in_EDO">step_min_max_error_in_EDO</a></li><li data-type='method'><a href="EDO_get.html#.step_min_max_mean_error_in_cardinality">step_min_max_mean_error_in_cardinality</a></li><li data-type='method'><a href="EDO_get.html#.step_minimal_mean_error_in_cardinality">step_minimal_mean_error_in_cardinality</a></li><li data-type='method'><a href="EDO_get.html#.subset_indices">subset_indices</a></li><li data-type='method'><a href="EDO_get.html#.subsets">subsets</a></li><li data-type='method'><a href="EDO_get.html#.transposition">transposition</a></li><li data-type='method'><a href="EDO_get.html#.union">union</a></li><li data-type='method'><a href="EDO_get.html#.unique_elements">unique_elements</a></li><li data-type='method'><a href="EDO_get.html#.well_formed_scale">well_formed_scale</a></li><li data-type='method'><a href="EDO_get.html#.without">without</a></li><li data-type='method'><a href="EDO_get.html#.without_chromatic_notes">without_chromatic_notes</a></li></ul></li><li><a href="EDO_is.html">is</a><ul class='methods'><li data-type='method'><a href="EDO_is.html#.element_of">element_of</a></li><li data-type='method'><a href="EDO_is.html#.rotation">rotation</a></li><li data-type='method'><a href="EDO_is.html#.same">same</a></li><li data-type='method'><a href="EDO_is.html#.subset">subset</a></li><li data-type='method'><a href="EDO_is.html#.transposition">transposition</a></li></ul></li><li><a href="EDO_midi.html">midi</a><ul class='methods'><li data-type='method'><a href="EDO_midi.html#.chordify">chordify</a></li><li data-type='method'><a href="EDO_midi.html#.import">import</a></li><li data-type='method'><a href="EDO_midi.html#.strip">strip</a></li></ul></li><li><a href="EDO_show.html">show</a><ul class='methods'><li data-type='method'><a href="EDO_show.html#.contour">contour</a></li><li data-type='method'><a href="EDO_show.html#.interval_fractal_tree">interval_fractal_tree</a></li><li data-type='method'><a href="EDO_show.html#.necklace">necklace</a></li><li data-type='method'><a href="EDO_show.html#.necklace_fractal">necklace_fractal</a></li><li data-type='method'><a href="EDO_show.html#.nested_necklaces">nested_necklaces</a></li></ul></li><li><a href="EDO_xml.html">xml</a></li><li><a href="Scale_count.html">count</a><ul class='methods'><li data-type='method'><a href="Scale_count.html#.chord_quality">chord_quality</a></li><li data-type='method'><a href="Scale_count.html#.consecutive_steps">consecutive_steps</a></li><li data-type='method'><a href="Scale_count.html#.imperfections">imperfections</a></li><li data-type='method'><a href="Scale_count.html#.interval">interval</a></li><li data-type='method'><a href="Scale_count.html#.M3s">M3s</a></li><li data-type='method'><a href="Scale_count.html#.m3s">m3s</a></li><li data-type='method'><a href="Scale_count.html#.major_minor_triads">major_minor_triads</a></li><li data-type='method'><a href="Scale_count.html#.min_max_n_chords_in_necklace">min_max_n_chords_in_necklace</a></li><li data-type='method'><a href="Scale_count.html#.modes">modes</a></li><li data-type='method'><a href="Scale_count.html#.n_chords">n_chords</a></li><li data-type='method'><a href="Scale_count.html#.n_chords_diatonic">n_chords_diatonic</a></li><li data-type='method'><a href="Scale_count.html#.P5s">P5s</a></li><li data-type='method'><a href="Scale_count.html#.pitches">pitches</a></li><li data-type='method'><a href="Scale_count.html#.rahn_ambiguities">rahn_ambiguities</a></li><li data-type='method'><a href="Scale_count.html#.rahn_contradictions">rahn_contradictions</a></li><li data-type='method'><a href="Scale_count.html#.rahn_differences">rahn_differences</a></li><li data-type='method'><a href="Scale_count.html#.ratio">ratio</a></li><li data-type='method'><a href="Scale_count.html#.rotational_symmetries">rotational_symmetries</a></li><li data-type='method'><a href="Scale_count.html#.simple_ratios">simple_ratios</a></li><li data-type='method'><a href="Scale_count.html#.tetrachords">tetrachords</a></li><li data-type='method'><a href="Scale_count.html#.thirds">thirds</a></li><li data-type='method'><a href="Scale_count.html#.transpositions">transpositions</a></li><li data-type='method'><a href="Scale_count.html#.trichords">trichords</a></li><li data-type='method'><a href="Scale_count.html#.unique_elements">unique_elements</a></li></ul></li><li><a href="Scale_export.html">export</a><ul class='methods'><li data-type='method'><a href="Scale_export.html#.scala">scala</a></li></ul></li><li><a href="Scale_get.html">get</a><ul class='methods'><li data-type='method'><a href="Scale_get.html#.area">area</a></li><li data-type='method'><a href="Scale_get.html#.binary_unevenness">binary_unevenness</a></li><li data-type='method'><a href="Scale_get.html#.cardinality_variety_ratio">cardinality_variety_ratio</a></li><li data-type='method'><a href="Scale_get.html#.chord_quality_from_shape">chord_quality_from_shape</a></li><li data-type='method'><a href="Scale_get.html#.coherence_quotient">coherence_quotient</a></li><li data-type='method'><a href="Scale_get.html#.common_tone_transpositions">common_tone_transpositions</a></li><li data-type='method'><a href="Scale_get.html#.complement">complement</a></li><li data-type='method'><a href="Scale_get.html#.constituent_similarity">constituent_similarity</a></li><li data-type='method'><a href="Scale_get.html#.coordinates">coordinates</a></li><li data-type='method'><a href="Scale_get.html#.diagnostic_combinations">diagnostic_combinations</a></li><li data-type='method'><a href="Scale_get.html#.diagnostic_intervals">diagnostic_intervals</a></li><li data-type='method'><a href="Scale_get.html#.edo">edo</a></li><li data-type='method'><a href="Scale_get.html#.entropy">entropy</a></li><li data-type='method'><a href="Scale_get.html#.evenness_of_spread">evenness_of_spread</a></li><li data-type='method'><a href="Scale_get.html#.generic_intervals">generic_intervals</a></li><li data-type='method'><a href="Scale_get.html#.identity_fragment">identity_fragment</a></li><li data-type='method'><a href="Scale_get.html#.information">information</a></li><li data-type='method'><a href="Scale_get.html#.interval_class">interval_class</a></li><li data-type='method'><a href="Scale_get.html#.interval_vector">interval_vector</a></li><li data-type='method'><a href="Scale_get.html#.inversion">inversion</a></li><li data-type='method'><a href="Scale_get.html#.least_step_multiplier">least_step_multiplier</a></li><li data-type='method'><a href="Scale_get.html#.lerdahl_attraction">lerdahl_attraction</a></li><li data-type='method'><a href="Scale_get.html#.lerdahl_attraction_vector">lerdahl_attraction_vector</a></li><li data-type='method'><a href="Scale_get.html#.levenshtein">levenshtein</a></li><li data-type='method'><a href="Scale_get.html#.mean">mean</a></li><li data-type='method'><a href="Scale_get.html#.melody_from_intervals">melody_from_intervals</a></li><li data-type='method'><a href="Scale_get.html#.minimal_diagnostic_combination">minimal_diagnostic_combination</a></li><li data-type='method'><a href="Scale_get.html#.mixture">mixture</a></li><li data-type='method'><a href="Scale_get.html#.mode_variance">mode_variance</a></li><li data-type='method'><a href="Scale_get.html#.modes">modes</a></li><li data-type='method'><a href="Scale_get.html#.modes_with_notes">modes_with_notes</a></li><li data-type='method'><a href="Scale_get.html#.motives_diatonic">motives_diatonic</a></li><li data-type='method'><a href="Scale_get.html#.n_chords">n_chords</a></li><li data-type='method'><a href="Scale_get.html#.n_chords_diatonic">n_chords_diatonic</a></li><li data-type='method'><a href="Scale_get.html#.name">name</a></li><li data-type='method'><a href="Scale_get.html#.necklace_family">necklace_family</a></li><li data-type='method'><a href="Scale_get.html#.necklace_family_members">necklace_family_members</a></li><li data-type='method'><a href="Scale_get.html#.neighborhood">neighborhood</a></li><li data-type='method'><a href="Scale_get.html#.normal_order">normal_order</a></li><li data-type='method'><a href="Scale_get.html#.pairwise_generic_specific_intervals">pairwise_generic_specific_intervals</a></li><li data-type='method'><a href="Scale_get.html#.per_note_set_difference">per_note_set_difference</a></li><li data-type='method'><a href="Scale_get.html#.permutations">permutations</a></li><li data-type='method'><a href="Scale_get.html#.pitches">pitches</a></li><li data-type='method'><a href="Scale_get.html#.position_of_quality">position_of_quality</a></li><li data-type='method'><a href="Scale_get.html#.prime_form">prime_form</a></li><li data-type='method'><a href="Scale_get.html#.product">product</a></li><li data-type='method'><a href="Scale_get.html#.quality_with_intervals">quality_with_intervals</a></li><li data-type='method'><a href="Scale_get.html#.reflectional_symmetry">reflectional_symmetry</a></li><li data-type='method'><a href="Scale_get.html#.resize_melody">resize_melody</a></li><li data-type='method'><a href="Scale_get.html#.rotational_symmetry">rotational_symmetry</a></li><li data-type='method'><a href="Scale_get.html#.rotations">rotations</a></li><li data-type='method'><a href="Scale_get.html#.rothenberg_propriety">rothenberg_propriety</a></li><li data-type='method'><a href="Scale_get.html#.roughness">roughness</a></li><li data-type='method'><a href="Scale_get.html#.runs">runs</a></li><li data-type='method'><a href="Scale_get.html#.sameness_quotient">sameness_quotient</a></li><li data-type='method'><a href="Scale_get.html#.scale_degree_roles">scale_degree_roles</a></li><li data-type='method'><a href="Scale_get.html#.scale_degree_transpositions">scale_degree_transpositions</a></li><li data-type='method'><a href="Scale_get.html#.sequence_transposition">sequence_transposition</a></li><li data-type='method'><a href="Scale_get.html#.set_difference">set_difference</a></li><li data-type='method'><a href="Scale_get.html#.shortest_path">shortest_path</a></li><li data-type='method'><a href="Scale_get.html#.sine_pair_dissonance">sine_pair_dissonance</a></li><li data-type='method'><a href="Scale_get.html#.specific_intervals">specific_intervals</a></li><li data-type='method'><a href="Scale_get.html#.stacks">stacks</a></li><li data-type='method'><a href="Scale_get.html#.step_mean_error">step_mean_error</a></li><li data-type='method'><a href="Scale_get.html#.step_similarity">step_similarity</a></li><li data-type='method'><a href="Scale_get.html#.step_sizes">step_sizes</a></li><li data-type='method'><a href="Scale_get.html#.step_tally">step_tally</a></li><li data-type='method'><a href="Scale_get.html#.steps_to_qualities">steps_to_qualities</a></li><li data-type='method'><a href="Scale_get.html#.supersets">supersets</a></li><li data-type='method'><a href="Scale_get.html#.symmetricalness">symmetricalness</a></li><li data-type='method'><a href="Scale_get.html#.tetrachords">tetrachords</a></li><li data-type='method'><a href="Scale_get.html#.transposition">transposition</a></li><li data-type='method'><a href="Scale_get.html#.transpositions_with_pitches">transpositions_with_pitches</a></li><li data-type='method'><a href="Scale_get.html#.trichords">trichords</a></li><li data-type='method'><a href="Scale_get.html#.unevenness">unevenness</a></li><li data-type='method'><a href="Scale_get.html#.without">without</a></li></ul></li><li><a href="Scale_is.html">is</a><ul class='methods'><li data-type='method'><a href="Scale_is.html#.deep">deep</a></li><li data-type='method'><a href="Scale_is.html#.distributionally_even">distributionally_even</a></li><li data-type='method'><a href="Scale_is.html#.in_lower_edos">in_lower_edos</a></li><li data-type='method'><a href="Scale_is.html#.invertible">invertible</a></li><li data-type='method'><a href="Scale_is.html#.maximally_even">maximally_even</a></li><li data-type='method'><a href="Scale_is.html#.mode_of">mode_of</a></li><li data-type='method'><a href="Scale_is.html#.MOLT">MOLT</a></li><li data-type='method'><a href="Scale_is.html#.myhill_property">myhill_property</a></li><li data-type='method'><a href="Scale_is.html#.normal_order">normal_order</a></li><li data-type='method'><a href="Scale_is.html#.one_of">one_of</a></li><li data-type='method'><a href="Scale_is.html#.prime_form">prime_form</a></li><li data-type='method'><a href="Scale_is.html#.sharper">sharper</a></li><li data-type='method'><a href="Scale_is.html#.subset">subset</a></li></ul></li><li><a href="Scale_show.html">show</a><ul class='methods'><li data-type='method'><a href="Scale_show.html#.interval_fractal_tree">interval_fractal_tree</a></li><li data-type='method'><a href="Scale_show.html#.necklace">necklace</a></li></ul></li><li><a href="Scale_to.html">to</a><ul class='methods'><li data-type='method'><a href="Scale_to.html#.cents">cents</a></li><li data-type='method'><a href="Scale_to.html#.EDO">EDO</a></li><li data-type='method'><a href="Scale_to.html#.steps">steps</a></li></ul></li><li><a href="Time_convert.html">convert</a><ul class='methods'><li data-type='method'><a href="Time_convert.html#.beats_to_msec">beats_to_msec</a></li><li data-type='method'><a href="Time_convert.html#.beats_to_ratios">beats_to_ratios</a></li><li data-type='method'><a href="Time_convert.html#.beats_to_tempo">beats_to_tempo</a></li></ul></li><li><a href="Time_get.html">get</a><ul class='methods'><li data-type='method'><a href="Time_get.html#.beat">beat</a></li><li data-type='method'><a href="Time_get.html#.counterpoint_cycle">counterpoint_cycle</a></li><li data-type='method'><a href="Time_get.html#.explicit">explicit</a></li><li data-type='method'><a href="Time_get.html#.fractal">fractal</a></li><li data-type='method'><a href="Time_get.html#.motives">motives</a></li><li data-type='method'><a href="Time_get.html#.ratios">ratios</a></li><li data-type='method'><a href="Time_get.html#.relational_motives">relational_motives</a></li><li data-type='method'><a href="Time_get.html#.repeated">repeated</a></li><li data-type='method'><a href="Time_get.html#.subdivisions">subdivisions</a></li></ul></li><li><a href="Time_resize.html">resize</a><ul class='methods'><li data-type='method'><a href="Time_resize.html#.by_product">by_product</a></li><li data-type='method'><a href="Time_resize.html#.by_sum">by_sum</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3><ul><li><a href="global.html#myhill_property">myhill_property</a></li></ul></div> </nav> <div id="main"> <h1 id='page-title' class="page-title">get</h1> <section> <header> <h2> <span class="ancestors"><a href="Scale.html">Scale</a>#</span> get </h2> </header> <article> <div class="container-overview"> <div class="description"><p>A collection of functions manipulates the scale and returns diverse information about it</p></div> </div> <h3 class="subsection-title">Methods</h3> <h4 class="name" id=".area"> <a href="#.area">#</a> <span class="type-signature">(static) </span>area<span class="signature">(r<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Number}</span> </h4> <div class="description"> <p>Returns the area of the polygon created by the nodes of the set on the bracelet. With radius left to its default value, the area of the entire bracelet is 1, so this function will return a value between 0 to 1.</p> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Parameters:</strong> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th>Default</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>r</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> 0.56418958354776 </td> <td class="description last"><p>The radius of the circle/bracelet. The default value is the radius of a circle with area=1</p></td> </tr> </tbody> </table> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line5360">line 5360</a> </li></ul></dd> </div> <div class="details-item-container"> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li>EDO#get.area</li> </ul> </dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <div class="param-desc"> <p>The area of the polygon. with the default settings if also conveys the percentage of the circle being occupied. (0=0% - 1=100%)</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) //define context let scale = edo.scale([0,1,2,3,4,5,6,7,8,9,10,11]) //chromatic scale scale.get.coordinates() //returns 0.9549296585513847 scale = edo.scale([0,4,7]) //major triad scale.get.area() //returns 0.376564638493296</code></pre> </div> <h4 class="name" id=".binary_unevenness"> <a href="#.binary_unevenness">#</a> <span class="type-signature">(static) </span>binary_unevenness<span class="signature">()</span><span class="type-signature"></span> </h4> <div class="description"> <p>Documentation missing.</p> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line5378">line 5378</a> </li></ul></dd> </div> <div class="details-item-container"> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li>EDO#get.unevenness()</li> </ul> </dd> </div> </dl> <h4 class="name" id=".cardinality_variety_ratio"> <a href="#.cardinality_variety_ratio">#</a> <span class="type-signature">(static) </span>cardinality_variety_ratio<span class="signature">()</span><span class="type-signature"> &rarr; {Boolean}</span> </h4> <div class="description"> <p>returns the ratio of cardinality to variety as described by Clough and Myerson (see citation) </p> <p>In the paper the concept of cardinality equals variety which is a maximally even set property. other scales may have a higher variety than cardinality and vice a versa.</p> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line5458">line 5458</a> </li></ul></dd> </div> <div class="details-item-container"> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li>Clough, J. and G. Myerson (1985). "Variety and multiplicity in diatonic systems." Journal of music theory 29(2): 249-270.</li> </ul> </dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Boolean</span> </dd> </dl> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) //define context let scale = edo.scale([0,2,4,5,7,9,11]) //major scale scale.is.cardinality_variety_ratio() //returns 1 let scale = edo.scale([0,1,4,5,7,9,10]) //major scale scale.is.cardinality_variety_ratio() //returns 0.7104978354978355</code></pre> </div> <h4 class="name" id=".chord_quality_from_shape"> <a href="#.chord_quality_from_shape">#</a> <span class="type-signature">(static) </span>chord_quality_from_shape<span class="signature">(shape, scale_degree<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Array.&lt;Number>}</span> </h4> <div class="description"> <p>Returns the pitch classes of a chord "shape" on a given scale degree.</p> <p>for instance, in the C major scale, the shape 1,2,3,5 on 1 gives C D E G, and starting on 2, gives D E F A.</p> <p>Remark: "pitch classes" conform to the current tuning system used. E.g., 0-11 in 12EDO, 0-16 in 17EDO, etc.</p> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Parameters:</strong> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th>Default</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>shape</code></td> <td class="type"> <span class="param-type">Array.&lt;Number></span> </td> <td class="attributes"> </td> <td class="default"> </td> <td class="description last"><p>The &quot;shape&quot; starting from 1.</p></td> </tr> <tr> <td class="name"><code>scale_degree</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> 1 </td> <td class="description last"><p>The scale degree on which to apply the shape (starting from 1)</p></td> </tr> </tbody> </table> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line5893">line 5893</a> </li></ul></dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <div class="param-desc"> <ul> <li>The resultant pitch classes from that shape on that scale degree.</li> </ul> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Array.&lt;Number></span> </dd> </dl> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) // define a tuning system let scale = edo.scale([0,2,4,5,7,9,11]) scale.get.chord_quality_from_shape([1,5,6],1) //returns [0, 7, 9] scale.get.chord_quality_from_shape([1,3,4,5,7],7) //returns [11, 2, 4, 5, 9] scale.get.chord_quality_from_shape([1,7,3,13,9],5) //Get a 7,9,13 (no 5) chord, on scale degree 5, in this specific voicing.</code></pre> </div> <h4 class="name" id=".coherence_quotient"> <a href="#.coherence_quotient">#</a> <span class="type-signature">(static) </span>coherence_quotient<span class="signature">()</span><span class="type-signature"></span> </h4> <div class="description"> <p>Returns the coherence quotient according to Carey (2007) (see citation)</p> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line7039">line 7039</a> </li></ul></dd> </div> <div class="details-item-container"> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li>Carey, N. (2007). "Coherence and sameness in well-formed and pairwise well-formed scales." Journal of Mathematics and Music 1(2): 79-98.</li> </ul> </dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <div class="param-desc"> <p>Number</p> </div> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) //define tuning let scale = edo.scale([0,2,4,7,9]) //The pentatonic scale scale.get.coherence_quotient() //returns 1</code></pre> </div> <h4 class="name" id=".common_tone_transpositions"> <a href="#.common_tone_transpositions">#</a> <span class="type-signature">(static) </span>common_tone_transpositions<span class="signature">(normalize<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Array.&lt;Array.&lt;Number>, Number>}</span> </h4> <div class="description"> <p>Returns all the transpositions of the scale that are constructed on the scale degrees of the original scale, As well the the number of notes altered to get from the original scale to the new scale as a &quot;Tuple&quot;</p> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Parameters:</strong> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th>Default</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>normalize</code></td> <td class="type"> <span class="param-type">Boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> true </td> <td class="description last"><p>when true, all of the transpositions will be constructed by altering the original scale</p></td> </tr> </tbody> </table> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line5836">line 5836</a> </li></ul></dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <div class="param-desc"> <p>An array containing all of the stacks</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Array.&lt;Array.&lt;Number>, Number></span> </dd> </dl> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) //define context let scale = edo.scale([0,3,7]) //minor triad scale.get.common_tone_transpositions() //returns [ [ [ 0, 3, 7 ], 0 ], [ [ 0, 4, 9 ], 2 ], [ [ 0, 5, 8 ], 2 ], [ [ 3, 6, 10 ], 2 ], [ [ 3, 8, 11 ], 2 ], [ [ 2, 7, 10 ], 2 ], [ [ 4, 7, 11 ], 2 ] ]</code></pre> </div> <h4 class="name" id=".complement"> <a href="#.complement">#</a> <span class="type-signature">(static) </span>complement<span class="signature">(from_0<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Array.&lt;Number>}</span> </h4> <div class="description"> <p>Returns all the pitch-classes (of the current tuning system) that the scale does not use.</p> <p>Remark: "pitch classes" conform to the current tuning system used. E.g., 0-11 in 12EDO, 0-16 in 17EDO, etc.</p> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Parameters:</strong> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th>Default</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>from_0</code></td> <td class="type"> <span class="param-type">boolean</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> false </td> <td class="description last"><p>when true, the output will be normalized to 0.</p></td> </tr> </tbody> </table> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line5871">line 5871</a> </li></ul></dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Array.&lt;Number></span> </dd> </dl> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) // define a tuning system let scale = edo.scale([0,2,4,5,7,9,11]) scale.get.complement() //returns [1, 3, 6, 8, 10] scale.get.complement(true) //returns [0, 2, 5, 7, 9]</code></pre> </div> <h4 class="name" id=".constituent_similarity"> <a href="#.constituent_similarity">#</a> <span class="type-signature">(static) </span>constituent_similarity<span class="signature">()</span><span class="type-signature"> &rarr; {Number}</span> </h4> <div class="description"> <p>returns a measure of self similarity in the scale's steps sizes (not to be confused with Scale#get.step_similarity() which takes all steps into account). The more similar the sizes are to one another the closer the value is to 1. The less similar the sizes are to one another, the closer they are to 0.</p> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line7356">line 7356</a> </li></ul></dd> </div> <div class="details-item-container"> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li>Scale#get.step_similarity()</li> </ul> </dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <div class="param-desc"> <p>The self-similarity measure</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Number</span> </dd> </dl> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) //define context let scale = edo.scale([0,2,4,5,7,9,11]) //major scale scale.get.constituent_similarity() //returns 0.9166666666666666 let scale = edo.scale([0,2,4,6,8,10]) //whole-tones scale.get.constituent_similarity() //returns 1 let scale = edo.scale([0,1]) // scale.get.constituent_similarity() //returns 0.16666666666666663</code></pre> </div> <h4 class="name" id=".coordinates"> <a href="#.coordinates">#</a> <span class="type-signature">(static) </span>coordinates<span class="signature">(circle_center<span class="signature-attributes">opt</span>, r<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Array.&lt;Array.&lt;Number, Number>>}</span> </h4> <div class="description"> <p>Returns the [x,y] coordinates of the nodes of the scale.</p> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Parameters:</strong> <table class="params"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Attributes</th> <th>Default</th> <th class="last">Description</th> </tr> </thead> <tbody> <tr> <td class="name"><code>circle_center</code></td> <td class="type"> <span class="param-type">Array.&lt;Number></span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> [0,0] </td> <td class="description last"><p>The center of the circle</p></td> </tr> <tr> <td class="name"><code>r</code></td> <td class="type"> <span class="param-type">Number</span> </td> <td class="attributes"> &lt;optional><br> </td> <td class="default"> 0.56418958354776 </td> <td class="description last"><p>The radius of the circle. By default the radius is of a circle with area=1</p></td> </tr> </tbody> </table> </div> <dl class="details"> <div class="details-item-container"> <dt class="tag-source">Source:</dt> <dd class="tag-source"><ul class="dummy"><li> <a href="edo.js.html">edo.js</a>, <a href="edo.js.html#line5811">line 5811</a> </li></ul></dd> </div> <div class="details-item-container"> <dt class="tag-see">See:</dt> <dd class="tag-see"> <ul> <li><a href="EDO_get.html#.coordinates">EDO#get.coordinates</a></li> </ul> </dd> </div> </dl> <div class="method-member-container mt-20"> <strong>Returns:</strong> <div class="param-desc"> <p>An array with tuples each corresponding to the x,y position of every pitch</p> </div> <dl class="param-type"> <dt> Type </dt> <dd> <span class="param-type">Array.&lt;Array.&lt;Number, Number>></span> </dd> </dl> </div> <div class="method-member-container flex flex-col w-100 overflow-auto mt-20"> <strong>Example</strong> <pre class="prettyprint"><code>let edo = new EDO(12) //define context let scale = edo.scale([0,3,7]) //minor triad scale.get.coordinates() //returns [ [00.56418958354776] [0.564189583547763.454664838020213e-17] [-0.2820947917738801-0.48860251190292314] ]</code></pre> </div> <h4 class="name" id=".diagnostic_combinations"> <a href="#.diagnostic_combinations">#</a> <span class="type-signature">(static) </span>diagnostic_combinations<span class="signature">()</span><span class="type-signature"> &rarr; {Array.&lt;Array.&lt;Number>>}</span> </h4> <div class="description"> <p>Returns the intervals and combinations of intervals that only occur once in the set.</p> <p>For instance, in the diatonic set (0 2 4 5 7 9 11) an interval of 6 semitones only occurs once (between 5 and 11). It is therefore a "diagnostic" interval within the diatonic scale.</p> </div> <dl class="details"> <div class="details-item-container"> <dt class="ta