<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Of Recordings &#187; Random</title>
	<atom:link href="http://www.ofrecordings.com/category/random/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ofrecordings.com</link>
	<description>An unhealthy obsession with square waves.</description>
	<lastBuildDate>Sun, 22 Jan 2012 22:30:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>A JavaScript spectrum analyzer</title>
		<link>http://www.ofrecordings.com/2012/01/22/a-javascript-spectrum-analyzer/</link>
		<comments>http://www.ofrecordings.com/2012/01/22/a-javascript-spectrum-analyzer/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 21:19:04 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[audio data api]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[dsp]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[the y axes]]></category>
		<category><![CDATA[web audio api]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=319</guid>
		<description><![CDATA[My friend asked me if I could make a music player with a spectrum analyzer for his web page. I&#8217;m like, I dunno? Can I? I can make a spectrum analyzer in my sleep, and browsers can do some audio stuff these days, right? So, maybe? I can make a spectrum analyzer in my sleep [...]]]></description>
			<content:encoded><![CDATA[<p>My friend asked me if I could make a music player with a spectrum analyzer for his web page. I&#8217;m like, I dunno? Can I?</p>
<p>I can make a spectrum analyzer in my sleep, and browsers can do some audio stuff these days, right? So, maybe?</p>
<h4>I can make a spectrum analyzer in my sleep</h4>
<p>Here&#8217;s how you make a spectrum analyzer. First, run your original signal through a few parallel bandpass filters. The range of human hearing spans about 10 octaves, from 20 Hz to 20k. If we want a 5-band display, we&#8217;ll place our bandpass filters at 2-octave intervals. This gives us centers at 40 Hz, 160 Hz, 640 Hz, 2.5k, and 10k.</p>
<p><a href="https://ccrma.stanford.edu/~jos/fp/">Filter design</a> is super interesting and fairly complex, but implementing a basic bandpass filter is <a href="http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt">shockingly simple</a>.</p>
<p>Now we&#8217;ve got five (or whatever) new audio signals. We compute the power of each band and draw a bar for each one. There are some details around how you compute the actual size of the bars to make them look good, but that&#8217;s the main idea.</p>
<p>Easy! NEXT</p>
<h4>Browsers can do some audio stuff these days, right?</h4>
<p>Yes, but with difficulty. Dropping in an audio player is straightforward with the <code>audio</code> tag. Codecs are a bit muddled&#8211; Firefox won&#8217;t play MP3; Safari won&#8217;t play Vorbis. But in the grand scheme of browser quirks, this one is charmingly easy to deal with.</p>
<p>Here&#8217;s how you implement it:</p>
<blockquote>
<pre>&lt;audio controls preload="auto"&gt;
&lt;source src="/spectest/metal_star.ogg"&gt;
&lt;source src="/spectest/metal_star.mp3"&gt;
&lt;/audio&gt;</pre>
</blockquote>
<p>We specify both sources so that all browsers can play at least one. And presto:</p>
<p><audio width="300" height="32" controls="controls" preload="auto" src="/spectest/metal_star.ogg"><source src="/spectest/metal_star.mp3" /></audio></p>
<p>This is cute, but to add a spectrum analyzer to our player, we need access to the raw PCM stream. The problem is thorny.</p>
<h4>In Firefox</h4>
<p>Firefox&#8217;s <a href="https://wiki.mozilla.org/Audio_Data_API">Audio Data API</a> makes it easy. Your <code>audio</code> element will fire a <code>MozAudioAvailable</code> event for each little chunk of sound it plays. Create an event listener, and your callback can process the stream however you like. Like this (I use <a href="http://justintulloss.github.com/cobra/">Cobra</a> cause I like it):</p>
<blockquote>
<pre>var Biquad = new Cobra.Class({
  __init__: function(self, freq, q) {
    var omega = 2*Math.PI*freq/44100.0;
    var alpha = Math.sin(omega)*(2*q);

    self.b0 = alpha;
    self.b1 = 0.0;
    self.b2 = -alpha;
    self.a0 = 1 + alpha;
    self.a1 = -2*Math.cos(omega);
    self.a2 = 1 - alpha;

    self.y1 = self.y2 = self.x1 = self.x2 = 0.0;
  },

  next: function(self, x) {
    var y = (self.b0 / self.a0)*x +
      (self.b1 / self.a0)*self.x1 +
      (self.b2 / self.a0)*self.x2 -
      (self.a1 / self.a0)*self.y1 -
      (self.a2 / self.a0)*self.y2;
    self.y2 = self.y1;
    self.y1 = y;
    self.x2 = self.x1;
    self.x1 = x;
    return y;
  }
});

var bands = [
  new Biquad(40.0, 1.0),
  new Biquad(160.0, 1.0),
  new Biquad(640.0, 1.0),
  new Biquad(2560.0, 1.0),
  new Biquad(10240.0, 1.0)
];

function updateSpectrum(ev) {
  var fb = ev.frameBuffer;
  var sumsq = [0.0, 0.0, 0.0, 0.0, 0.0];

  for (var i = 0; i &lt; fb.length/2; ++i) {
    /* average to get mono channel */
    var center = (fb[2*i] + fb[2*i+1])/2.0;

    /* feed to bp filters */
    for (var j = 0; j &lt; 5; ++j) {
      var out = bands[j].next(center);
      sumsq[j] += out*out;
    }
  }

  for (var i = 0; i &lt; 5; ++i) {
    /* calculate rms power */
    var rms = Math.sqrt(2.0 * sumsq[i] / fb.length);

    /* update bar */
    var db = 6.0 * Math.log(rms) / Math.log(2.0);
    var length = 450 + 10.0*db;
    if (length &lt; 1) {
      length = 1;
    }
    var bar = document.getElementById("bar" + i);
    bar.style.width = length + "px";
  }
}

var audio = document.getElementById("player");
audio.addEventListener("MozAudioAvailable", updateSpectrum, false);</pre>
</blockquote>
<p>You can <a href="http://www.ofrecordings.com/spectest/index-ffx.html">see it in action here</a>.</p>
<p>Brilliant! Hopefully WebKit provides an equally easy solution.</p>
<h4>In WebKit</h4>
<p>Nope! WebKit is implementing the <a href="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html">Web Audio API</a>. This API sorta works like a modular. You create chains of <code>AudioNode</code> objects which act as sound sources or processors. There are a bunch of prefab <code>AudioNode</code>s, or you can write your own.</p>
<p>Chrome implements at least part of the Web Audio API. So do <a href="http://nightly.webkit.org/">Safari nightlies</a>, and I presume Safari 6 will as well.</p>
<p>My plan was to connect an <code>audio</code> element to a custom <code>AudioNode</code>, which would use the same spectrum analyzer code from the Firefox example. This plan was foiled when I discovered that the <code>MediaElementAudioSourceNode</code>, designed to provide integration with the <code>audio</code> and <code>video</code> tags, is silently unimplemented in Chrome. You can create one, but it will just feed you a steady stream of zeroes.</p>
<p>For now, it appears that the preferred solution is to re-implement the <code>audio</code> tag yourself using an XHR and an <code>AudioBufferSource</code>. Which is insane.</p>
<p>Our <code>updateSpectrum</code> only changes slightly:</p>
<blockquote>
<pre>function updateSpectrum(ev) {
  var fb = ev.inputBuffer;
  var outb = ev.outputBuffer;
  var sumsq = [0.0, 0.0, 0.0, 0.0, 0.0];
  var inputL = fb.getChannelData(0);
  var inputR = fb.getChannelData(1);
  var outputL = outb.getChannelData(0);
  var outputR = outb.getChannelData(1);

  for (var i = 0; i &lt; inputL.length; ++i) {
    /* average to get mono channel */
    var center = (inputL[i] + inputR[i])/2.0;

    /* copy to output */
    outputL[i] = inputL[i];
    outputR[i] = outputR[i];

    /* feed to bp filters */
    for (var j = 0; j &lt; 5; ++j) {
      var out = bands[j].next(center);
      sumsq[j] += out*out;
    }
  }

  for (var i = 0; i &lt; 5; ++i) {
    /* calculate rms amplitude */
    var rms = Math.sqrt(sumsq[i] / inputL.length);

    /* update bar */
    var db = 6.0 * Math.log(rms) / Math.log(2.0);
    var length = 450 + 10.0*db;
    if (length &lt; 1) {
      length = 1;
    }
    var bar = document.getElementById("bar" + i);
    bar.style.width = length + "px";
  }
}</pre>
</blockquote>
<p>But we need a bunch of new rigmarole to wire up the sound:</p>
<blockquote>
<pre>var context = new webkitAudioContext();

var processor = context.createJavaScriptNode(512, 1, 1);
processor.onaudioprocess = updateSpectrum;

/* get the sound via http */
var req = new XMLHttpRequest();
req.open("GET", "/spectest/metal_star.mp3", true);
req.responseType = "arraybuffer";
req.onload = function() {
  var audio = context.createBuffer(req.response, false);
  var source = context.createBufferSource();
  source.buffer = audio;
  source.noteOn(0.0);
  source.connect(processor);
  processor.connect(context.destination);
}
req.send();</pre>
</blockquote>
<p>And here&#8217;s <a href="http://www.ofrecordings.com/spectest/index-chrome.html">the Chrome edition of the demo</a> (warning: autoplays).</p>
<h4>Opinions</h4>
<p>I quite like the Mozilla Audio Data API. The Web Audio API strikes me as overdesigned.</p>
<p>I hate Flash with the fury of a thousand suns scorned, but given this Byzantine thicket, I understand why developers use it.</p>
<h4>Also</h4>
<p>If you like the song in the demos, <a href="http://theyaxes.bandcamp.com/album/winter-bones-metal-star-single">download it here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2012/01/22/a-javascript-spectrum-analyzer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ikea-hacking a better workspace</title>
		<link>http://www.ofrecordings.com/2011/06/26/ikea-hacking-a-better-workspace/</link>
		<comments>http://www.ofrecordings.com/2011/06/26/ikea-hacking-a-better-workspace/#comments</comments>
		<pubDate>Sun, 26 Jun 2011 20:10:54 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[besta]]></category>
		<category><![CDATA[desk]]></category>
		<category><![CDATA[ikea]]></category>
		<category><![CDATA[jerker]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=289</guid>
		<description><![CDATA[What&#8217;s better than slightly improving your workspace? Not much! Inspired by this Ikea hack, I tore down my old Jerker desk and set upon building a new one. &#160; The original hacker&#8217;s basic idea was to start with a Besta shelf unit, which has all kinds of add-ons. Saw your shelves down a little and [...]]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s better than slightly improving your workspace? Not much! Inspired by <a title="Hidden music desk (ikeahackers.net)" href="http://www.ikeahackers.net/2010/07/hidden-music-desk.html">this Ikea hack</a>, I tore down <a href="http://www.ofrecordings.com/2009/05/24/that-actually-went-pretty-well/">my old Jerker desk</a> and set upon building a new one.</p>
<p style="text-align: center;">&nbsp;</p>
<div id="attachment_291" class="wp-caption aligncenter" style="width: 570px"><a href="http://www.ofrecordings.com/wp-content/uploads/2011/06/IMAG0341.jpg"><img class="size-full wp-image-291 " title="New Ikea-hacked music desk" src="http://www.ofrecordings.com/wp-content/uploads/2011/06/IMAG0341.jpg" alt="" width="560" height="420" /></a><p class="wp-caption-text">Goodbye Jerker, hello Besta</p></div>
<p style="text-align: left;">The original hacker&#8217;s basic idea was to start with a Besta shelf unit, which has all kinds of add-ons. Saw your shelves down a little and mount them on rails from a matching drawer unit. I added a keyboard stand to mine, made out of a wall shelf and some Vika Kaj adjustable table legs. I also installed some Dioder multicolored LEDs, just cause they&#8217;re awesome.</p>
<p style="text-align: left;">The brilliant part is that, while you need to be able to reach all your controllers, you don&#8217;t need to reach them all <em>at the same time</em>. You can store them compactly tucked into the unit and just slide out the ones you want.  As awesome as my Jerker desk was, this setup has a significantly smaller footprint while keeping all my gadgets accessible.</p>
<p style="text-align: left;">If you are considering building this hack yourself, here are some tips:</p>
<ul>
<li>Sawing the shelves down to size was surprisingly easy, although it takes a while and my arm got kind of tired. You can use the bottom of the drawer from which you took the rails as a sizing guide&#8211; it&#8217;s exactly the right width. Since the shelves are fiberboard, the side facing down as you saw is going to get a little ugly, so plan accordingly.</li>
<li>Mounting the rails on the shelves was slightly more difficult than I anticipated.  First, it&#8217;s easy to get confused about how to orient the rails.  Second, it&#8217;s a little tricky to drill holes in such a thin piece.</li>
<li>The most difficult part was installing the other half of the rails into the shelf&#8211; it&#8217;s really hard to operate a screwdriver around the rear holes. Ironically, this is the part actually sanctioned by Ikea.</li>
<li>Binder clips can keep your cables neat as you slide stuff in and out.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2011/06/26/ikea-hacking-a-better-workspace/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>My latest band-crush</title>
		<link>http://www.ofrecordings.com/2010/09/25/my-latest-band-crush/</link>
		<comments>http://www.ofrecordings.com/2010/09/25/my-latest-band-crush/#comments</comments>
		<pubDate>Sat, 25 Sep 2010 22:28:54 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[band-crush]]></category>
		<category><![CDATA[no.mad records]]></category>
		<category><![CDATA[shape of fear and bravery]]></category>
		<category><![CDATA[suz]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=248</guid>
		<description><![CDATA[It&#8217;s Suz: http://www.youtube.com/watch?v=svnAGMyNB4A Information seems to be scarce and in Italian.  I&#8217;m not even sure if Suz is the name of the band or the singer.  But I&#8217;m quite enjoying this record.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s Suz:</p>
<p><a href="http://www.youtube.com/watch?v=svnAGMyNB4A">http://www.youtube.com/watch?v=svnAGMyNB4A</a></p>
<p>Information seems to be scarce and <a href="http://www.shapeofsuz.it/">in Italian</a>.  I&#8217;m not even sure if Suz is the name of the band or the singer.  But I&#8217;m quite enjoying <a title="Shape Of Fear And Bravery (Amazon)" href="http://www.amazon.com/Fear-Feat-Alessiomanna/dp/album-redirect/B002U0AYCM/ref=sr_1_album_1?ie=UTF8&amp;qid=1285453598&amp;sr=1-1">this record</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2010/09/25/my-latest-band-crush/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Siouxsie vs New Order</title>
		<link>http://www.ofrecordings.com/2010/03/27/siouxsie-vs-new-order/</link>
		<comments>http://www.ofrecordings.com/2010/03/27/siouxsie-vs-new-order/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 17:32:03 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=241</guid>
		<description><![CDATA[Everyone loves a mashup: In other news, I&#8217;m on SoundCloud now! Let&#8217;s be friends.]]></description>
			<content:encoded><![CDATA[<p>Everyone loves a mashup:</p>
<object height="81" width=""><param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fsoundcloud.com%2Fmacfergus%2Fsioux-order&amp;g=1&amp;"></param><param name="allowscriptaccess" value="always"></param><embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fsoundcloud.com%2Fmacfergus%2Fsioux-order&amp;g=1&amp;" type="application/x-shockwave-flash" width=""></embed></object>
<p>In other news, <a href="http://soundcloud.com/macfergus">I&#8217;m on SoundCloud now!</a> Let&#8217;s be friends.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2010/03/27/siouxsie-vs-new-order/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pandora Potluck</title>
		<link>http://www.ofrecordings.com/2009/10/17/pandora-potluck/</link>
		<comments>http://www.ofrecordings.com/2009/10/17/pandora-potluck/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 22:30:25 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[pandora]]></category>
		<category><![CDATA[potluck]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=238</guid>
		<description><![CDATA[For when you have guests. 1. Everyone writes down the name of one artist (in secret). 2. Create a new Pandora station from all the listed artists. 3. No song skips!  (Thumbs up are OK.)]]></description>
			<content:encoded><![CDATA[<p>For when you have guests.</p>
<p>1. Everyone writes down the name of one artist (in secret).</p>
<p>2. Create a new <a title="Pandora Radio" href="http://www.pandora.com/">Pandora</a> station from all the listed artists.</p>
<p>3. No song skips!  (Thumbs up are OK.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2009/10/17/pandora-potluck/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Happy 909 Day</title>
		<link>http://www.ofrecordings.com/2009/09/08/happy-909-day/</link>
		<comments>http://www.ofrecordings.com/2009/09/08/happy-909-day/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 04:57:12 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[808]]></category>
		<category><![CDATA[909]]></category>
		<category><![CDATA[daft punk]]></category>
		<category><![CDATA[hip-hop]]></category>
		<category><![CDATA[jeff mills]]></category>
		<category><![CDATA[techno]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=233</guid>
		<description><![CDATA[Last year Tom at Music Thing (RIP)1 had a nice bit for 808 day.  Those are big shoes to fill, but I couldn&#8217;t let 9.09.09 pass without a mention. I tried to think of some quotes about the 909 but drew a blank.  The 808 was as common in hip-hop as in techno, while the [...]]]></description>
			<content:encoded><![CDATA[<p>Last year Tom at Music Thing (RIP)<sup>1</sup> had <a title="Today is 808 day (Music Thing)" href="http://musicthing.blogspot.com/2008/08/today-is-808-day.html">a nice bit for 808 day</a>.  Those are big shoes to fill, but I couldn&#8217;t let 9.09.09 pass without a mention.</p>
<p>I tried to think of some quotes about the 909 but drew a blank.  The 808 was as common in hip-hop as in techno, while the 909 is exclusively a house and techno machine.  I enjoy listening to hip-hop, but I don&#8217;t really feel connected to hip-hop culture.  But I do feel like techno, and electronic music more generally, is part of me, not just something to consume but something to participate in.  Perhaps that why I am so fond of the 909.</p>
<p>Here&#8217;s Daft Punk:</p>
<p><a href="http://www.youtube.com/watch?v=2R4h3Qsk1rg">http://www.youtube.com/watch?v=2R4h3Qsk1rg</a></p>
<p>Here&#8217;s Jeff Mills:</p>
<p><a href="http://www.youtube.com/watch?v=E7MS1OK1XEw">http://www.youtube.com/watch?v=E7MS1OK1XEw</a></p>
<p>1. RIP to the blog, not to Tom.  As far as I know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2009/09/08/happy-909-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MS Paint MPC</title>
		<link>http://www.ofrecordings.com/2009/07/07/ms-paint-mpc/</link>
		<comments>http://www.ofrecordings.com/2009/07/07/ms-paint-mpc/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 05:04:52 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[adventure games]]></category>
		<category><![CDATA[akai]]></category>
		<category><![CDATA[mpc]]></category>
		<category><![CDATA[ms paint adventures]]></category>
		<category><![CDATA[samplers]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=220</guid>
		<description><![CDATA[Sorta hard to explain, so just check it out. MS Paint Adventures is one part webcomic, one part crowd-sourced old school adventure game.  You probably should read/play the current story/game from the beginning.]]></description>
			<content:encoded><![CDATA[<p><a title="MS Paint Adventures" href="http://www.mspaintadventures.com/?s=6&amp;p=002238">Sorta hard to explain, so just check it out.<br />
</a></p>
<p><a title="MS Paint Adventures" href="http://www.mspaintadventures.com/">MS Paint Adventures</a> is one part webcomic, one part crowd-sourced old school adventure game.  You probably should read/play the current story/game from the beginning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2009/07/07/ms-paint-mpc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le Roi (Du Pop) Est Mort</title>
		<link>http://www.ofrecordings.com/2009/06/28/le-roi-du-pop-est-mort/</link>
		<comments>http://www.ofrecordings.com/2009/06/28/le-roi-du-pop-est-mort/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 00:45:15 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[beyonce]]></category>
		<category><![CDATA[bruce swedien]]></category>
		<category><![CDATA[michael jackson]]></category>
		<category><![CDATA[moonwalk]]></category>
		<category><![CDATA[quincy jones]]></category>
		<category><![CDATA[roland d-50]]></category>
		<category><![CDATA[smooth criminal]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=216</guid>
		<description><![CDATA[I know I am late to the party, but I was out in the woods when it happened. Curiously, the best blogging I read on the subject was written by Ta-Nehisi Coates a week before Jackson&#8217;s death: Mike used to be beautiful. My sister Kelly just knew she was marrying him. And he danced so [...]]]></description>
			<content:encoded><![CDATA[<p>I know I am late to the party, but I was out in the woods when it happened.</p>
<p>Curiously, the best blogging I read on the subject was written by Ta-Nehisi Coates <a title="Echoes Of The Bubblegum Age (Ta-Nehisi Coates)" href="http://ta-nehisicoates.theatlantic.com/archives/2009/06/echoes_of_the_bubblegum_age_1.php">a week before Jackson&#8217;s death</a>:</p>
<blockquote><p>Mike used to be beautiful. My sister Kelly just knew she was marrying him. And he danced so smooth and easy. I hate to think that what gave him that ability, was the same thing that ruined him.</p></blockquote>
<p>After you start producing music everything sounds different. I rediscovered his music several years ago and was floored by the arrangement, production, songwriting, everything.  I know some of that credit is due to guys like Quincy Jones and Bruce Swedien, but remember that MJ wrote a lot of his best songs.</p>
<p>If you write, perform, or produce music, you can learn something from Michael Jackson.</p>
<p>This is my favorite MJ video:</p>
<p><a href="http://www.youtube.com/watch?v=ex30DYwQlHU&#038;fmt=18">http://www.youtube.com/watch?v=ex30DYwQlHU</a></p>
<p>I like the suits.  I like the lean.  I like the hottie with the fan.  I even like the cheesy coin flip.  I love the D-50 bassline.*  The staccato delivery is now a staple of modern R&amp;B&#8211; listen to Beyoncé&#8217;s &#8220;Crazy In Love&#8221; for example.</p>
<p>Here is a short history of the moonwalk (HT: <a title="The origins of Michael Jackson's trademark Moonwalk dance (Midnight Man)" href="http://midnightman84.wordpress.com/2009/01/11/the-origins-of-michael-jacksons-trademark-moonwalk-dance/">The Midnight Man</a>):</p>
<p><a href="http://www.youtube.com/watch?v=kH0FeiLHH-U">http://www.youtube.com/watch?v=kH0FeiLHH-U</a></p>
<p>*OK, I have no idea what kit they used.  It could be a D-50 though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2009/06/28/le-roi-du-pop-est-mort/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Five pieces of gear and how they survived a coffee spill</title>
		<link>http://www.ofrecordings.com/2009/05/28/five-pieces-of-gear-and-how-they-survived-a-coffee-spill/</link>
		<comments>http://www.ofrecordings.com/2009/05/28/five-pieces-of-gear-and-how-they-survived-a-coffee-spill/#comments</comments>
		<pubDate>Fri, 29 May 2009 05:00:47 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[audio kontrol 1]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[faderfox]]></category>
		<category><![CDATA[keystation pro]]></category>
		<category><![CDATA[korg]]></category>
		<category><![CDATA[m-audio]]></category>
		<category><![CDATA[native instruments]]></category>
		<category><![CDATA[padkontrol]]></category>
		<category><![CDATA[top five]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=202</guid>
		<description><![CDATA[5. Korg padKontrol. The bottom left pad occasionally fails to send a note off.  I usually map that pad to the kick drum, which fortunately is not important in electronic music. 4. Faderfox LC2. The channel 4/channel 10/solo button is gummed up.  The other controls just feel so damn nice, making the sticky one even [...]]]></description>
			<content:encoded><![CDATA[<p>5. <strong>Korg padKontrol.</strong> The bottom left pad occasionally fails to send a note off.  I usually map that pad to the kick drum, which fortunately is not important in electronic music.</p>
<p>4. <strong>Faderfox LC2.</strong> The channel 4/channel 10/solo button is gummed up.  The other controls just feel so damn <em>nice</em>, making the sticky one even worse in comparison.  It feels like the button might loosen up after pounding on it some more so I am optimistic.</p>
<p>3. <strong>M-Audio Keystation Pro. </strong>I had to wipe down the keys.  After bangin on low D a few times, it&#8217;s no worse for the wear.  One of the knobs is too loose but that predates the coffee.</p>
<p>2. <strong>NI Audio Kontrol 1. </strong>No noticeable ill effects, although I think this guy was pretty well out of the danger zone.</p>
<p>1. <strong>The plank that I put on my keyboard stand to hold my laptop. </strong>I just wiped it down and bam, good as new.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2009/05/28/five-pieces-of-gear-and-how-they-survived-a-coffee-spill/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A quick update</title>
		<link>http://www.ofrecordings.com/2008/12/01/a-quick-update/</link>
		<comments>http://www.ofrecordings.com/2008/12/01/a-quick-update/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 05:41:29 +0000</pubDate>
		<dc:creator>Kevin</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[ableton live]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[buzz]]></category>
		<category><![CDATA[copy protection]]></category>
		<category><![CDATA[faderfox]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[updates]]></category>
		<category><![CDATA[vista]]></category>

		<guid isPermaLink="false">http://www.ofrecordings.com/?p=181</guid>
		<description><![CDATA[1. Live 7 is good. 2. The Faderfox LC2 is really good. 3. A clean install of Windows only seems like a good idea before you do it. 3a. Damn serial numbers and activations. 3b. I am almost ready to kick Buzz to the curb. 3b(i). Emphasis on &#8220;almost.&#8221; 4. I am working on a [...]]]></description>
			<content:encoded><![CDATA[<p>1. Live 7 is good.</p>
<p>2. The Faderfox LC2 is really good.</p>
<p>3. A clean install of Windows only seems like a good idea before you do it.</p>
<p>3a. Damn serial numbers and activations.</p>
<p>3b. I am almost ready to kick Buzz to the curb.</p>
<p>3b(i). Emphasis on &#8220;almost.&#8221;</p>
<p>4. I am working on a new audio software project.</p>
<p>4a. I do not yet know how serious it is.</p>
<p>4b. Boost.Python is a godsend.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ofrecordings.com/2008/12/01/a-quick-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

