{"id":369,"date":"2008-12-02T18:25:00","date_gmt":"2008-12-02T18:25:00","guid":{"rendered":"http:\/\/www.celesteh.com\/blog\/2008\/12\/02\/unpopular-music\/"},"modified":"2015-06-19T00:23:57","modified_gmt":"2015-06-18T23:23:57","slug":"unpopular-music","status":"publish","type":"post","link":"https:\/\/www.celesteh.com\/blog\/2008\/12\/02\/unpopular-music\/","title":{"rendered":"Unpopular Music"},"content":{"rendered":"<p>Once in a while, I get the idea of doing algorithmic pop music and labor intensely on it and then come up with something and then walk away horrified.  So, um, if anybody&#8217;s interested, here&#8217;s the latest incarnation of this cycle: <a href=\"http:\/\/www.berkeleynoise.com\/celesteh\/mp3s\/2008\/stonewall.mp3\">S&#8217;onewall<\/a>.<br \/>\nThe samples are recordings of the largest-ever transgender rights protest in the UK, which took place last month.  And then there are drum beats.  The bassline uses a subset of the Bohlen-Pierce scale, in just intonation, with notes chosen according to a variation of Clarence Barlow&#8217;s &#8220;digestibility&#8221; formula. To determine the relative consonance of two ratios, divide one by the other and then take the result and add the numerator to the denominator. A lower number indicates greater simplicity of the result and thus a higher degree of consonance.  <a href=\"http:\/\/www.berkeleynoise.com\/celesteh\/code\/ScaleLattice.sc\">There is ugly code, available for your perusal.<\/a> Quick examples are at the bottom of this post.<br \/>\nThis is not on <a href=\"http:\/\/www.berkeleynoise.com\/celesteh\/podcast\/\">my podcast<\/a> because I&#8217;m not so into it.  I have ideas of what might fix it, but I suspect those ideas are wrong and it&#8217;s taken up so much time already.  However, as un-enthused as I am, I think somebody, someplace might want to remix this. Or maybe I&#8217;m flattering myself.<br \/>\nI wish I could offer the pieces sent to different tracks, but, ha ha, the only way I could get this to record was with Audio Hijack, because there&#8217;s a logic problem somewhere in the code which causes it to hang right at the end and chasing that bug is just more trouble than it&#8217;s worth.<\/p>\n<h4>Code Example<\/h4>\n<p>Ok, using the ScaleLattice:  First declare a scale with some ratios in it:<\/p>\n<pre>\n ~scale = ScaleLattice([[1, 1], [11, 9], [9,7],  [7,5], [5, 3], [9, 5], \n     [11,5], [7,3], [27, 11], [27, 25],  [25, 9]], 3);\n<\/pre>\n<p>That&#8217;s not the scale from the piece, but it&#8217;s also a nice one.  We can then try to construct a melody, by getting some step-wise motion:<\/p>\n<pre>\n ~melody = ~scale.getNsteps(4);\n<\/pre>\n<p>And them maybe jump to the most consonant note from the tonic, followed by one step down:<\/p>\n<pre>\n ~melody = ~melody ++ ~scale.getIstepsBelowJconsonance(2, 0);\n<\/pre>\n<p>Um, and then let&#8217;s get the most consonant pitch from the last one in the melody:<\/p>\n<pre>\n\n ~melody = ~melody ++ ~scale.consonanceAtFloat(0, ~melody.last);\n<\/pre>\n<p>Yeah, this probably sound bad, but we could play it:<\/p>\n<pre>\n\n Pbind(dur, 0.3, freq, Pseq(~melody * 440, 1)).play;\n<\/pre>\n<p>I have a hypothesis that with the combination of relative consonances and stepwise motion, you could abstract music theory to the point where you could construct a meaningful melody from an arbitrary scale. Such that the program doesn&#8217;t know the scale ahead of time.  The missing piece is notes that are too close to each other, which I suspect will have very high relative dissonance. I may think on this further, or I might go back to doing whatever else it is that I do.<\/p>\n<div class=\"powerpress_player\" id=\"powerpress_player_5601\"><audio class=\"wp-audio-shortcode\" id=\"audio-369-1\" preload=\"none\" style=\"width: 100%;\" controls=\"controls\"><source type=\"audio\/mpeg\" src=\"http:\/\/www.berkeleynoise.com\/celesteh\/mp3s\/2008\/stonewall.mp3?_=1\" \/><a href=\"http:\/\/www.berkeleynoise.com\/celesteh\/mp3s\/2008\/stonewall.mp3\">http:\/\/www.berkeleynoise.com\/celesteh\/mp3s\/2008\/stonewall.mp3<\/a><\/audio><\/div><p class=\"powerpress_links powerpress_links_mp3\" style=\"margin-bottom: 1px !important;\">Podcast: <a href=\"http:\/\/www.berkeleynoise.com\/celesteh\/mp3s\/2008\/stonewall.mp3\" class=\"powerpress_link_pinw\" target=\"_blank\" title=\"Play in new window\" onclick=\"return powerpress_pinw('https:\/\/www.celesteh.com\/blog\/?powerpress_pinw=369-podcast');\" rel=\"nofollow\">Play in new window<\/a> | <a href=\"http:\/\/www.berkeleynoise.com\/celesteh\/mp3s\/2008\/stonewall.mp3\" class=\"powerpress_link_d\" title=\"Download\" rel=\"nofollow\" download=\"stonewall.mp3\">Download<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Once in a while, I get the idea of doing algorithmic pop music and labor intensely on it and then come up with something and then walk away horrified. So, um, if anybody&#8217;s interested, here&#8217;s the latest incarnation of this cycle: S&#8217;onewall. The samples are recordings of the largest-ever transgender rights protest in the UK, &hellip; <a href=\"https:\/\/www.celesteh.com\/blog\/2008\/12\/02\/unpopular-music\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Unpopular Music<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[1],"tags":[76,182,11,64],"class_list":["post-369","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-celesteh","tag-mp3","tag-music","tag-supercollider"],"_links":{"self":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/369","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/comments?post=369"}],"version-history":[{"count":1,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/369\/revisions"}],"predecessor-version":[{"id":2579,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/posts\/369\/revisions\/2579"}],"wp:attachment":[{"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/media?parent=369"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/categories?post=369"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.celesteh.com\/blog\/wp-json\/wp\/v2\/tags?post=369"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}