<?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>Phrontist.org &#187; Uncategorized</title>
	<atom:link href="http://www.phrontist.org/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phrontist.org</link>
	<description></description>
	<lastBuildDate>Thu, 17 Jun 2010 06:47:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Decimator Wobble Bass</title>
		<link>http://www.phrontist.org/2010/06/decimator-wobble-bass/</link>
		<comments>http://www.phrontist.org/2010/06/decimator-wobble-bass/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 21:26:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bass]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dubstep]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[supercollider]]></category>

		<guid isPermaLink="false">http://www.phrontist.org/?p=97</guid>
		<description><![CDATA[



In the first of what I hope will be many Supercollider posts, I&#8217;m dissecting a fairly straightforward wobble bass snippet.
123456789101112131415161718&#123;
var trig, numSmp, rate, freq, wobble,out,note,mod;
freq = &#40;140/60&#41;/3; // It's not dubstep if it's not at an integer multiple of 140bpm.
trig = Impulse.kr&#40;freq&#41;; // Main tempo pulse
note = Demand.kr&#40;trig, 0, Dseq&#40;&#91;40, 43, 47, 47, 40, 49-12, [...]]]></description>
			<content:encoded><![CDATA[



<p>In the first of what I hope will be many <a href="http://supercollider.sf.net">Supercollider</a> posts, I&#8217;m dissecting a fairly straightforward wobble bass snippet.</p>
<div class="codecolorer-container sclang dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td><div class="sclang codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000;">&#123;</span><br />
<span style="color: #0000BF;">var</span> trig<span style="color: #000000;">,</span> numSmp<span style="color: #000000;">,</span> rate<span style="color: #000000;">,</span> freq<span style="color: #000000;">,</span> wobble<span style="color: #000000;">,</span>out<span style="color: #000000;">,</span>note<span style="color: #000000;">,</span>mod<span style="color: #000000;">;</span><br />
freq = <span style="color: #000000;">&#40;</span><span style="color: #000000;">140</span><span style="color: #000000;">/</span><span style="color: #000000;">60</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">/</span><span style="color: #000000;">3</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// It's not dubstep if it's not at an integer multiple of 140bpm.</span><br />
trig = <span style="color: #0000BF;">Impulse</span>.<span style="">kr</span><span style="color: #000000;">&#40;</span>freq<span style="color: #000000;">&#41;</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Main tempo pulse</span><br />
note = <span style="color: #0000BF;">Demand</span>.<span style="">kr</span><span style="color: #000000;">&#40;</span>trig<span style="color: #000000;">,</span> <span style="color: #000000;">0</span><span style="color: #000000;">,</span> <span style="color: #0000BF;">Dseq</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">40</span><span style="color: #000000;">,</span> <span style="color: #000000;">43</span><span style="color: #000000;">,</span> <span style="color: #000000;">47</span><span style="color: #000000;">,</span> <span style="color: #000000;">47</span><span style="color: #000000;">,</span> <span style="color: #000000;">40</span><span style="color: #000000;">,</span> <span style="color: #000000;">49</span>-<span style="color: #000000;">12</span><span style="color: #000000;">,</span> <span style="color: #000000;">43</span><span style="color: #000000;">,</span> <span style="color: #000000;">40</span>-<span style="color: #000000;">12</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">,</span> <span style="color: #0000BF;">inf</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">;</span><br />
note = <span style="color: #0000BF;">Slew</span>.<span style="">kr</span><span style="color: #000000;">&#40;</span>note<span style="color: #000000;">,</span> <span style="color: #000000;">300</span><span style="color: #000000;">,</span> <span style="color: #000000;">20</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Pitch changes are slewed, faster up than down</span><br />
numSmp = <span style="color: #0000BF;">SampleRate</span>.<span style="">ir</span> <span style="color: #000000;">/</span> freq<span style="color: #000000;">;</span><br />
rate = 2pi <span style="color: #000000;">/</span> numSmp<span style="color: #000000;">;</span><br />
rate = rate <span style="color: #000000;">*</span> <span style="color: #0000BF;">Demand</span>.<span style="">kr</span><span style="color: #000000;">&#40;</span>trig<span style="color: #000000;">,</span> <span style="color: #000000;">0</span><span style="color: #000000;">,</span> <span style="color: #0000BF;">Dseq</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#91;</span><span style="color: #000000;">1</span><span style="color: #000000;">/</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span> <span style="color: #000000;">6</span><span style="color: #000000;">,</span> <span style="color: #000000;">6</span><span style="color: #000000;">,</span> <span style="color: #000000;">6</span><span style="color: #000000;">*</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span> <span style="color: #000000;">2</span><span style="color: #000000;">,</span> <span style="color: #000000;">8</span><span style="color: #000000;">,</span> <span style="color: #000000;">6</span><span style="color: #000000;">,</span> <span style="color: #000000;">6</span><span style="color: #000000;">*</span><span style="color: #000000;">2</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">,</span> <span style="color: #0000BF;">inf</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">/</span> <span style="color: #000000;">2</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Choose random &quot;wobble&quot; tempo</span><br />
wobble = <span style="color: #0000BF;">Phasor</span>.<span style="">ar</span><span style="color: #000000;">&#40;</span>trig<span style="color: #000000;">,</span> rate<span style="color: #000000;">,</span> pi<span style="color: #000000;">,</span> 2pi <span style="color: #000000;">&#41;</span>.<span style="">cos</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Phasor is used to index cosine. Just sweeps through a half of a full wave.</span><br />
out = <span style="color: #0000BF;">VarSaw</span>.<span style="">ar</span><span style="color: #000000;">&#40;</span>note.<span style="">midicps</span><span style="color: #000000;">,</span> width<span style="color: #000000;">:</span> wobble.<span style="">range</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">0.45</span><span style="color: #000000;">,</span><span style="color: #000000;">0.55</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #BF0000;">// Tone to be filtered. Notice modulation of width param.</span><br />
&nbsp; &nbsp; + <span style="color: #0000BF;">SinOsc</span>.<span style="">ar</span><span style="color: #000000;">&#40;</span>note.<span style="">midicps</span><span style="color: #000000;">/</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span> mul<span style="color: #000000;">:</span> wobble.<span style="">range</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">1</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>.<span style="">dup</span><span style="color: #000000;">;</span> &nbsp;<span style="color: #BF0000;">// Subbass.</span><br />
out = <span style="color: #0000BF;">Decimator</span>.<span style="">ar</span><span style="color: #000000;">&#40;</span>out<span style="color: #000000;">,</span> <span style="color: #000000;">20000</span><span style="color: #000000;">,</span> wobble.<span style="">range</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">1.2</span><span style="color: #000000;">,</span><span style="color: #000000;">8</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Sampling resolution is decreased in time with the wobble.</span><br />
out = <span style="color: #0000BF;">MoogLadder</span>.<span style="">ar</span><span style="color: #000000;">&#40;</span>out<span style="color: #000000;">,</span> wobble.<span style="">range</span><span style="color: #000000;">&#40;</span>note.<span style="">midicps</span><span style="color: #000000;">,</span><span style="color: #000000;">25000</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">,</span> wobble.<span style="">range</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">0.03</span><span style="color: #000000;">,</span><span style="color: #000000;">0.1</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>.<span style="">dup</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Emulated Moog Low Pass.</span><br />
out = out <span style="color: #000000;">*</span> <span style="color: #000000;">0.25</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Turn it down a bit to prevent clipping.</span><br />
out = <span style="color: #000000;">&#91;</span><span style="color: #0000BF;">DelayC</span>.<span style="">ar</span><span style="color: #000000;">&#40;</span>out<span style="color: #000000;">,</span> <span style="color: #000000;">1</span><span style="color: #000000;">,</span> wobble.<span style="">range</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">0</span><span style="color: #000000;">,</span><span style="color: #000000;">0.0012</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">,</span> <span style="color: #0000BF;">DelayC</span>.<span style="">ar</span><span style="color: #000000;">&#40;</span>out<span style="color: #000000;">,</span> <span style="color: #000000;">1</span><span style="color: #000000;">,</span> wobble.<span style="">range</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">0.0012</span><span style="color: #000000;">,</span><span style="color: #000000;">0</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Spatialization</span><br />
out = out <span style="color: #000000;">*</span> <span style="color: #0000BF;">Linen</span>.<span style="">kr</span><span style="color: #000000;">&#40;</span>trig<span style="color: #000000;">,</span> <span style="color: #000000;">0.01</span><span style="color: #000000;">,</span> <span style="color: #000000;">0.7</span><span style="color: #000000;">,</span> <span style="color: #000000;">1.3</span><span style="color: #000000;">/</span>freq<span style="color: #000000;">,</span> doneAction<span style="color: #000000;">:</span> <span style="color: #000000;">0</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">;</span> <span style="color: #BF0000;">// Simple Envelope</span><br />
<span style="color: #000000;">&#125;</span>.<span style="">play</span><span style="color: #000000;">;</span></div></td></tr></tbody></table></div>
<p><object height="81" width="100%"><param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fsoundcloud.com%2Fphrontist%2Fdecimator-wobble"></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%2Fphrontist%2Fdecimator-wobble" type="application/x-shockwave-flash" width="100%"></embed></object></p>
<p><span id="more-97"></span></p>
<p>This sample was generated from the code above, which uses Demand UGens to sequence notes/wobble rates on lines 5 and 9. Line 6 adds a bit of <a href="http://supercollider.svn.sourceforge.net/viewvc/supercollider/trunk/common/build/Help/UGens/Synth%20control/Slew.html">slew</a> to the pitch signal, so it <a href="http://en.wikipedia.org/wiki/Glissando">glissandos</a> (slides) from note to note, faster up than down for heightened drama.</p>
<p>The signal path for the sound runs: initial synthesis, distortion, filtering, a simple spatialization effect and amplitude enveloping.</p>
<p>The tone is initially made up of a <a href="http://supercollider.svn.sourceforge.net/viewvc/supercollider/trunk/common/build/Help/UGens/Oscillators/VarSaw.html">VarSaw</a> oscillator whose width parameter (0 = downward sawtooth, 0.5 = triangle, 1 = upward sawtooth) is &#8220;wobbled&#8221; by the LFO (line 11). A pure sine wave an octave lower is added to this (line 12). The Decimator UGen distorts this signal by rounding values to an arbitrary degree of precision (i.e. 8-bit, 2-bit, 3.2-bit) as modulated by the LFO. This produces the higher-frequency content of the signal for the filter to do it&#8217;s magic on.</p>
<p>The result is a bit like that seething &#8220;<a href="http://www.facebook.com/pages/Dubstep-dirtier-than-fingering-ur-Sister-finding-ur-Dads-Engagement-ring/108371612525199">filthy</a>&#8221; sound that&#8217;s <a href="http://tinysong.com/eul3">so</a> <a href="http://tinysong.com/f0VY">popular</a> these days. I&#8217;ll probably do a dedicated post on it later, but the trick seems to be several square wave oscillators frequency modulating one another in turn, all through a band-pass filter.</p>
<p>Now that everything is sufficiently noisy it&#8217;s run through <a href="http://sc3-plugins.svn.sourceforge.net/viewvc/sc3-plugins/build/BhobUGens/BhobUGens.html">a nice emulation</a> of <a href="http://www.analoguesystems.co.uk/modules/rs100.htm">the Moog ladder lowpass filter</a> on line 14.</p>
<p>Line 16 splits what has until now been a monophonic signal in to two channels, each of which has a separate delay on it, the values for which are LFO-modulated out of phase with one another (so when one maximally delayed, the other has no delay). This gives the sound some (subtle?) &#8220;<a href="http://en.wikipedia.org/wiki/Precedence_effect">width</a>&#8221; when played with stereo separation, but if you were to play this on <a href="http://turkeyphant.org/images/gallery.phant/rig_porn/">a real rig</a> (in mono), there would be destructive and likely undesirable interference muddying up the low end. To dodge this, you could split the signal around 65Hz and only apply delays to the high end before reconstituting it.</p>
<p>The <a href="http://www.listarc.bham.ac.uk/lists/sc-users/search/">triggered LFO</a> is specified on lines 7-10. Worth noting are the phase angle bounds the <a href="http://supercollider.svn.sourceforge.net/viewvc/supercollider/trunk/common/build/Help/UGens/Triggers/Phasor.html">Phasor</a> UGen is sweeping through: pi to 2pi &#8211; only half of a full sine wave before resetting. Playing with these bounds can produce some interesting variations on the standard wobble.</p>
<p>I&#8217;ve really exaggerated the distortion to highlight the character of the sound on headphones or monitors. If you were to produce a track for dance floor use, you&#8217;d want to either generate sub-bass separately, possibly raising the line synthesized with decimation an octave or two, or ease up on the distortion; as it stands, this would be kind of weak. Try commenting out line 14 (the filter) before tweaking any parameters.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phrontist.org/2010/06/decimator-wobble-bass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pop Music</title>
		<link>http://www.phrontist.org/2008/11/pop-music/</link>
		<comments>http://www.phrontist.org/2008/11/pop-music/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 21:23:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://www.phrontist.org/?p=12</guid>
		<description><![CDATA[The KLF were two British chaps who exposed the mass sphexishness of the music world, fired machine gun blanks at award show audiences, made and set alight a million quid, and wrote a wonderful book to help you follow in their footsteps.


Do not try and sit down and write a complete song. Songs that have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/The_KLF">The KLF</a> were two British chaps who <a href="http://en.wikipedia.org/wiki/Doctorin%27_The_Tardis">exposed</a> the <a href="http://en.wikipedia.org/wiki/Digger_wasp">mass sphexishness</a> of the music world, <a href="http://www.youtube.com/watch?v=7CDButf0go8">fired machine gun blanks</a> at award show audiences, made and <a href="http://en.wikipedia.org/wiki/K_Foundation_Burn_a_Million_Quid">set alight</a> a million quid, and wrote a <a href="http://en.wikipedia.org/wiki/The_Manual">wonderful</a> <a href="http://www.tomrobinson.com/resource/klf.htm">book</a> to help you follow in their footsteps.</p>
<p><span id="more-12"></span></p>
<blockquote><p>
Do not try and sit down and write a complete song. Songs that have been written in such a way and reached Number One can only be done by the true song writing genius and be delivered by artists with such forceful convincing passion that the world HAS TO listen. You know the sort of thing, &#8220;Sailing&#8221; by Rod Stewart, &#8220;Without You&#8221; by Nilsson What the Golden Rules can provide you with is a framework that you can slot the component parts into.</p>
<p>Firstly, it has to have a dance groove that will run all the way through the record and that the current 7&#8243; buying generation will find irresistible. Secondly, it must be no longer than three minutes and thirty seconds (just under 3&#8242;20 is preferable). If they are any longer Radio One daytime DJs will start fading early or talking over the end, when the chorus is finally being hammered home &#8211; the most important part of any record. Thirdly, it must consist of an intro, a verse, a chorus, second verse, a second chorus, a breakdown section, back into a double length chorus and outro</p>
<p>It is going to be a construction job, fitting bits together. You will have to find the Frankenstein in you to make it work. Your magpie instincts must come to the fore. If you think this just sounds like a recipe for some horrific monster, be reassured by us, all music can only be the sum or part total of what has gone before. Every Number One song ever written is only made up from bits from other songs. There is no lost chord. No changes untried. No extra notes to the scale or hidden beats to the bar. There is no point in searching for originality. In the past, most writers of songs spent months in their lonely rooms strumming their guitars or bands in rehearsals have ground their way through endless riffs before arriving at the song that takes them to the very top. Of course, most of them would be mortally upset to be told that all they were doing was leaving it to chance before they stumbled across the tried and tested. They have to believe it is through this sojourn they arrive at the grail; the great and original song that the world will be unable to resist.</p>
<p>So why don&#8217;t all songs sound the same? Why are some artists great, write dozens of classics that move you to tears, say it like it&#8217;s never been said before, make you laugh, dance, blow your mind, fall in love, take to the streets and riot? Well, it&#8217;s because although the chords, notes, harmonies, beats and words have all been used before their own soul shines through; their personality demands attention. This doesn&#8217;t just come via the great vocalist or virtuoso instrumentalist. The Techno sound of Detroit, the most totally linear programmed music ever, lacking any human musicianship in its execution reeks of sweat, sex and desire. The creators of that music just press a few buttons and out comes &#8211; a million years of pain and lust.</p>
<p>We await the day with relish that somebody dares to make a dance record that consists of nothing more than an electronically programmed bass drum beat that continues playing the fours monotonously for eight minutes. Then, when somebody else brings one out using exactly the same bass drum sound and at the same beats per minute (B.P.M.), we will all be able to tell which is the best, which inspires the dance floor to fill the fastest, which has the most sex and the most soul.
</p></blockquote>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ceSxEjwXHcM&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ceSxEjwXHcM&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/dvgZkm1xWPE&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/dvgZkm1xWPE&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UbjcxX2KWRY&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/UbjcxX2KWRY&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Maybe we shouldn&#8217;t be so hard on them. As <a href="http://www.spiderrobinson.com/melancholyelephants.html">Spider Robinson</a> <a href="http://www.spiderrobinson.com/melancholyelephants.html">points out</a>&#8230;</p>
<blockquote><p>
There are eighty-eight notes.   One hundred and seventy-six, if your ear is good enough to pick out quarter tones.   Add in rests and so forth, different time signatures.   Pick a figure for maximum number of notes a melody can contain.   I do not know the figure for the maximum possible number of melodies&#8211;too many variables&#8211;but I am sure it is quite high.<br />
&#8230;<br />
For one thing, a great many of those possible arrays of eighty-eight notes will not be perceived as music, as melody, by the human ear.   Perhaps more than half.   They will not be hummable, whistleable, listenable&#8211;some will be actively unpleasant to hear.   Another large fraction will be so similar to each other as to be effectively identical: if you change three notes of the Moonlight Sonata, you have not created something new.
</p></blockquote>
<p>To be fair, there are <a href="http://www.youtube.com/watch?v=JdxkVQy7QLM">worse progressions</a> to rip off.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phrontist.org/2008/11/pop-music/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
