{"id":1469,"date":"2020-12-21T13:13:01","date_gmt":"2020-12-21T20:13:01","guid":{"rendered":"http:\/\/www.timsummers.org\/?p=1469"},"modified":"2020-12-30T02:12:56","modified_gmt":"2020-12-30T09:12:56","slug":"harmonyaudio","status":"publish","type":"post","link":"http:\/\/www.timsummers.org\/?p=1469","title":{"rendered":"harmony=>audio"},"content":{"rendered":"\n<p>I&#8217;ve built the <em><a href=\"https:\/\/github.com\/timsum\/harmonypartition\">harmonypartition<\/a><\/em> system to generate harmonic sequences with just a few small numbers. Here is a simple one, built from simple piles of sine waves. Later they can of course expand to MIDI and DAW systems.<\/p>\n\n\n\n<h2>harmony as a sequence<\/h2>\n\n\n\n<p>So to begin: the following sequence:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>base_seq = &#91;4,3,2,1]<\/code><\/pre>\n\n\n\n<p>&#8230;can generate this chord sequence:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI.png\"><img loading=\"lazy\" width=\"1024\" height=\"100\" src=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI-1024x100.png\" alt=\"\" class=\"wp-image-1524\" srcset=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI-1024x100.png 1024w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI-300x29.png 300w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI-768x75.png 768w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI-1536x150.png 1536w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI-1200x118.png 1200w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251_MIDI.png 1756w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/C_combo_bass6251.mp3\"><\/audio><figcaption>vi-ii-V-1 in C Major<\/figcaption><\/figure>\n\n\n\n<p>This is not such a big deal, but it is already interesting that a harmonic parametrization can be rendered as simply as a melodic contour. <\/p>\n\n\n\n<p>What is interesting is that the system underneath is much more than usually flexible. Change one parameter:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>p = 5<\/code><\/pre>\n\n\n\n<p>&#8230; and you get this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251m-1.png\"><img loading=\"lazy\" width=\"878\" height=\"86\" src=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251m-1.png\" alt=\"\" class=\"wp-image-1554\" srcset=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251m-1.png 878w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251m-1-300x29.png 300w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/6251m-1-768x75.png 768w\" sizes=\"(max-width: 878px) 100vw, 878px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/Cmin_combo_bass6251.mp3\"><\/audio><figcaption>vi-ii-V-1 in C minor<\/figcaption><\/figure>\n\n\n\n<p>This means, for example, that you could change the entire harmonic atmosphere of music (e.g in a game or film) according to easily structured parameters.<\/p>\n\n\n\n<p>Intuitive relationships among these parameters would allow harmonic atmospheres to change meaningfully based on the motion of a joystick, a changing of levels, or other measurable conditions.<\/p>\n\n\n\n<h2>minimal encoding<\/h2>\n\n\n\n<p>And the encoding is very small, but non-trivial: it gives not only the notes but the <em>function<\/em> of each chord, which allows for improvisation.  Here, for example is the encoding for the chords of &#8216;Blue in Green&#8217;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>b6e3\/b6e3\/b763\/b763\/bd22\/9da2\/a8e3\/a8a3\/b023\/b023\/b763\/b763\/b123\/b123\/925\/925\/b364\/b364\/b123\/b123<\/code><\/pre>\n\n\n\n<p>&#8230;which sounds like this (with its bass line calculated from the encoding):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"184\" src=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/blue_in_green-1024x184.png\" alt=\"\" class=\"wp-image-1512\" srcset=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/blue_in_green-1024x184.png 1024w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/blue_in_green-300x54.png 300w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/blue_in_green-768x138.png 768w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/blue_in_green-1536x276.png 1536w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/blue_in_green-1200x216.png 1200w, http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/blue_in_green.png 1756w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>blue in green \u2013 analyzed chord cycle<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/Cb_in_g_combo_bass.mp3\"><\/audio><\/figure>\n\n\n\n<p>&#8230;and like this with a field of (mathematically extrapolated, and slightly hysterical) notes above it:<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"http:\/\/www.timsummers.org\/wp-content\/uploads\/2020\/12\/Cb_in_g_combo_bass_scales.mp3\"><\/audio><\/figure>\n\n\n\n<p>I also use these small generated files (looped, and longer) to help violin students play over chords. Also, the encoding of a chord is small enough (32 bits) that the sharing of harmonic sequences over software (and IoT) could be rigorous on the one hand (for systems), and flexible (for people) on the other.<\/p>\n\n\n\n<h2>flexible decompression<\/h2>\n\n\n\n<p>What&#8217;s curious is that the system employs a type of compression which can be <em>flexibly decompressed<\/em> \u2013 delivering a world of sensible possibilities rather than a single unambiguous solution. This ambiguity derives from the fundamental ternary treatment of the byte.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve built the harmonypartition system to generate harmonic sequences with just a few small numbers. Here is a simple one, built from simple piles of sine waves. Later they can of course expand to MIDI and DAW systems. harmony as a sequence So to begin: the following sequence: &#8230;can generate this chord sequence: This is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[60],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.timsummers.org\/index.php?rest_route=\/wp\/v2\/posts\/1469"}],"collection":[{"href":"http:\/\/www.timsummers.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.timsummers.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.timsummers.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.timsummers.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1469"}],"version-history":[{"count":23,"href":"http:\/\/www.timsummers.org\/index.php?rest_route=\/wp\/v2\/posts\/1469\/revisions"}],"predecessor-version":[{"id":1619,"href":"http:\/\/www.timsummers.org\/index.php?rest_route=\/wp\/v2\/posts\/1469\/revisions\/1619"}],"wp:attachment":[{"href":"http:\/\/www.timsummers.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.timsummers.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1469"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.timsummers.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}