<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nathan Ho (Posts about rhythm)</title><link>https://nathan.ho.name/</link><description></description><atom:link href="https://nathan.ho.name/categories/rhythm.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>© 2026</copyright><lastBuildDate>Thu, 07 May 2026 05:13:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Composing with Accelerating Rhythms</title><link>https://nathan.ho.name/posts/accelerating-rhythms/</link><dc:creator>Nathan Ho</dc:creator><description>&lt;div&gt;&lt;p&gt;Thanks to all who checked out my album &lt;a class="reference external" href="https://nathanho.bandcamp.com/album/haywire-frontier"&gt;&lt;em&gt;Haywire Frontier&lt;/em&gt;&lt;/a&gt;. Yesterday, I gave a remote talk for the &lt;a class="reference external" href="https://notam.no/meetups/supercollider-meetup/"&gt;NOTAM SuperCollider meetup&lt;/a&gt; on the project. The talk wasn’t recorded, but I decided to rework it into prose. This is partially for the benefit of people that missed the event, but mostly because I’m too lazy to research and write a new post wholly from scratch this month.&lt;/p&gt;
&lt;p&gt;It’s not necessary to listen to the album to understand this post, but of course I would appreciate it.&lt;/p&gt;
&lt;section id="acceleration-from-notes-to-an-entire-piece"&gt;
&lt;h2&gt;Acceleration from notes to an entire piece&lt;/h2&gt;
&lt;p&gt;One of the earliest decisions I had to make while planning out &lt;em&gt;Haywire Frontier&lt;/em&gt; was how to approach rhythm. I’m a huge fan of breakcore and old school ragga jungle (Venetian Snares’ work convinced me to dedicate my life to electronic music), and partially as a result of that, unpitched percussion and complex rhythms are central to a lot of my output.&lt;/p&gt;
&lt;p&gt;However, I resolved pretty early on that I didn’t want the rhythmic material of the project to fall into the grids and time signatures of dance music. My reasons for this are nebulous and difficult to articulate, but I think a big part is that I wanted to challenge myself. When I make beat-based music, which I do frequently, I tend to think relative to established genres like drum-‘n’-bass or techno or house, and I mimic the tropes of what I want to imitate. Removing those guardrails, while still trying to make music conducive to active listening, puts me out of my comfort zone. I like to put myself in creative situations where I feel a little awkward or uncomfortable, because if there’s anything I personally fear in my creative output, it’s complacency. &lt;a class="brackets" href="https://nathan.ho.name/posts/accelerating-rhythms/#footnote-1" id="footnote-reference-1" role="doc-noteref"&gt;&lt;span class="fn-bracket"&gt;[&lt;/span&gt;1&lt;span class="fn-bracket"&gt;]&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So beats are out. An alternative, which I have used a lot in the past, is a type of randomized rhythm I call the “i.i.d. rhythm,” or “&lt;code class="docutils literal"&gt;Pwhite&lt;/code&gt;-into-&lt;code class="docutils literal"&gt;\dur&lt;/code&gt; rhythm:”&lt;/p&gt;
&lt;audio controls src="https://nathan.ho.name/audio/rhythms/white.mp3"&gt;&lt;/audio&gt;&lt;p&gt;SuperCollider code:&lt;/p&gt;
&lt;pre class="literal-block"&gt;// NB: Full aggregated code from example, plus SynthDefs, are at the end of the post.
Routine({
    loop {
        s.bind { Synth(\kick) };
        rrand(0.03, 0.6).wait;
    };
}).play;&lt;/pre&gt;
&lt;p&gt;In these rhythms, the inter-onset intervals (IOIs), or time between successive hits, are chosen with a single random distribution. In statistics terms, the IOIs are &lt;em&gt;i.i.d.&lt;/em&gt;, or independently and identically distributed. The distribution is uniform in this example, but you can use log-uniform, or &lt;a class="reference external" href="https://en.wikipedia.org/wiki/List_of_probability_distributions"&gt;any distribution&lt;/a&gt; over the positive real numbers.&lt;/p&gt;
&lt;p&gt;Every SuperCollider user has written one of these rhythms at some point. They’re perfectly serviceable for some applications. However, for rhythmic material that drives an entire percussion section, I have to admit that I find these tiresome and uninspiring. In one word, what these rhythms lack is phrasing.&lt;/p&gt;
&lt;p&gt;If you were to grab a non-musician, give them a snare drum, and ask them to hit it “randomly,” their result would be nothing like this. They might produce a cluster of rapid hits, then silence, then a nearly steady rhythm, and modulate between all those approaches. That’s to say nothing of a free jazz drummer who’s spent years training to produce complex, compelling rhythms that may not fall on a grid. It’s &lt;a class="reference external" href="https://psycnet.apa.org/record/1972-09976-001"&gt;well known to psychologists&lt;/a&gt; that humans are very bad at producing data that passes randomness tests; I view it as Geiger-counter-type rhythms failing to pass humanity tests.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://nathan.ho.name/posts/accelerating-rhythms/"&gt;Read more…&lt;/a&gt; (15 min remaining to read)&lt;/p&gt;&lt;/section&gt;&lt;/div&gt;</description><category>algorithmic composition</category><category>mathematics</category><category>music composition</category><category>music theory</category><category>rhythm</category><category>supercollider</category><guid>https://nathan.ho.name/posts/accelerating-rhythms/</guid><pubDate>Thu, 21 Sep 2023 16:12:14 GMT</pubDate></item></channel></rss>