<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>dj-api &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/dj-api/</link>
	<description>Feed of posts on WordPress.com tagged "dj-api"</description>
	<pubDate>Sun, 19 May 2013 03:59:08 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[DJ API's secret sauce]]></title>
<link>http://musicmachinery.com/2009/07/20/dj-apis-secret-sauce/</link>
<pubDate>Mon, 20 Jul 2009 20:43:24 +0000</pubDate>
<dc:creator>Paul</dc:creator>
<guid>http://musicmachinery.com/2009/07/20/dj-apis-secret-sauce/</guid>
<description><![CDATA[Last week at the Echo Nest 4 year anniversary party we had two renown DJs keeping the music flowing.]]></description>
<content:encoded><![CDATA[<p>Last week at the Echo Nest 4 year anniversary party we had two renown DJs keeping the music flowing.  <a href="http://en.wikipedia.org/wiki/DJ_/rupture">DJ Rupture</a> was the featured act &#8211; but opening the night was the Echo Nest&#8217;s own DJ API (a.k.a Ben Lacker)  who put together a 30 minute set using the <a href="http://code.google.com/p/echo-nest-remix/">Echo Nest remix</a>.</p>
<p> </p>
<div id="attachment_1092" class="wp-caption aligncenter" style="width: 460px"><a href="http://picasaweb.google.com/jsundram/EchoNestPartyJuly2009?feat=directlink#5359296046177318786"><img class="size-full wp-image-1092" title="DJ API at work (Photo by Jason Sundram" src="http://musicmachinery.files.wordpress.com/2009/07/dj-api1.jpg?w=450&#038;h=300" alt="DJ API at work (Photo by Jason Sundram" width="450" height="300" /></a><p class="wp-caption-text">DJ API at work (Photo by Jason Sundram</p></div>
<p>I was really quite astounded at the quality of the tracks Ben put together (and all of them apparently done on the afternoon before the gig).  I asked Ben to explain how he created the tracks. Here&#8217;s what he said:</p>
<p style="padding-left:30px;"><strong>1. &#8216;One Thing&#8217; &#8211; </strong><strong><span style="font-weight:normal;">featuring Michael Jackson&#8217;s (dj api&#8217;s rip)</span></strong></p>
<p style="padding-left:30px;"><strong><span style="font-weight:normal;"><span style='text-align:left;display:block;'><p>				<object id='wp-as-1072_4-flash' type='application/x-shockwave-flash' data='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' width='290' height='24'>
					<param name='movie' value='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' />
					<param name='FlashVars' value='bg=0xF8F8F8&amp;leftbg=0xEEEEEE&amp;lefticon=0x666666&amp;rightbg=0xCCCCCC&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xFFFFFF&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=http%3A%2F%2Fstatic.echonest.com%2Fblog%2Fdj_api_rip.mp3' />
					<param name='quality' value='high' />
					<param name='menu' value='false' />
					<param name='bgcolor' value='#FFFFFF' />
					<param name='wmode' value='opaque' />
									<span id="wp-as-1072_4-container">
					<audio id='wp-as-1072_4' controls preload='none'  style='background-color:#FFFFFF;width:290px;'>
						<span id="wp-as-1072_4-nope">Download: <a href="http://static.echonest.com/blog/dj_api_rip.mp3">dj_api_rip.mp3</a><br /></span>
					</audio>
				</span>
				<br /><span id='wp-as-1072_4-playing'></span>
				</object>			<script type='text/javascript'>
			//<![CDATA[
			(function() {
				var prep = function() {
					if ( 'undefined' === typeof window.audioshortcode ) { return; }
					audioshortcode.prep(
						'1072_4',
						["http:\/\/static.echonest.com\/blog\/dj_api_rip.mp3"],
						["Track #1"],
						0.6,
						false
					);
				};
				if ( 'undefined' === typeof jQuery ) {
					if ( document.addEventListener ) {
						window.addEventListener( 'load', prep, false );
					} else if ( document.attachEvent ) {
						window.attachEvent( 'onload', prep );
					}
				} else {
					jQuery(document).on( 'ready as-script-load', prep );
				}
			})();
			//]]>
			</script></p></span></span></strong></p>
<p style="padding-left:30px;"><strong><span style="font-weight:normal;">I found a half-dozen a cappella Michael Jackson songs as well as instrumental and a cappella recordings of Amerie&#8217;s &#8220;One Thing&#8221; on YouTube. To get Michael Jackson to sing &#8220;One Thing&#8221;, I stitched all his a cappella tracks together into a single track, then ran <a href="http://code.google.com/p/echo-nest-remix/source/browse/trunk/examples/afromb/afromb.py">afromb</a>: for each segment in the a cappella version of &#8220;One Thing&#8221;, I found the segment in the MJ a cappella medley that was closest in pitch, timbre, and loudness. The result sounded pretty convincing, but was heavy on the &#8220;uh&#8221;s and breath sounds. Using the pitch-shifting methods in <a href="http://code.google.com/p/echo-nest-remix/source/browse/trunk/src/echonest/modify.py">modify.py</a>, I shifted an a cappella version of &#8220;Ben&#8221; to be in the same key as &#8220;One Thing&#8221;, then ran afromb again. I edited together part of this result and part of the first result, then synced them up with the instrumental version of &#8220;One Thing.&#8221;</span></strong></p>
<p style="padding-left:30px;"><span style="font-weight:normal;"><strong>2. One Thing </strong>(dj api&#8217;s gamelan version)</span></p>
<p style="padding-left:30px;"><span style="font-weight:normal;"><span style='text-align:left;display:block;'><p>				<object id='wp-as-1072_5-flash' type='application/x-shockwave-flash' data='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' width='290' height='24'>
					<param name='movie' value='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' />
					<param name='FlashVars' value='bg=0xF8F8F8&amp;leftbg=0xEEEEEE&amp;lefticon=0x666666&amp;rightbg=0xCCCCCC&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xFFFFFF&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=http%3A%2F%2Fstatic.echonest.com%2Fblog%2Fdj_api_gamelan.mp3' />
					<param name='quality' value='high' />
					<param name='menu' value='false' />
					<param name='bgcolor' value='#FFFFFF' />
					<param name='wmode' value='opaque' />
									<span id="wp-as-1072_5-container">
					<audio id='wp-as-1072_5' controls preload='none'  style='background-color:#FFFFFF;width:290px;'>
						<span id="wp-as-1072_5-nope">Download: <a href="http://static.echonest.com/blog/dj_api_gamelan.mp3">dj_api_gamelan.mp3</a><br /></span>
					</audio>
				</span>
				<br /><span id='wp-as-1072_5-playing'></span>
				</object>			<script type='text/javascript'>
			//<![CDATA[
			(function() {
				var prep = function() {
					if ( 'undefined' === typeof window.audioshortcode ) { return; }
					audioshortcode.prep(
						'1072_5',
						["http:\/\/static.echonest.com\/blog\/dj_api_gamelan.mp3"],
						["Track #1"],
						0.6,
						false
					);
				};
				if ( 'undefined' === typeof jQuery ) {
					if ( document.addEventListener ) {
						window.addEventListener( 'load', prep, false );
					} else if ( document.attachEvent ) {
						window.attachEvent( 'onload', prep );
					}
				} else {
					jQuery(document).on( 'ready as-script-load', prep );
				}
			})();
			//]]>
			</script></p></span></span></p>
<p style="padding-left:30px;"><span style="font-weight:normal;">I used afromb again here, this time resynthesizing the instrumental version of &#8220;One Thing&#8221; from the segments of a recording of a Balinese Gamelan Orchestra. I synced this with the a cappella version of &#8220;One Thing&#8221; and added some kick drums for a little extra punch</span></p>
<p style="padding-left:30px;"><span style="font-weight:normal;">3. <strong>Billie Jean </strong>(dj api screwdown)</span></p>
<p style="padding-left:30px;"><span style="font-weight:normal;"><span style='text-align:left;display:block;'><p>				<object id='wp-as-1072_6-flash' type='application/x-shockwave-flash' data='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' width='290' height='24'>
					<param name='movie' value='http://s0.wp.com/wp-content/plugins/audio-player/player.swf' />
					<param name='FlashVars' value='bg=0xF8F8F8&amp;leftbg=0xEEEEEE&amp;lefticon=0x666666&amp;rightbg=0xCCCCCC&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xFFFFFF&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=http%3A%2F%2Fstatic.echonest.com%2Fblog%2FBJ_dj_api_screwdown.mp3' />
					<param name='quality' value='high' />
					<param name='menu' value='false' />
					<param name='bgcolor' value='#FFFFFF' />
					<param name='wmode' value='opaque' />
									<span id="wp-as-1072_6-container">
					<audio id='wp-as-1072_6' controls preload='none'  style='background-color:#FFFFFF;width:290px;'>
						<span id="wp-as-1072_6-nope">Download: <a href="http://static.echonest.com/blog/BJ_dj_api_screwdown.mp3">BJ_dj_api_screwdown.mp3</a><br /></span>
					</audio>
				</span>
				<br /><span id='wp-as-1072_6-playing'></span>
				</object>			<script type='text/javascript'>
			//<![CDATA[
			(function() {
				var prep = function() {
					if ( 'undefined' === typeof window.audioshortcode ) { return; }
					audioshortcode.prep(
						'1072_6',
						["http:\/\/static.echonest.com\/blog\/BJ_dj_api_screwdown.mp3"],
						["Track #1"],
						0.6,
						false
					);
				};
				if ( 'undefined' === typeof jQuery ) {
					if ( document.addEventListener ) {
						window.addEventListener( 'load', prep, false );
					} else if ( document.attachEvent ) {
						window.attachEvent( 'onload', prep );
					}
				} else {
					jQuery(document).on( 'ready as-script-load', prep );
				}
			})();
			//]]>
			</script></p></span></span></p>
<p style="padding-left:30px;"><span style="font-weight:normal;">First I ran summary on an instrumental version of Beyoncé&#8217;s &#8220;Single Ladies (another YouTube find) to produce a version consisting only of the &#8220;ands&#8221; (every second eighth note). I then used modify.shiftRate to slow down an a cappella version of &#8220;Billie Jean&#8221; until its tempo matched that of the summarized &#8220;Single Ladies&#8221;. I synced the two, and repeated some of the final sections of &#8220;Single Ladies&#8221; to follow the form of &#8220;Billie Jean</span></p>
<div><span style="border-collapse:collapse;color:#333333;font-family:'Lucida Grande';line-height:20px;white-space:pre-wrap;">It was a great set and everyone had a good time listening to the morphed tunes.  At the next party hopefully we&#8217;ll get to see Ben do some live remix performance programming during the set (which of course won&#8217;t be a set, it will really be a python list).<br />
</span></div>
]]></content:encoded>
</item>

</channel>
</rss>
