<?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>woo, tangent &#187; supercollider</title>
	<atom:link href="http://wootangent.net/tag/supercollider/feed/" rel="self" type="application/rss+xml" />
	<link>http://wootangent.net</link>
	<description>lsd&#039;s rants about games, music, linux, and technology</description>
	<lastBuildDate>Sun, 13 May 2012 07:25:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>sketchbook: supercollider? i just met her!</title>
		<link>http://wootangent.net/2010/03/sketchbook-supercollider-i-just-met-her/</link>
		<comments>http://wootangent.net/2010/03/sketchbook-supercollider-i-just-met-her/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 13:06:10 +0000</pubDate>
		<dc:creator>lsd</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Sketchbook]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[supercollider]]></category>

		<guid isPermaLink="false">http://wootangent.net/?p=433</guid>
		<description><![CDATA[It took some doing, but I got SuperCollider running a sequenced filter cutoff pattern effect. It actually does a little more than just changing the filter cutoff &#8212; it also gates the incoming sound, to get more of a synth &#8230; <a href="http://wootangent.net/2010/03/sketchbook-supercollider-i-just-met-her/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It took some doing, but I got SuperCollider running a sequenced filter cutoff pattern effect. It actually does a little more than just changing the filter cutoff &#8212; it also gates the incoming sound, to get more of a synth arpeggio effect. Here&#8217;s a sample, running a cello sound (a soundfont played by Qsynth), with a stereo delay added for good measure:</p>
<p><object type="application/x-shockwave-flash" data="http://wootangent.net/flash/player_mp3_maxi.swf" width="200" height="20"><param name="movie" value="http://wootangent.net/flash/player_mp3_maxi.swf" /><param name="FlashVars" value="mp3=http://electronaut.linuxgamers.net/~lsd/music/sketchbook/ongoing/20100310.mp3" /></object><br />
<a href="http://electronaut.linuxgamers.net/~lsd/music/sketchbook/ongoing/20100310.mp3">mp3</a> | <a href="http://electronaut.linuxgamers.net/~lsd/music/sketchbook/ongoing/20100310.ogg">vorbis</a> | 44 seconds</p>
<p>You can check out the code after the jump: <span id="more-433"></span></p>
<pre>
TempoClock.default.tempo = 2; // 120 BPM

SynthDef(\audioinfilt, { |freq = 300, sustain = 1|
  var sig;

  sig = MoogFF.ar(SoundIn.ar(0), freq, 2.5) *
    EnvGen.kr(Env.linen(0.01, sustain, 0.01, 0.7), doneAction: 2);

  Out.ar(0, sig ! 2); // sig ! 2 is the same as [sig, sig]
}).send(s);

a = Task({
  var delta = 0.25;

  loop {
    [100, 800, 8000, 600, 3000, 1000, 150, 300].do({ |cutoff|
      Synth(\audioinfilt, [freq: cutoff, sustain: delta * 0.5]);

      delta.wait;
    });
  }
});

a.play;
</pre>
<p>The <i>SynthDef</i> defines a synth routine that plays a chunk of audio from the audio inputs, run through a filter, while the <i>Task</i> section defines the pattern, looping through an array of values and kicking off a synth for each value.</p>
]]></content:encoded>
			<wfw:commentRss>http://wootangent.net/2010/03/sketchbook-supercollider-i-just-met-her/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://electronaut.linuxgamers.net/~lsd/music/sketchbook/ongoing/20100310.mp3" length="932392" type="audio/mpeg" />
<enclosure url="http://electronaut.linuxgamers.net/~lsd/music/sketchbook/ongoing/20100310.ogg" length="513933" type="audio/ogg" />
		</item>
		<item>
		<title>how hard can step-sequencing a filter be?</title>
		<link>http://wootangent.net/2010/03/how-hard-can-step-sequencing-a-filter-be/</link>
		<comments>http://wootangent.net/2010/03/how-hard-can-step-sequencing-a-filter-be/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 12:48:55 +0000</pubDate>
		<dc:creator>lsd</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[alsamodularsynth]]></category>
		<category><![CDATA[ingen]]></category>
		<category><![CDATA[pd]]></category>
		<category><![CDATA[supercollider]]></category>

		<guid isPermaLink="false">http://wootangent.net/?p=430</guid>
		<description><![CDATA[Yesterday I had a suggestion to add a &#8220;woody&#8221; sound, like a bowed string instrument, to my &#8220;daybreak&#8221; track, and while I don&#8217;t think I&#8217;ll be editing that track now, it did inspire me to grab some instrument samples and &#8230; <a href="http://wootangent.net/2010/03/how-hard-can-step-sequencing-a-filter-be/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I had a suggestion to add a &#8220;woody&#8221; sound, like a bowed string instrument, to my &#8220;daybreak&#8221; track, and while I don&#8217;t think I&#8217;ll be editing that track now, it did inspire me to grab some instrument samples and see what I could do with them. One effect I wanted to try was running sound through a filter that has it&#8217;s cutoff frequency controlled by a step sequencer, which gives the sound a bit of a rhythmic, glitchy feel. Short of buying an <a href="http://www.davesmithinstruments.com/products/med/">Evolver</a>, was there a way I could do this under Linux?</p>
<p>I tried a few approaches, and did actually get this working in a couple of ways, but none exactly to my liking yet:</p>
<ul>
<li>JACK Rack can control plugin parameters using MIDI, so I set it up with a Calf Filter, configured the cutoff for MIDI control, and created a sequence of parameter changes in Qtractor. This was quick to set up, and it kinda worked, but the timing wasn&#8217;t stable &#8212; I&#8217;m not sure if JACK Rack&#8217;s MIDI support is meant to be used this way.</li>
<li>The next idea was to use a modular synth. I tried <a href="http://alsamodular.sourceforge.net/">AlsaModularSynth</a>, but I&#8217;m not sure that its step sequencer is generic enough to use for modulation, instead of playing notes &#8212; I had it all hooked up but just couldn&#8217;t get it working. <a href="http://drobilla.net/blog/software/ingen/">Ingen</a> looked a bit more promising, but it&#8217;s still very alpha, and crashed too often for me to be bothered dealing with.</li>
<li>Following that line of thought, I fired up <a href="http://puredata.info/">Pure Data</a> (&#8220;Pd&#8221; to its friends) and tried to get to grips with it. Pd is one of the many programmatic audio/music synthesis environments available for Linux, and I&#8217;ve been looking for an excuse to check one out; this seemed to fit the bill pretty well. Pd is a bit like a modular synth, but much lower-level &#8212; it doesn&#8217;t have a step-sequencer, but I was able to build one! I got a working setup, but the resonant bandpass filter I used didn&#8217;t sound ideal to me, and I had hassles trying to pull in a better one, either as a Pd add-on or through LADSPA. I could&#8217;ve actually <i>built</i> a better filter, but that wasn&#8217;t something I was interested in doing today.</li>
<li>Moving on from Pd, I had another crack with <a href="http://supercollider.sf.net/">SuperCollider</a>, another synthesis environment. Unlike Pd, which is graphical, SuperCollider is based around writing code, which should mean that it&#8217;s more to my liking. I can get sound out of it, and it has some good filters, but the sequencing stuff is gonna take a bit of work to get my brain around.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://wootangent.net/2010/03/how-hard-can-step-sequencing-a-filter-be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

