{"id":203,"date":"2016-04-12T11:16:48","date_gmt":"2016-04-12T11:16:48","guid":{"rendered":"http:\/\/www.rangakrish.com\/?p=203"},"modified":"2016-04-12T11:16:48","modified_gmt":"2016-04-12T11:16:48","slug":"rhythmically-odd-rhythms","status":"publish","type":"post","link":"https:\/\/www.rangakrish.com\/index.php\/2016\/04\/12\/rhythmically-odd-rhythms\/","title":{"rendered":"Rhythmically Odd Rhythms"},"content":{"rendered":"<p>In the excellent book <em><strong>The Geometry of Musical Rhythm &#8211; What Makes a \u2018Good\u2019 Rhythm Good?<\/strong><\/em> by <em><strong>Godfried T.Toussaint<\/strong><\/em>, there is an interesting discussion of <em><strong>Rhythmic Oddity<\/strong><\/em> in Chapter 15.<\/p>\n<p>A rhythm has this property <strong><em>if no two of its onsets divide the rhythmic cycle into two half-cycles, that is, two segments of equal duration<\/em><\/strong>. This property of rhythmic oddity applies only to rhythms that have an even number of pulses.<\/p>\n<p>The sequences <strong>(1 1 1 0), (1 0 0 1 0 0 1 0 0 1 0 0)<\/strong> do not satisfy this property, where as the sequence <strong>(1 0 1 0 0 1 0 0)<\/strong> satisfies it.<\/p>\n<p>Godfried explains how the <em><strong>Hop and Jump<\/strong><\/em> algorithm can generate a rhythmically odd rhythm for a given total number of pulses and number of onsets (provided a solution exists).<\/p>\n<p>Piqued by curiosity, I decided to implement the algorithm and test it in <a href=\"https:\/\/opusmodus.com\" target=\"_blank\">Opusmodus<\/a>.<\/p>\n<figure id=\"attachment_204\" aria-describedby=\"caption-attachment-204\" style=\"width: 656px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Odd-Rhythm-Example.png\" rel=\"attachment wp-att-204\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"204\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2016\/04\/12\/rhythmically-odd-rhythms\/odd-rhythm-example\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Odd-Rhythm-Example.png\" data-orig-size=\"656,985\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Odd Rhythm Example\" data-image-description=\"&lt;p&gt;Odd Rhythm Example&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Odd Rhythm Example&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Odd-Rhythm-Example.png\" class=\"size-full wp-image-204\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Odd-Rhythm-Example.png?resize=656%2C985\" alt=\"Odd Rhythm Example\" width=\"656\" height=\"985\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Odd-Rhythm-Example.png?w=656&amp;ssl=1 656w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Odd-Rhythm-Example.png?resize=200%2C300&amp;ssl=1 200w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><\/a><figcaption id=\"caption-attachment-204\" class=\"wp-caption-text\">Odd Rhythm Example<\/figcaption><\/figure>\n<p>You can get the source <a href=\"http:\/\/www.rangakrish.com\/downloads\/Odd Rhythm Example.opmo\" target=\"_blank\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the excellent book The Geometry of Musical Rhythm &#8211; What Makes a \u2018Good\u2019 Rhythm Good? by Godfried T.Toussaint, there is an interesting discussion of Rhythmic Oddity in Chapter 15. A rhythm has this property if no two of its onsets divide the rhythmic cycle into two half-cycles, that is, two segments of equal duration. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[18,5,17],"tags":[52],"class_list":["post-203","post","type-post","status-publish","format-standard","hentry","category-lisp","category-music","category-programming","tag-rhythmic-oddity"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9OLnF-3h","jetpack-related-posts":[{"id":227,"url":"https:\/\/www.rangakrish.com\/index.php\/2016\/05\/10\/generating-melody-to-fit-harmony\/","url_meta":{"origin":203,"position":0},"title":"Generating Melody to Fit Harmony","author":"admin","date":"May 10, 2016","format":false,"excerpt":"There are two common approaches to composing music. One involves synthesizing a suitable chord progression first and then layering melody over it. The other is to start with melody and then harmonize it by applying chords. Of course, you can mix both approaches - use one technique for a portion\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Melody Over Harmony","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/05\/Melody-Over-Harmony-888x1024.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/05\/Melody-Over-Harmony-888x1024.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/05\/Melody-Over-Harmony-888x1024.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/05\/Melody-Over-Harmony-888x1024.png?resize=700%2C400 2x"},"classes":[]},{"id":2174,"url":"https:\/\/www.rangakrish.com\/index.php\/2020\/10\/24\/using-random-walk-principle-to-generate-music\/","url_meta":{"origin":203,"position":1},"title":"Using Random Walk Principle to Generate Music","author":"admin","date":"October 24, 2020","format":false,"excerpt":"In mathematics, the simplest example of Random Walk\u00a0is a random process along a one-dimensional plane of integers, starting at 0 and moving in the positive or negative direction in steps of +1 or -1, with equal probability. The Random Walk\u00a0theory has been applied in many domains including Physics and even\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Random Walk Example in Mathematica","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/10\/Mathematica-RandomWalk-300x135.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":140,"url":"https:\/\/www.rangakrish.com\/index.php\/2016\/02\/06\/organum-in-music\/","url_meta":{"origin":203,"position":2},"title":"Organum in Music","author":"admin","date":"February 6, 2016","format":false,"excerpt":"When two or more voices in a song follow the same rhythm and move by the same interval, thus causing a parallel motion of the voices, it is referred to as Organum. Depending on the intervals between the voices, this can give rise to a rich and interesting effect. For\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Single voice","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/02\/Single-voice.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/02\/Single-voice.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/02\/Single-voice.png?resize=525%2C300 1.5x"},"classes":[]},{"id":159,"url":"https:\/\/www.rangakrish.com\/index.php\/2016\/02\/28\/using-cellular-automata-to-generate-music\/","url_meta":{"origin":203,"position":3},"title":"Using Cellular Automata to Generate Music","author":"admin","date":"February 28, 2016","format":false,"excerpt":"Cellular automata are a powerful computational formalism. Stephen Wolfram\u2019s book A New Kind of Science\u00a0provides a thorough study of these devices. Not surprisingly,\u00a0Wolfram Mathematica has great support for working with them. For example, the following figure shows the evolution of Rule 30 over 50 steps, plotted using ArrayPlot function (in\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Cellular Automata","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/02\/Cellular-Automata.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2224,"url":"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/","url_meta":{"origin":203,"position":4},"title":"Using Falcon 2 with Opusmodus","author":"admin","date":"December 6, 2020","format":false,"excerpt":"The recently concluded Black Friday sale by UVI\u00a0was an irresistible temptation for me and I ended up investing in Falcon 2 and a few other instruments. Although I have the latest versions of Ableton Live, Propellerheads Reason, Renoise, and Reaper, I felt Falcon 2 would be a good addition to\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Sample Code in Opusmodus","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code-248x300.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":218,"url":"https:\/\/www.rangakrish.com\/index.php\/2016\/04\/27\/reading-and-transforming-a-midi-file\/","url_meta":{"origin":203,"position":5},"title":"Reading and Transforming a MIDI File","author":"admin","date":"April 27, 2016","format":false,"excerpt":"Sometimes it can be interesting to take a MIDI file and transform the score it represents. For example, you can change the tempo, alter the instruments, or even modify the pitches and rhythm. To do something like this, it is helpful to build a convenient framework. In today\u2019s post, I\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Transform Score","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Transform-Score-1.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Transform-Score-1.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/04\/Transform-Score-1.png?resize=525%2C300 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/comments?post=203"}],"version-history":[{"count":0,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/203\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/media?parent=203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/categories?post=203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/tags?post=203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}