edo.js
Version:
A set of functions for manipulating musical pitches within a given EDO
1,725 lines (578 loc) • 84.8 kB
HTML
<!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="Time.html">Time</a>#</span>
get
</h2>
</header>
<article>
<div class="container-overview">
<div class="description"><p>A collection of functions manipulates an input</p></div>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id=".beat">
<a href="#.beat">#</a>
<span class="type-signature">(static) </span>beat<span class="signature">(array)</span><span class="type-signature"> → {Array.<Number>}</span>
</h4>
<div class="description">
<p>Returns an array of arrays representing different sized beats coalescing with the pattern.</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 class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>array</code></td>
<td class="type">
<span class="param-type">Array.<Number></span>
</td>
<td class="description last"><p>A beat pattern</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#line8300">line 8300</a>
</li></ul></dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>An ordered array showing as tuples [beat_size,number_of_alignments]</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<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 time = new Time()
time.get.beat([2,4,4,4,4,4,4,4])
//returns
[
[ 2, 8 ], //a beat of size 2 aligns with the pattern 8 times (every element in the pattern falls on a beat)
[ 4, 7 ], //a beat of size 4 aligns with the pattern 7 times (in this case, all the elements align if the first element is seen as a pickup)
[ 3, 3 ] //a beat of size 3 aligns with the pattern 3 times
]</code></pre>
</div>
<h4 class="name" id=".counterpoint_cycle">
<a href="#.counterpoint_cycle">#</a>
<span class="type-signature">(static) </span>counterpoint_cycle<span class="signature">(patterns)</span><span class="type-signature"> → {Array.<Array.<Number>>}</span>
</h4>
<div class="description">
<p>Returns a binary representation of ONE complete cycle of all given beat patterns</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 class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>patterns</code></td>
<td class="type">
<span class="param-type">...Array.<Number></span>
|
<span class="param-type">Number</span>
</td>
<td class="description last"><p>beat patterns as arrays or integers seperated by commas.</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#line8434">line 8434</a>
</li></ul></dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>Returns a binary representation of ONE complete cycle of all given beat patterns</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<Array.<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 time = new Time()
time.get.counterpoint_cycle([1,1,2],3)
//returns
[1,1,1,0,1,1,1,0,1,1,1,0]
[1,0,0,1,0,0,1,0,0,1,0,0]
time.get.counterpoint_cycle([1,2,1,3,1],[3,1])
//returns
[1,1,0,1,1,0,0,1]
[1,0,0,1,1,0,0,1]</code></pre>
</div>
<h4 class="name" id=".explicit">
<a href="#.explicit">#</a>
<span class="type-signature">(static) </span>explicit<span class="signature">(arrays)</span><span class="type-signature"> → {Array.<String>}</span>
</h4>
<div class="description">
<p>Returns the position of every subdivision of a given beat(s).</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 class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>arrays</code></td>
<td class="type">
<span class="param-type">Array.<Number></span>
</td>
<td class="description last"><p>Any number of beat patterns separated by commas.</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#line8404">line 8404</a>
</li></ul></dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>The flushing out of each pattern into its subdivisional representation.</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<String></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 time = new Time()
let sub = time.get.subdivisions(12) //get all subdivisions of 12 beats
let rhythms = time.get.explicit(...sub)
rhythms.forEach(r=>console.log(r))
//returns
"2 . 2 . 2 . 2 . 2 . 2 . "
"2 . 2 . 2 . 3 . . 3 . . "
"2 . 2 . 3 . . 2 . 3 . . "
"3 . . 3 . . 3 . . 3 . . "</code></pre>
</div>
<h4 class="name" id=".fractal">
<a href="#.fractal">#</a>
<span class="type-signature">(static) </span>fractal<span class="signature">(base, iteration)</span><span class="type-signature"> → {Array.<Number>}</span>
</h4>
<div class="description">
<p>Multiplies each element in the <code>base</code>with the entire <code>base</code>, <code>iteration</code> times.</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 class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>base</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last"><p>some rhythmic cell</p></td>
</tr>
<tr>
<td class="name"><code>iteration</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last"><p>The amount of times to apply the algorithms to the cell</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#line8265">line 8265</a>
</li></ul></dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>The fractal</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<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 time = new Time()
time.get.fractal([2,4,3],1)
//returns [2, 4, 3]
time.get.fractal([2,4,3],2)
//returns [4, 8, 6, 8, 16, 12, 6, 12, 9]
time.get.fractal([2,4,3],3)
//returns
[8, 16, 12, 16, 32, 24, 12, 24,
18, 16, 32, 24, 32, 64, 48, 24,
48, 36, 12, 24, 18, 24, 48, 36,
18, 36, 27]</code></pre>
</div>
<h4 class="name" id=".motives">
<a href="#.motives">#</a>
<span class="type-signature">(static) </span>motives<span class="signature">(array, maximal_length<span class="signature-attributes">opt</span>, show_singulars<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Array.<Object>}</span>
</h4>
<div class="description">
<p>Returns the rhythmic motives as they appear verbatim, from most common to least common.</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>array</code></td>
<td class="type">
<span class="param-type">Array.<Number></span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last"><p>A beat pattern</p></td>
</tr>
<tr>
<td class="name"><code>maximal_length</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
8
</td>
<td class="description last"><p>The maximal motive length to be searched</p></td>
</tr>
<tr>
<td class="name"><code>show_singulars</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
false
</td>
<td class="description last"><p>Whether to show "motives" that appear only once.</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#line8350">line 8350</a>
</li></ul></dd>
</div>
<div class="details-item-container">
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="Time_get.html#.relational_motives">Time#get.relational_motives</a></li>
</ul>
</dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>motive:[an array with the motive], incidence: the number of times that motive appears in the input</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<Object></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 time = new Time()
time.get.motives([2,2,4,2,2,4,3,3,6,3])
//returns
[
{ motive: [ 2, 2, 4 ], incidence: 2 }
{ motive: [ 2, 2 ], incidence: 2 },
{ motive: [ 2, 4 ], incidence: 2 }
]</code></pre>
</div>
<h4 class="name" id=".ratios">
<a href="#.ratios">#</a>
<span class="type-signature">(static) </span>ratios<span class="signature">(base_ratio, max_ratio)</span><span class="type-signature"> → {Object}</span>
</h4>
<div class="description">
<p>returns the ratios to a <code>max_ratio</code> from a given <code>base_ratio</code>.</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 class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>base_ratio</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last"><p>The number to be used as a baseline (=:1)</p></td>
</tr>
<tr>
<td class="name"><code>max_ratio</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last"><p>The maximal ratio to be returned</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#line8234">line 8234</a>
</li></ul></dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>A list of ratios given the <code>base_ratio</code></p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Object</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 time = new Time()
time.get.ratios(110,3)
//returns { '1': 110, '2': 220, '3': 330, '1/2': 55, '1/3': 36.666666666666664 }</code></pre>
</div>
<h4 class="name" id=".relational_motives">
<a href="#.relational_motives">#</a>
<span class="type-signature">(static) </span>relational_motives<span class="signature">(array, maximal_length<span class="signature-attributes">opt</span>, show_singulars<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Array.<Object>}</span>
</h4>
<div class="description">
<p>Returns the rhythmic motives in terms of relationships (rather than verbatim durations like in <a href="Time_get.html#.motives">Time.get.motives</a> ), from most common to least common.</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>array</code></td>
<td class="type">
<span class="param-type">Array.<Number></span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last"><p>A beat pattern</p></td>
</tr>
<tr>
<td class="name"><code>maximal_length</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
8
</td>
<td class="description last"><p>The maximal motive length to be searched</p></td>
</tr>
<tr>
<td class="name"><code>show_singulars</code></td>
<td class="type">
<span class="param-type">Boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
false
</td>
<td class="description last"><p>Whether to show "motives" that appear only once.</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#line8375">line 8375</a>
</li></ul></dd>
</div>
<div class="details-item-container">
<dt class="tag-see">See:</dt>
<dd class="tag-see">
<ul>
<li><a href="Time_get.html#.motives">Time#get.motives</a></li>
</ul>
</dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>motive:[an array with the motive], incidence: the number of times that motive appears in the input</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<Object></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 time = new Time()
time.get.relational_motives([2,2,4,2,2,4,3,3,6,3])
//returns
[
{ motive: [ 1, 2 ], incidence: 3, position: [ 0, 3, 6 ] }, //motive of duration=[same,double] appears 3 times, at positions 0, 3, and 6 of the original input
{ motive: [ 1, 2, 0.5 ], incidence: 2, position: [ 0, 6 ] }, //motive of duration=[same,double,half] appears 2 times, at positions 0, and 6 of the original input
{ motive: [ 2, 0.5 ], incidence: 2, position: [ 1, 7 ] } //motive of duration=[double,half] appears 2 times, at positions 1, and 7 of the original input
]</code></pre>
</div>
<h4 class="name" id=".repeated">
<a href="#.repeated">#</a>
<span class="type-signature">(static) </span>repeated<span class="signature">(pattern, times)</span><span class="type-signature"></span>
</h4>
<div class="description">
<p>Returns the rhythmic motives as they appear verbatim, from most common to least common.</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 class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>pattern</code></td>
<td class="type">
<span class="param-type">Array.<Number></span>
</td>
<td class="description last"><p>The pattern to be repeated</p></td>
</tr>
<tr>
<td class="name"><code>times</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last"><p>The number of times to repeat</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#line8330">line 8330</a>
</li></ul></dd>
</div>
</dl>
<div class="method-member-container mt-20">
<strong>Returns:</strong>
<div class="param-desc">
<p>The pattern repeating</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 time = new Time()
time.get.repeated([2,1,1],3) // returns [2,1,1,2,1,1,2,1,1]</code></pre>
</div>
<h4 class="name" id=".subdivisions">
<a href="#.subdivisions">#</a>
<span class="type-signature">(static) </span>su