a https://daveriedstra.com/debris.html 2024-03-25T00:00:00+00:00 a https://daveriedstra.com/debris.html 2024-03-25 https://daveriedstra.com/debris.html#2024-03-25 2024-03-25T00:00:00+00:00 2024-03-25T00:00:00+00:00 <p>I like how <a href="#2023-02-08">2023-02-08</a>, <a href="#2023-02-25">2023-02-25</a>, and <a href="#2023-04-24">2023-04-24</a> fit together, so I made a little EP release with them. For now it’s available for PWYW via <a href="/albums/debris-w23">Faircamp</a> and <a href="https://mirlo.space/dried/release/debris-w23">Mirlo</a>.</p> <p><a href="/albums/debris-w23"><img src="/albums/debris-w23/cover_480.jpg" title="Album cover featuring a photo of a snowy river, wintering foliage, and a rusty bridge." srcset="/albums/debris-w23/cover_160.jpg 0.333x, /albums/debris-w23/cover_320.jpg 0.6666x, /albums/debris-w23/cover_480.jpg 1x, /albums/debris-w23/cover_800.jpg 1.6667x, /albums/debris-w23/cover_1280.jpg 2.6667x"/></a></p> 2024-03-20 https://daveriedstra.com/debris.html#2024-03-20 2024-03-20T00:00:00+00:00 2024-03-20T00:00:00+00:00 <p>The last patch had an “error”: the LFOs were sampled at the clock pulse their intersection was quantized to, and not at the moment of their crossing. This meant that they generated two values instead of one (or, close to one). Additionally, using window comparators to find the intersection is a little sloppy, so I wrote a simple function that can do it with much better precision:</p> <pre><code>~crossing = {|a,b| (Delay1.kr(a) &lt;= Delay1.kr(b)) * (a &gt; b) + (Delay1.kr(b) &lt;= Delay1.kr(a)) * (b &gt; a) };</code></pre> <p>I turned this into a class and started a <a href="https://gitlab.com/daveriedstra/dried-utils-sc">personal extension</a>, similar to my <a href="https://gitlab.com/daveriedstra/dried-utils">dried-utils</a> collection of abstractions for pd.</p> <p>This more correct crossing detection generated more boring results for un-modulated LFOs, which is as it should be.</p> 2024-03-18 https://daveriedstra.com/debris.html#2024-03-18 2024-03-18T00:00:00+00:00 2024-03-18T00:00:00+00:00 <p>I’ve been wanting to figure out rhythmic quantization of intersecting LFOs for a while and finally gave myself a moment to do it this morning. Notes are triggered by the intersections of two LFOs at the same rate with a static phase offset. The triggers are quantized to an independent clock, and the frequencies of the notes are determined by the value of the first LFO (also quantized). In the recording I first manipulate the clock subdivision then the LFOs’ period using <a href="https://github.com/madskjeldgaard/nodeproxygui2">NodeProxyGUI2</a>.</p> <p>0:02:14 / <a href="/audio/debris/2024-03-18T11.49-04.00.flac">flac</a> <small>(18M)</small> / <a href="/audio/debris/2024-03-18T11.49-04.00.mp3">mp3</a> <small>(2.1M)</small></p> <pre><code>// CONTROL // Trig when LFOs intersect // quantized to clock ( x = Ndef(\control, { var lfos = LFTri.kr(\period.kr(1).reciprocal, (0..1) * \phase_diff.kr(1)), clock = PulseDivider.kr(LFPulse.kr(\tempo.kr(180, spec: [20,1500]) / 60), \div_trig.kr(1, spec: [1,10]).asInteger), trig; // lfos.scope; trig = InRange.kr(lfos[0], -0.01 + lfos[1], 0.01 + lfos[1]); // quantization uses falling edge bc SetResetFF is _reset_ by clock trig = Trig.kr(1-SetResetFF.kr(trig, clock)); [lfos, clock, trig].flat.scope; SendReply.kr(trig, &#34;/trig&#34;, lfos); SendReply.kr(PulseDivider.kr(clock, \div_bar.kr(4, spec: [1, 10]).asInteger), &#34;/bar&#34;); }).play; OSCdef(\bar, {|msg| Synth(\allpass_saw, [\freq, 55]) }, &#34;/bar&#34;); OSCdef(\trig, {|msg| Synth(\allpass_saw, [ \freq, msg[3].linlin(-1,1,60,72).asInteger.midicps, \cutoff, msg[4].linlin(-1,1,72,84).midicps, ]); }, &#34;/trig&#34;); x.gui2; // VOICE SynthDef(\allpass_saw, { var sig = Saw.ar(\freq.kr(880)); sig = XFade2.ar( AllpassC.ar(sig, 0.2, \del.kr(0.1).max(0.0001).lag, \decay.kr(0.1).max(0.0001).lag, ), CombC.ar(sig, 0.2, \del.kr(0.1).max(0.0001).lag * 10, \decay.kr(0.1).max(0.0001).lag, ), \fade.kr(-1).lag ); sig = BPF.ar(sig, \cutoff.kr(60.midicps).lag); sig = sig * Env.asr.ar(Done.freeSelf, \t_gate.kr(1) + \sustain.kr); Out.ar(0, sig!2 / 2 * \amp.ar(1)); }).add; )</code></pre> 2024-01-29 https://daveriedstra.com/debris.html#2024-01-29 2024-01-29T00:00:00+00:00 2024-01-29T00:00:00+00:00 <p>This is a rewrite of a study I did a few years ago that combined Karplus-Strong synthesis with an additive resynthesis of a chime sample. The original is in Pure Data and I re-wrote it here in SuperCollider to see how the techniques would transfer.</p> <p>0:02:07 / <a href="/audio/debris/2024-01-29T10.50-05.00.flac">flac</a> <small>(19M)</small> / <a href="/audio/debris/2024-01-29T10.50-05.00.mp3">mp3</a> <small>(2.0M)</small></p> <p>A few notes:</p> <ul> <li>The Karplus-Strong (plucked string sound) is inaccurate in pitch, but I like how that sounds in this context.</li> <li>I heard the source of the chime sound again yesterday (one of my partner’s ringtones) and noticed a wavering which I thought was an LFO I had missed. It turned out that it is present in my resynthesis as a result of a slow pitch bend in the fundamental and not in the overtones, which creates a subtle beating.</li> <li>There’s a bit of grunge in the chimes sound, I think it’s clipping a bit at the filter.</li> <li>The timing for the generative sequencing uses a concept I learned from <a href="https://tina-pearson.com">Tina Pearson</a> which I’ve written into a few different libraries now (in a <a href="https://gitlab.com/pool-time/pool-time">TypeScript library</a> and it’s also in <a href="https://gitlab.com/daveriedstra/dried-utils">dried-utils</a>). The concept is really simple: in a pool of time with a variable duration, a variable number of events happen (such as playing sounds or starting new pools), and at the end the pool optionally restarts with new ranges. I found this surprisingly hard to implement with SuperCollider’s pattern library (most likely because I’m still learning it), so I ended up using looped functions instead.</li> <li>The pitches are randomly selected from some randomly selected equal division of the octave above some randomly selected root. There’s a lot that could be done to make the pitch space more coherent, but that’s not for me.</li> <li>There’s a touch of reverb on here (Émilie Gillet’s Dattoro reverb packaged in <a href="https://github.com/v7b1/mi-UGens/">mi-UGens</a>); if you don’t have mi-UGens installed, you should be able to just comment out that line and it will work fine.</li> </ul> <p><a href="/code/share/ks-chimes.scd">Source code</a>.</p> 2024-01-16 https://daveriedstra.com/debris.html#2024-01-16 2024-01-16T00:00:00+00:00 2024-01-16T00:00:00+00:00 <p>Feedback session on the modular that grew a bit of a pulse. Was trying to get into chaotic zones with single oscillator feedback and it wasn’t really getting there, so I tried delaying the signal through a few sample-and-holds, and one thing led to another and I found this bit. It’s not really chaotic, I’m doing quite a bit of performing the patch here, but I like the depth of texture.</p> <p>0:06:14 / <a href="/audio/debris/2024-01-16T00.27-05.00.flac">flac</a> <small>(61M)</small> / <a href="/audio/debris/2024-01-16T00.27-05.00.mp3">mp3</a> <small>(2.9M)</small></p> <p>Patch:</p> <ul> <li>Main oscillator running at low frequencies is multed through two different wave folders and mixed back in with its sine output (some phase inversion)</li> <li>We hear that mix</li> <li>That mix is sent through three sample/holds clocked at audio rates <ul> <li>Two of which have slight slew before them acting as further delay (and some filtering)</li> </ul></li> <li>The delayed signal is fed back to the main oscillator’s FM and wave fold controls</li> </ul> 2023-11-21 https://daveriedstra.com/debris.html#2023-11-21 2023-11-21T00:00:00+00:00 2023-11-21T00:00:00+00:00 <p>Morning feedback &amp; drone session on modular and <a href="/sympath">Sympath</a>. Miked. Featuring kitchen appliance noise floor.</p> <p>Feedback path: Sympath bridge piezo ➡ compressor ➡ very short delay ➡ resonant bandpass filter ➡ Sympath floating transducer</p> <p>Bandpass filter frequency and delay time roam via different LFOs, some manual playing of overall delay time and feedback throughout. Two oscillators, tuned to different strings of the Sympath, are manually mixed into the bandpass filter, first a saw-square mix then a slightly waveshaped triangle. Mix of square-saw is fiddled with before it’s taken out of the bandpass mix, leaving a filter sweeping over the mixed harmonic of the folded triangle and the Sympath.</p> <p>0:04:59 / <a href="/audio/debris/2023-11-21T09.18-05.00.flac">flac</a> <small>(25M)</small> / <a href="/audio/debris/2023-11-21T09.18-05.00.mp3">mp3</a> <small>(2.3M)</small></p> 2023-10-26 https://daveriedstra.com/debris.html#2023-10-26 2023-10-26T00:00:00+00:00 2023-10-26T00:00:00+00:00 <p>Another session with the modular and the Sympath, just exploring the feedback aspect of yesterday’s patch. The recording is an SM57 mic and the piezo output of the Sympath. (Not sure where all the digital grit in the piezo track came from…)</p> <p>0:06:05 / <a href="/audio/debris/2023-10-26T10.54-04.00.flac">flac</a> <small>31M</small> / <a href="/audio/debris/2023-10-26T10.54-04.00.mp3">mp3</a> <small>2.8M</small></p> <p><a href="/img/sympath-sm57-20231026-2000.jpg"><img src="/img/sympath-sm57-20231026-200.jpg" title="The Sympath with an SM57 microphone perched on it" alt="The Sympath with an SM57 microphone perched on it"/></a></p> 2023-10-25 https://daveriedstra.com/debris.html#2023-10-25 2023-10-25T00:00:00+00:00 2023-10-25T00:00:00+00:00 <p>Getting back into the groove of things with the modular and the current <a href="/sympath">Sympath</a> prototype. The squeaks and chirps are two oscillators through wavefolders cross-modulating a few parameters. The Sympath is doing a feedback thing with only a filter and a short delay in the loop, which are being modulated by one of the other section’s oscillators.</p> <p>It was really nice to listen to this through the Sympath as an “acoustic” sound of the synth while patching &amp; playing it. The recording mixes the line out from the chirps+squeals voice with the piezo output from the Sympath for the feedback voice.</p> <p>0:05:22 / <a href="/audio/debris/2023-10-25T19.27-04.00.flac">flac</a> <small>26M</small> / <a href="/audio/debris/2023-10-25T19.27-04.00.mp3">mp3</a> <small>2.5M</small></p> 2023-08-23 https://daveriedstra.com/debris.html#2023-08-23 2023-08-23T00:00:00+00:00 2023-08-23T00:00:00+00:00 <p>Bit of a drone thing. Four oscillators with different waveshaping harmonically droning in different ambisonic spatializations. Slow upper partial beatings happening. Who needs reverb?</p> <p>0:08:15 / <a href="/audio/debris/2023-08-23T00.08-04.00.flac">flac</a> <small>70M</small> / <a href="/audio/debris/2023-08-23T00.08-04.00.mp3">mp3</a> <small>7.6M</small></p> 2023-08-21 https://daveriedstra.com/debris.html#2023-08-21 2023-08-21T00:00:00+00:00 2023-08-21T00:00:00+00:00 <p>Two pairs. Oscillators slowly modulating and folding each other. Tangled delay effects (short and long) add a bit of resonance.</p> <p>0:01:35 / <a href="/audio/debris/2023-08-21T18.12-04.00.flac">flac</a> <small>15M</small> / <a href="/audio/debris/2023-08-21T18.12-04.00.mp3">mp3</a> <small>1.5M</small></p> 2023-08-10 https://daveriedstra.com/debris.html#2023-08-10 2023-08-10T00:00:00+00:00 2023-08-10T00:00:00+00:00 <p>Last hurrah with the quad filter. Some self-patching with a software dual feedback ASR in the mix. Sounds a bit like a field recording of a single chime hanging in a tube in a wind storm.</p> <p>0:08:11 / <a href="/audio/debris/2023-08-10T21.45-04.00.flac">flac</a> <small>30M</small> / <a href="/audio/debris/2023-08-10T21.45-04.00.mp3">mp3</a> <small>3.8M</small></p> 2023-06-21 https://daveriedstra.com/debris.html#2023-06-21 2023-06-21T00:00:00+00:00 2023-06-21T00:00:00+00:00 <p>Percussive electronic sounds on Haptic Box.</p> <p>The core of this is an LFO through two wave folders that then modulates the first fold level. Two other LFOs and I modulate various points along the way, but the core LFO gives the whole thing some periodicity.</p> <p>0:06:04 / <a href="/audio/debris/2023-06-21T17.55-04.00.flac">flac</a> <small>(53M)</small> / <a href="/audio/debris/2023-06-21T17.55-04.00.mp3">mp3</a> <small>(5.6M)</small></p> 2023-05-19 https://daveriedstra.com/debris.html#2023-05-19 2023-05-19T00:00:00+00:00 2023-05-19T00:00:00+00:00 <p>Filtered &amp; modulated feedback on Haptic Box, ft. various points of clipping.</p> <p>Delays, ring modulation, compression in the feedback path are all good things.</p> <p>0:08:39 / <a href="audio/debris/2023-05-19T20.07-04.00.flac">flac</a> <small>(81M)</small> / <a href="audio/debris/2023-05-19T20.07-04.00.mp3">mp3</a> <small>(8.0M)</small></p> 2023-05-18 https://daveriedstra.com/debris.html#2023-05-18 2023-05-18T00:00:00+00:00 2023-05-18T00:00:00+00:00 <p>Grungy low drone drenched in reverb.</p> <p>0:05:17 / <a href="audio/debris/2023-05-18T15.41-04.00.flac">flac</a> <small>(42M)</small> / <a href="audio/debris/2023-05-18T15.41-04.00.mp3">mp3</a> <small>(4.9M)</small></p> 2023-04-24 https://daveriedstra.com/debris.html#2023-04-24 2023-04-24T00:00:00+00:00 2023-04-24T00:00:00+00:00 <p>Thirty-ish Hz kick pushing a wavefolder and then a tape saturation emulator, accompanied by clicks &amp; hiss. Monday morning mood.</p> <p>0:06:00 / <a href="./audio/debris/2023-04-24T11.53-04.00.flac">flac</a> <small>(49M)</small> / <a href="./audio/debris/2023-04-24T11.53-04.00.mp3">mp3</a> <small>(5.6M)</small></p> 2023-04-17 https://daveriedstra.com/debris.html#2023-04-17 2023-04-17T00:00:00+00:00 2023-04-17T00:00:00+00:00 <p>Similar concept to the last post but implemented on the modular synth and with modular synth sounds. Basically a big kick (plucked filter through a wavefolder / saturator) and sparkling high clicks &amp; pops (gates through high, slightly resonant bandpass filters).</p> <p>Less emergent shifting somehow. I tweaked the intersection window for the kick drum midway through.</p> <p>0:03:38 / <a href="./audio/debris/2023-04-17T19.48-04.00.flac">flac</a> <small>(34M)</small> / <a href="./audio/debris/2023-04-17T19.48-04.00.mp3">mp3</a> <small>(3.4M)</small></p> 2023-04-15 https://daveriedstra.com/debris.html#2023-04-15 2023-04-15T00:00:00+00:00 2023-04-15T00:00:00+00:00 <p>Experimenting with a complex oscillator idea for control flow. Lots of room for exploration here.</p> <p>0:06:48 / <a href="/audio/debris/2023-04-15T15.16-04.00.flac">flac</a> <small>(68M)</small> / <a href="/audio/debris/2023-04-15T15.16-04.00.mp3">mp3</a> <small>(6.3M)</small></p> <p>Three triangle LFOs at the same rate and with offset phase are the core of this patch. Each oscillator is FMed by the other two. Triggers for 808 sounds are sent when the mean of the group passes through different points.</p> <p>The group starts with a small range which eventually grows wider. After some time the LFOs fall into roughly the same phase before getting really spaced out and ultimately stalling.</p> <p>The pitches for the ping sounds are taken from the value of the first LFO, mapped to harmonics of 432 Hz. It takes a few cycles to enter because its intersection is just outside the initial range of the mean, which eventually grows and starts crossing it.</p> <p>Here’s the code for the control structure part:</p> <pre class="sclang"><code>( x = { arg rate = 1, rate_fm = 1, kick_xing = 0, hh_xing = 0.2, snare_xing = 0.3, ping_xing = 0.32; var n_lfos = 3, lfos, fm_bus, kick_trigs, hh_trigs, snare_trigs, ping_trigs, sig; // generate LFOs with cross modulation: each LFO is FM&#39;d by all the others fm_bus = LocalIn.kr(n_lfos); lfos = n_lfos.collect({|i| var fm = fm_bus.select({ |item, j| j != i}); fm = fm.mean * rate_fm; LFTri.kr(rate + fm, iphase: pi * i / n_lfos) }); LocalOut.kr(lfos); // send trigs back to client // KICK kick_trigs = InRange.kr(lfos.mean, -0.01 + kick_xing, 0.01 + kick_xing); kick_trigs = Trig.kr(kick_trigs); SendReply.kr(kick_trigs, &#34;/kick&#34;, lfos); // HH hh_trigs = InRange.kr(lfos.mean, -0.01 + hh_xing, 0.01 + hh_xing); hh_trigs = Trig.kr(hh_trigs); SendReply.kr(hh_trigs, &#34;/hh&#34;, lfos); // SNARE snare_trigs = InRange.kr(lfos.mean, -0.01 + snare_xing, 0.01 + snare_xing); snare_trigs = Trig.kr(snare_trigs); SendReply.kr(snare_trigs, &#34;/snare&#34;, lfos); // PING ping_trigs = InRange.kr(lfos.mean, -0.01 + ping_xing, 0.01 + ping_xing); ping_trigs = Trig.kr(ping_trigs); SendReply.kr(ping_trigs, &#34;/ping&#34;, lfos); }.play; )</code></pre> 2023-02-25 https://daveriedstra.com/debris.html#2023-02-25 2023-02-25T00:00:00+00:00 2023-02-25T00:00:00+00:00 <p>Stumbled on this today. Soft low drone-pad-tone-thing with mostly quiet glitches and squeals. (Some high frequency content.)</p> <p>The patch for this is relatively simple: there is a feedback loop with <a href="/works/haptic-box">Haptic Box</a> and a delay pedal with some analog synths mixed in. One of these is responsible for some of the low frequency in the pad (the rest of which is feedback), the other is the source of the glitches &amp; squeals. These are filtered wavefolder feedback which I’m performing with <a href="/code/inscribe">inscribe</a>.</p> <!-- 0:07:35 / [flac](/audio/debris/2023-02-25T12.52-05.00.flac) <small>(58M)</small> / [mp3](/audio/debris/2023-02-25T12.52-05.00.mp3) <small>(7.0M)</small> --> <p>0:07:35 / <a href="/audio/debris/2023-02-25T13.03-05.00.flac">flac</a> <small>(59M)</small> / <a href="/audio/debris/2023-02-25T13.03-05.00.mp3">mp3</a> <small>(7.0M)</small></p> 2023-02-08 https://daveriedstra.com/debris.html#2023-02-08 2023-02-08T00:00:00+00:00 2023-02-08T00:00:00+00:00 <p>Here’s a quiet, slow-paced session on the modular and feedback box.</p> <p>0:12:48 / <a href="/audio/debris/2023-02-08T19.28-05.00.flac">flac</a> <small>(40M)</small> / <a href="/audio/debris/2023-02-08T19.28-05.00.mp3">mp3</a> <small>(5.9M)</small></p> 2023-02-06 https://daveriedstra.com/debris.html#2023-02-06 2023-02-06T00:00:00+00:00 2023-02-06T00:00:00+00:00 <p>Been a bit. Getting eaten alive by writing up when I just want to make sound. Here’s a bit of drone.</p> <h3 id="patch-notes">patch notes</h3> <ul> <li>mother 32 → bass big muff pi → carbon copy</li> <li>mix of saw and square into filter</li> <li>oscillator core FMed by noise</li> <li>low-pass cutoff around noon (750ish hz?), FMed by LFO (audio rate), resonance around 33%</li> <li>muff tone @ 0%, sustain @ 25%</li> </ul> <p>0:02:34 / <a href="/audio/debris/2023-02-06T19.49-05.00.flac">flac</a> <small>(11M)</small> / <a href="/audio/debris/2023-02-06T19.49-05.00.mp3">mp3</a> <small>(1.2M)</small></p> 2022-12-22 https://daveriedstra.com/debris.html#2022-12-22 2022-12-22T00:00:00+00:00 2022-12-22T00:00:00+00:00 <p>Distorted pulsing drone thing. Meant to just turn on a drone to practice to, this happened instead. (Still fun to play to.)</p> <p>0:04:57 / <a href="/audio/debris/2022-12-22T12.31-05.00.flac">flac</a> <small>(51M)</small> / <a href="/audio/debris/2022-12-22T12.31-05.00.mp3">mp3</a> <small>(4.6M)</small></p> 2022-12-02 https://daveriedstra.com/debris.html#2022-12-02 2022-12-02T00:00:00+00:00 2022-12-02T00:00:00+00:00 <p>Muted-feeling jabs with dirt. Pleasing level of dynamism.</p> <p>Tried to get as far as I could with only a few modules, in the end all of the movement comes from one module. This is a dual envelope generator with a few extra utilities (slew limiter, clock divider, 4-quadrant VCA, OR comparator between the envelopes) and some nice controls (volt-per-octave inputs in addition to rise &amp; fall times, also control over shape and attenuverters on some outputs).</p> <p>(If you’re not into analog synth: volt-per-octave is a standard for pitch control which specifies a logarithmic interpretation of the incoming value, and a range of one octave for each volt. For example, if you send an oscillator’s volt-per-octave input a straight slope from zero to one volt, you would hear a smooth glissando over one octave. This is particularly handy on envelope generators because it means they can double as oscillators.)</p> <p>The patch is:</p> <ul> <li>Both envelopes cycling at control rate</li> <li>Both envelopes scaled outputs to the other’s volt-per-octave inputs</li> <li>Lower envelope end-of-rise gate output through the clock divider through the slew limiter to top envelope’s rise input</li> <li>OR output out to a wavefolder then back to the lower envelope’s fall input</li> <li>Listen to the wavefolder output</li> </ul> <p>There’s also a delay with some filtering on it.</p> <p>0:05:55 / <a href="/audio/debris/2022-12-02T22.08.flac">flac</a> <small>(44M)</small> / <a href="/audio/debris/2022-12-02T22.08.mp3">mp3</a> <small>(5.5M)</small></p> 2022-11-26 https://daveriedstra.com/debris.html#2022-11-26 2022-11-26T00:00:00+00:00 2022-11-26T00:00:00+00:00 <p>Another revision of that granular ring modulated feedback patch. This time with the envelope-following limiter and more careful fader surfing. Still some clipping but nowhere near as dirty as yesterday’s.</p> <p>Yesterday’s fixes in grains~ are now <a href="https://gitlab.com/daveriedstra/grains">live</a>.</p> <p>0:05:15 / <a href="/audio/debris/2022-11-26T21.21.flac">flac</a> <small>(44M)</small> / <a href="/audio/debris/2022-11-26T21.21.mp3">mp3</a> <small>(4.9M)</small></p> 2022-11-26 https://daveriedstra.com/debris.html#2022-11-26 2022-11-26T00:00:00+00:00 2022-11-26T00:00:00+00:00 <p>A modification of yesterday’s patch after chasing out some gremlins (and possibly finding some other ones). This one uses three modulation tones (yesterday’s 40 Hz plus 400 and 1200 Hz) which I manually mix in &amp; out. Also some tweaking of other parameters like grain rate, position / pan / size variation, and pre-ring-mod feedback. Somehow it ended up much noisier 🤷</p> <p>The gremlins in <code>grains~</code> were hiding in two spots: first, the per-grain DSP toggle was turning off too early and truncating some grains. A fix for this will go live tomorrow. Second, I was reading over the loop-around point in the circular buffer. <code>grains~</code> can protect against this when using a static buffer, but to use a live one (as in a delay), the delay value is sent to the <code>circ-buff~</code> object, which means it’s on the user to account for all possible values which might push a grain over the edge. (In my case, delay, position variation, grain size, grain size variation.) I’m going to make a note about this in the README (also tomorrow). It’s a lot for a user to think about and it would be nice to hide away, but to do that <code>grains~</code> would need to include the buffer, which means a pretty substantial modification. I might rather do this in an eventual Rust rewrite – that’s for another day / month / year.</p> <p>0:05:15 / <a href="/audio/debris/2022-11-25T23.59.flac">flac</a> <small>(68M)</small> / <a href="/audio/debris/2022-11-25T23.59.mp3">mp3</a> <small>(4.9M)</small></p> 2022-11-24 https://daveriedstra.com/debris.html#2022-11-24 2022-11-24T00:00:00+00:00 2022-11-24T00:00:00+00:00 <p>Tried the Jaap Vink ring mod feedback patch totally digital, with <a href="https://gitlab.com/daveriedstra/grains"><code>[grains~]</code></a> as the delay and <code>[round-clip~]</code> from <a href="https://gitlab.com/daveriedstra/dried-utils">dried-utils</a> as a limiter. Lots of crunchy noise and digital glitchiness. I think the gremlins from <a href="#2022-11-10">a few weeks back</a> really love feedback. (What I really think is happening is some performance improvements I made in <code>[grains~]</code> to turn off DSP in inactive voices cause glitches which get amplified by the patch. I’ll have to fix them eventually.)</p> <p>For the modulator signal I used a trick to get an analog-sounding sine wave by sending a (band-limited) triangle through tanh with a gain of 2-3x. tanh rounds out the corners to get it nearly to a sine with some of the triangle harmonics still coming through. (I think this might be similar to how analog triangle-core oscillators generate sine waves IRL, but I haven’t looked into it yet.)</p> <p>(First 10 sec are silent for no good reason.)</p> <p>0:04:35 / <a href="/audio/debris/2022-11-24T23.31.flac">flac</a> <small>(49M)</small> / <a href="/audio/debris/2022-11-24T23.31.mp3">mp3</a> <small>(4.2M)</small></p> 2022-11-23 https://daveriedstra.com/debris.html#2022-11-23 2022-11-23T00:00:00+00:00 2022-11-23T00:00:00+00:00 <p>Quiet and sometimes less quiet feedback in regular, ragged-edge swells. Sporadic clicks. Noise floor.</p> <p>Similar patch with different modulation and a new feedback path through a delay and a (different) filter. The ring mod modulator tone is folded a bit but steady, no modulation on the folder.</p> <p>0:07:32 / <a href="/audio/debris/2022-11-23T22.48.flac">flac</a> <small>(86M)</small> / <a href="/audio/debris/2022-11-23T22.48.mp3">mp3</a> <small>(6.9M)</small></p> 2022-11-16 https://daveriedstra.com/debris.html#2022-11-16 2022-11-16T00:00:00+00:00 2022-11-16T00:00:00+00:00 <p>More heavily modulated feedback.</p> <p>Similar feedback patch at its core, except the ring modulator affects the pre-filter signal. There are also some LFOs animating things: the wave folder offers two different timbral outputs, each have a different LFO bringing them up in a mix that goes to the ring modulator; a sine tone modulates the fold level of the signal modulating the ring modulator, and an LFO brings it up or down as well.</p> <p>0:04:25 / <a href="/audio/debris/2022-11-16T22.38.flac">flac</a> <small>(49M)</small> / <a href="/audio/debris/2022-11-16T22.38.mp3">mp3</a> <small>(4.1M)</small></p> 2022-11-15 https://daveriedstra.com/debris.html#2022-11-15 2022-11-15T00:00:00+00:00 2022-11-15T00:00:00+00:00 <p>More drone feedback with more folded ring modulation and more noise floor / noise on the floor. After wrapping up yesterday’s session I noticed I could shift between the resonating harmonics in the feedback by manipulating the spectrum with the fold level of the ring modulator modulator signal. Worked some more with that today.</p> <p>0:09:49 /<!-- [flac](/audio/debris/2022-11-15T22.36.flac) <small>(107M)</small> /--> <a href="/audio/debris/2022-11-15T22.36.mp3">mp3</a> <small>(9.0M)</small></p> 2022-11-14 https://daveriedstra.com/debris.html#2022-11-14 2022-11-14T00:00:00+00:00 2022-11-14T00:00:00+00:00 <p>More sustained midrange feedback on the Haptic Box. No scanning this time, working on exploring just these nodes as well as ring modulation with them. Today’s fun trick is wavefolding the modulator signal for the ring mod.</p> <p>(Lots of noise floor from the mic on this one. I don’t want to be super picky about things like that, but boy do I not like it.)</p> <p>0:05:17 / <a href="/audio/debris/2022-11-14T22.49.flac">flac</a> <small>(29M)</small> / <a href="/audio/debris/2022-11-14T22.49.mp3">mp3</a> <small>(4.9M)</small></p> 2022-11-13 https://daveriedstra.com/debris.html#2022-11-13 2022-11-13T00:00:00+00:00 2022-11-13T00:00:00+00:00 <p>Long feedback tones in the midrange of the Haptic Box. Mostly just dialling in filter frequencies, but there’s some ring mod in there too, which sounds great. There’s also some clipping / buzzing (not sure which).</p> <p>0:03:49 / <a href="/audio/debris/2022-11-13T19.34.flac">flac</a> <small>(30M)</small> / <a href="/audio/debris/2022-11-13T19.34.mp3">mp3</a> <small>(3.5M)</small></p> 2022-11-11 https://daveriedstra.com/debris.html#2022-11-11 2022-11-11T00:00:00+00:00 2022-11-11T00:00:00+00:00 <p>More drone. A similar sound and granular delayed signal. I built an interface around yesterday’s patch and fiddled with the feedback. Ended up getting some reverb-like sounds, which I’m happy about because I don’t know a thing about reverb algorithms.</p> <p>0:06:05 / <a href="/audio/debris/2022-11-11T22.39.flac">flac</a> <small>(52M)</small> / <a href="/audio/debris/2022-11-11T22.39.mp3">mp3</a> <small>(5.6M)</small></p> 2022-11-10 https://daveriedstra.com/debris.html#2022-11-10 2022-11-10T00:00:00+00:00 2022-11-10T00:00:00+00:00 <p>A drone bit. A ring modulated sound is mixed with its granular delayed signal. Grain overlap slowly increases over 2 minutes, little digital gremlins hang out, then grain overlap decreases over 2 minutes. Lots of fun pulses in the low end.</p> <p>Granular delay done by <a href="/code/grains"><code>grains~</code></a>. I made some performance gains in <code>grains~</code>’s core a few weeks ago, and just tonight I discovered I could eke out more performance by manually clocking <code>grains~</code> and also <code>circ-buff~</code>.</p> <p>0:06:02 / <a href="/audio/debris/2022-11-10T22.54.flac">flac</a> <small>(46M)</small> / <a href="/audio/debris/2022-11-10T22.54.mp3">mp3</a> <small>(5.6M)</small></p> 2022-11-09 https://daveriedstra.com/debris.html#2022-11-09 2022-11-09T00:00:00+00:00 2022-11-09T00:00:00+00:00 <p>A more standard version of the Jaap Vink patch. I’d never got it to bloom the way I’ve heard it in recordings until tonight, so I’m pretty happy about that. I think it needs more gain than I was giving it, and the active limiter (that is, using an envelope follower inverted and applied to the gain, rather than something that just saturates like I used yesterday) probably contributes to the slow changes.</p> <p>Here the same guitar pedal is used, passed through a tanh saturator for gain, through a wavefolder (not modulated) for a bit of noise, ring modulated against a steady sine, passed through a filter acting like a low-pass gate, then back / out.</p> <p>0:08:00 / <a href="/audio/debris/2022-11-09T23.42.flac">flac</a> <small>(45M)</small> / <a href="/audio/debris/2022-11-09T23.42.mp3">mp3</a> <small>(3.7M)</small></p> 2022-11-08 https://daveriedstra.com/debris.html#2022-11-08 2022-11-08T00:00:00+00:00 2022-11-08T00:00:00+00:00 <p>A tweaked Jaap Vink patch. The <a href="https://youtu.be/watch?v=X_Bcr_HS9XM">original</a> is more or less a feedback loop through a tape delay, ring modulator, and ad hoc limiter. Here I use a wavefolder instead of a ring modulator, modulating both the fold level and the “shape” input. <code>tanh</code> clipping takes the place of the limiter, and an analog delay guitar pedal takes the place of the tape delay. I also feed back the output of the wavefolder to the FM of the modulating oscillator, and pass the whole thing through a completely open low-pass filter to trim some of the ultra-highs.</p> <p>The result is nothing like the smooth reverb sounds of the Vink patch but quite tasty in a different way. There’s a ton of crunchy noise with a steady low fundamental and squirrelly rhythms in the noisy midrange and chirpy highs.</p> <p>3’ 26” / <a href="/audio/debris/2022-11-08.flac">flac</a> <small>(22M)</small> / <a href="/audio/debris/2022-11-08.mp3">mp3</a> <small>(7.9M)</small></p> 2022-11-07 https://daveriedstra.com/debris.html#2022-11-07 2022-11-07T00:00:00+00:00 2022-11-07T00:00:00+00:00 <p>Some quieter noise for you. Several feedback paths through a wavefolder moving through quiet clicks and crackles and noise floor.</p> <!-- Let's see... - Sine oscillator at low frequencies into the wave folder - Folder into ASR input A (same configuration as yesterday, though I corrected the zero crossing detection to actually detect at zero, not whatever value it had been using) - Folder into slightly resonant filter (what we hear) - Filter through slew limiter to ASR input B - ASR output A to freq input of sine oscillator - ASR output B to folder fold control - Folder to mix... - Folder through mysterious "LOCATION"<sup>\*</sup> function to mix... - Slow envelope from slew limiter (triggered whenever the previously mentioned slew limiter is higher than this envelope's output) to mix... - Folder through mysterious "CREASE" function to mix control... - ...mix to folder second input --> <p>5’ 15” / <a href="/audio/debris/2022-11-07.flac">flac</a> <small>(19M)</small> / <a href="/audio/debris/2022-11-07.mp3">mp3</a> <small>(4.9M)</small></p> <!-- <small><sup>\*</sup>I'm continuing my effort to talk about these functions in generic terms, even though they're pretty particular to the hardware. In this case, LOCATION moves toward the extreme in the direction of its input from its current position and its speed is based on the rate of change of the movement. CREASE transposes the negative and positive portions of its input into each other's domains (-1 to 0 becomes 0 to 1 and vice-versa).</small> --> 2022-11-06 https://daveriedstra.com/debris.html#2022-11-06 2022-11-06T00:00:00+00:00 2022-11-06T00:00:00+00:00 <p>More or less the same configuration as yesterday’s second recording, the main difference is that every 20 gates from the lower voice triggers a new random ASR feedback distribution.</p> <p>1’ 51” / <a href="/audio/debris/2022-11-06.flac">flac</a> <small>(7.4M)</small> / <a href="/audio/debris/2022-11-06.mp3">mp3</a> <small>(871K)</small></p> 2022-11-05 https://daveriedstra.com/debris.html#2022-11-05 2022-11-05T00:00:00+00:00 2022-11-05T00:00:00+00:00 <p>Two experiments following up on yesterday’s ASR adventures.</p> <p>The first is an attempt to hear the differences that the various feedback configurations make. I used a melodic hocket because I though it would be relatively easy to hear the deviations between the two voices. The lower voice stays a simple sample-and-hold throughout and the top voice is affected by the shift register, which is sampling an LFO. Both are quantized to a major scale mode. I moved through the same configurations as yesterday’s, increased the clocking tempo, then backwards through them. It’s clear when the shift register starts because the top voice no longer hockets at the octave, choosing instead different pitches, but again the difference between the different feedback amounts is ambiguous (and again I <em>do</em> think there are differences, but I’m not able to point to them exactly).</p> <p>2’ 54” / <a href="/audio/debris/2022-11-05-a.flac">flac</a> <small>(21M)</small> / <a href="/audio/debris/2022-11-05-a.mp3">mp3</a> <small>(2.7M)</small></p> <p>The second is more of a fun excursion. The code is changed so there are two ASRs. These are clocked by the zero-crossings of the opposite’s data input (when A’s data input moves from negative to positive, B processes a sample from its own input, and vice versa). Whenever they are clocked, a new “note” is played by a dedicated voice (A has its own voice, B has its own voice, which are incidentally quantized to a more interesting scale, some JI something or other). The data inputs are fed by two LFOs. The bottom’s frequency remains constant and the top’s is modulated by the bottom’s output and also by the bottom’s ASR output. (The bottom voice doesn’t sound rhythmically steady, I’m not sure why that is.) I moved through different feedback value configurations – I think they were more clearly different in this recording, but again I’m not sure how.</p> <p>4’ 45” / <a href="/audio/debris/2022-11-05-b.flac">flac</a> <small>(38M)</small> / <a href="/audio/debris/2022-11-05-b.mp3">mp3</a> <small>(4.4M)</small></p> 2022-11-04 https://daveriedstra.com/debris.html#2022-11-04 2022-11-04T00:00:00+00:00 2022-11-04T00:00:00+00:00 <p>A little experiment with a shift register and wave interference.</p> <p>The kick sound is an old trick that uses a wavefolder on a low oscillator as a VCA, so the sound loses harmonics as its amplitude envelope decreases. (Like a low-pass gate but with a different sound. Additional crunchiness from an analog delay pedal. Occasional transient clicks courtesy of my envelope generator.) The audio from the kick sound is the input for the shift register. The shift register is clocked by a comparison between the kick audio and another oscillator: when they cross, the register takes a new value from the input. The first output of the shift register feeds the frequency control of both oscillators.</p> <p>The fun part is that because the analog shift register is digital (analog as in not binary gates, digital as in code), its behaviour is very mutable. I’m specifically interested in how feedback affects the output of the register values. Feedback here meaning that values from the shift register are mixed in with the new value to become the shift register input. I’ve been imagining all kinds of cool structures of interfering matrices of shift registers, but I’m not sure how it actually plays out. Part of the experiments I want to do this #noisevember revolve around listening to these changes.</p> <p>This short recording moves through a few configurations of a 6-step register (even though only the first value is taken):</p> <ol type="1"> <li>No new values</li> <li>No feedback (effectively a sample &amp; hold)</li> <li>50% feedback from the final value</li> <li>“Memory fading” feedback (more recent values have more presence in the feedback than more distant ones, ranging from 0.3 to 0.01)</li> <li>Reverse “memory fading” (more distant values have more presence than more recent ones)</li> <li>Return to no new values</li> </ol> <p>It’s really difficult to hear <em>what</em> the differences are between the sample and hold and the feedback configurations, but it does seem like there are differences. More experimenting required.</p> <p>2’ 22” / <a href="/audio/debris/2022-11-04.flac">flac</a> <small>(11M)</small> / <a href="/audio/debris/2022-11-04.mp3">mp3</a> <small>(2.2M)</small></p> 2022-11-02 https://daveriedstra.com/debris.html#2022-11-02 2022-11-02T00:00:00+00:00 2022-11-02T00:00:00+00:00 <p>More box feedback meandering at a more even volume than yesterday’s. Also line out from the box, but somehow that 50Hz hum is gnarlier. Some pretty fun stereo effects.</p> <p>8’ 55” / <a href="/audio/debris/2022-11-02.flac">flac</a> <small>(68M)</small> / <a href="/audio/debris/2022-11-02.mp3">mp3</a> <small>(8.2M)</small></p> 2022-11-01 https://daveriedstra.com/debris.html#2022-11-01 2022-11-01T00:00:00+00:00 2022-11-01T00:00:00+00:00 <p>Feedback whistle duet on Haptic Box. (First minute is much quieter than what follows.)</p> <p>4’ 19” / <a href="/audio/debris/2022-11-01.flac">flac</a> <small>(35M)</small> / <a href="/audio/debris/2022-11-01.mp3">mp3</a> <small>(4.0M)</small></p> 2022-10-30 https://daveriedstra.com/debris.html#2022-10-30 2022-10-30T00:00:00+00:00 2022-10-30T00:00:00+00:00 <p>Shimmers from <a href="/works/haptic-box">Haptic Box</a>.</p> <p>1’ 41” / <a href="/audio/debris/qjackrcd-2022-10-30T00-49-44.flac">flac</a> <small>(3.0MB)</small> / <a href="/audio/debris/qjackrcd-2022-10-30T00-49-44.mp3">mp3</a> <small>(1.6MB)</small></p> 2022-10-26 https://daveriedstra.com/debris.html#2022-10-26 2022-10-26T00:00:00+00:00 2022-10-26T00:00:00+00:00 <p>It is still ochdtober, here are eight unsynched LFOs chewing their way through a wavefolder and some rectifiers.</p> <p>3’ 31” / <a href="/audio/debris/2022-10-26.flac">flac</a> <small>(17MB)</small> / <a href="/audio/debris/2022-10-26.mp3">mp3</a> <small>(1.7MB)</small></p> <p>Here’s another one, closer to the world I think I was first aiming for with this analog synth stuff, which I take as a good thing. It’s all performed, no feedback-self-modulating-generative nonsense. I didn’t wire up any controllers, and turning small knobs in a big nest of cables to get short chirpy sounds is not very intuitive, as it turns out. I think I’m going to keep this patch up and see how it interacts with my current controllers. <!-- I have a hunch that [inscribe](/code/inscribe) will work well for the chirps and [turns](/code/turns) for modulating the low tone. --></p> <p>7’ 00” / <a href="/audio/debris/2022-10-26_23.08.flac">flac</a> <small>(39MB)</small> / <a href="/audio/debris/2022-10-26_23.08.mp3">mp3</a> <small>(4MB)</small></p> 2022-10-04 https://daveriedstra.com/debris.html#2022-10-04 2022-10-04T00:00:00+00:00 2022-10-04T00:00:00+00:00 <p>Taps and tones on the <a href="/works/haptic-box">Haptic Box</a>.</p> <p><a href="/audio/debris/2022-10-04.flac">flac</a> <small>(21.51MB)</small> / <a href="/audio/debris/2022-10-04.mp3">mp3</a> <small>(2.11MB)</small></p> 2022-09-24 https://daveriedstra.com/debris.html#2022-09-24 2022-09-24T00:00:00+00:00 2022-09-24T00:00:00+00:00 <p>It is still Septimbre.</p> <p>This one is another feedback patch on my main system featuring more high pitched chirps. Most of this was changing the balance between three different routes through the feedback.</p> <pre><code>Wavefolder -&gt; quad filter -&gt; mix -&gt; delay -&gt; limiter -&gt; wavefolder -&gt; ring mod -&gt; mix Complex LFO nonsense modulates filter pitch, oscillator pitch, and pings wavefolder fold level</code></pre> <p><a href="/audio/debris/2022-09-24.flac">flac</a> <small>(76.76MB)</small> / <a href="/audio/debris/2022-09-24.mp3">mp3</a> <small>(7.32MB)</small></p> 2022-09-05 https://daveriedstra.com/debris.html#2022-09-05 2022-09-05T00:00:00+00:00 2022-09-05T00:00:00+00:00 <p>It is Septimbre.</p> <p>This is a feedback patch using a semi-modular monosynth and an analog delay pedal (and also using some analog clipping at the mixer as a dirty limiter). Part one: mix in the delayed signal with the oscillator before its filter and tweak levels a bit. Part two: add complex audio rate modulation to filter resonance and tweak levels a bit.</p> <p><a href="/audio/debris/qjackrcd-2022-09-05T11-08-24.flac">flac</a> <small>(33MB)</small> / <a href="/audio/debris/qjackrcd-2022-09-05T11-08-24.mp3">mp3</a> <small>(5.6MB)</small></p> 2022-08-27 https://daveriedstra.com/debris.html#2022-08-27 2022-08-27T00:00:00+00:00 2022-08-27T00:00:00+00:00 <p>I performed that last patch with composer <a href="https://miawindsor.com">Mia Windsor</a> on the 25th, you can watch it on <a href="https://www.youtube.com/watch?v=MHg8HYEKkJk">YouTube</a> (or <a href="https://www.yewtu.be/watch?v=MHg8HYEKkJk">YewTube</a> if that’s more your speed).</p> <p>The code I used to get the drawing tablet to talk to the modular synth is called <a href="/code/inscribe">inscribe</a> (<a href="https://gitlab.com/daveriedstra/inscribe">source</a>). I’ve made quite a few updates to it that aren’t yet released (and the naming will eventually change, so watch out). The live version of the script will simply spit out CV for X, Y, and pressure, and a gate for contact, but the new version decouples that data by calling the <a href="https://monome.org/docs/crow/reference/#public">public API</a> of <a href="https://monome.org/docs/crow/">monome crow</a> so parameters can be used arbitrarily in crow scripts. I used it with the zone math I mentioned <a href="/then.html#2022-08-09">a few weeks back</a>. I’ve also written a simpler, similar <a href="https://gitlab.com/-/snippets/2309716">script</a> to use any HID interface as a controller by converting its evdev events to OSC. I might merge these, but I’m not sure.</p> 2022-08-24 https://daveriedstra.com/debris.html#2022-08-24 2022-08-24T00:00:00+00:00 2022-08-24T00:00:00+00:00 <p>Short snippet of long droney sounds.</p> <p>Oscillator through different wavefolders (left and right), slowly modulated, then through two pairs of filters (left and right) whose resonance is occasionally boosted, then mixed with oscillator core before going out. One wavefolder is additionally rectified, passed through a relatively high bandpass filter, and back to the folder’s fold control for audio rate feedback (the squealy / chirpy sounds).</p> <p><a href="/audio/debris/qjackrcd-2022-08-24T10-38-31.flac">flac</a> <small>(30MB)</small> / <a href="/audio/debris/qjackrcd-2022-08-24T10-38-31.mp3">mp3</a> <small>(3.9MB)</small></p> 2022-08-20 https://daveriedstra.com/debris.html#2022-08-20 2022-08-20T00:00:00+00:00 2022-08-20T00:00:00+00:00 <p>Another one using more or less the same patch, also quite bright. Learning to love those sustained 10+ kHz whistles – hide your pets. Opens with some similar sounds from yesterday, chugging, full spectrum but quite bright, then eventually settles into something sparser / quieter with brain tickling chirps and some low growly interruptions. This quieter section basically played itself and I didn’t tweak too much, which I was really into. Finding those evolving, self-changing systems is part of the reason why my patches get so tangled.</p> <p><a href="/audio/debris/2022-08-20.flac">flac</a> <small>(69.45 MB)</small> / <a href="/audio/debris/2022-08-20.mp3">mp3</a> <small>(12.33 MB)</small></p> <h3 id="so-about-those-patch-notes">So about those patch notes…</h3> <p>I’ll try to explain it in generic terms, but there are some specifics that can’t be generalized. If you’d rather look at a diagram, <a href="/img/debris/2022-08-20-patch.png">here’s the drawing I came up with</a>.</p> <p>As mentioned in yesterday’s post, this thing centres on wavefolder feedback. At audio rates, wavefolders add harmonics to a sound, making it sound richer (and kind of buzzy). This sort of works like clipping, except instead of cutting off the top portion of the waveform, it’s mirrored down. Wavefolders add gain to push the incoming signal against this limit so that it’s folded back in on itself, adding the harmonic. When the folded signal reaches the opposite limit, it’s folded back. Wavefolders often have symmetry controls as well, which offset the incoming signal so that it folds more on one side than on the other.</p> <p>I discovered while making <a href="/zonder">zonder</a> that analog inputs that directly affect the sound can be treated like mix inputs, for example modulating the fold intensity of a wavefolder or the resonance of a filter with an audio-rate signal will result in that signal being present in the output signal. That means that these control inputs can be used in a feedback path. This discovery is important because the second wavefolder in my system is part of an oscillator, so the oscillator is the only thing going into its audio input. A feedback loop is completed by looping the audio back in through the oscillator-folder’s fold input (at least, I think that’s what’s going on).</p> <p>The basic feedback loop goes like this:</p> <ul> <li>The dedicated folder and the oscillator folder are mixed</li> <li>That mix goes to several destinations, in the main loop the important ones are: <ul> <li>A resonant filter with a high cutoff, the low-pass output of which then goes to the oscillator folder input. This filter’s band-pass is also one of the final audio output channels. More details on this in a bit.</li> <li>A stereo dual resonant filter with very low cutoff and medium to high resonance, the independent halves of which carry on to the dedicated folder’s fold and “shape” inputs.</li> </ul></li> </ul> <p>The folder-folder mix also goes to</p> <ul> <li>The oscillator’s frequency input (attenuated)</li> <li>The oscillator’s PWM control (attenuated) (really this output is more of a unique waveshaper with some PWM-like attributes)</li> <li>An envelope follower which then controls the mix</li> </ul> <p>Other smaller feedback loops:</p> <ul> <li>The second output of the dedicated folder goes to a half-wave rectifier (analog AND) and back to its input</li> <li>The oscillator’s “PWM” output goes to a half-wave rectifier (analog OR) and back to its exponential FM input</li> <li>The filter’s low-pass is AMed by the right channel of the stereo dual filter and back to its own FM input (which actually completes two feedback loops I think)</li> </ul> <p>Additionally:</p> <ul> <li>The oscillator’s pre-wavefolder sine goes to one of the dedicated folder’s inputs (which means both folders are chewing on the same source to an extent)</li> <li>The oscillator’s pre-“PWM” triangle goes (attenuated) to the stereo dual filter’s resonance input</li> </ul> <p>Now for that particularity I mentioned. The mixer, the half-wave rectifiers, and the envelope follower are all part of the same module, Cold Mac, which has an output that mixes together all of their inputs. That output is the other channel of audio in the recording. Another peculiarity of Cold Mac is its macro control, which in this case controls both baselines of the half-wave rectifiers.</p> <p>That’s the basis of the audio-rate rat’s nest. There is a small amount of modulation:</p> <ul> <li>Semi-random voltages are attenuated and modulate the oscillator’s frequency and Cold Mac’s macro control <ul> <li>These are generated from intersecting patterns of two cross-modulating LFOs so they’re not truly random, but I’m too tired to explain it right now</li> </ul></li> <li>An LFO is also attenuated and then summed into the Cold Mac macro</li> <li>The semi-random voltages are passed through a shift register with feedback, quantized to 10TET (not that it makes a difference), and send to the filter’s frequency control</li> </ul> <p>There’s a ton of area to explore in this patch. To perform it, I was mainly tweaking the controls of the dedicated wavefolder (fold, shape, and symmetry) as well as the Cold Mac macro. Changing the rates &amp; cross-modulating FM depth of the semi-random voltage generating LFOs had a good deal of influence on the overall rate of things as well. The resonance controls of the filters were fairly predictable performance controls as well.</p> <p><em>Whew.</em></p> 2022-08-19 https://daveriedstra.com/debris.html#2022-08-19 2022-08-19T00:00:00+00:00 2022-08-19T00:00:00+00:00 <p>So that album-shaped thing <em>zonder</em> is basically all wavefolder sounds. I got a new oscillator recently that both a) has a wavefolder baked in and b) goes into LFO rates, so I wanted to see if I could get it to do something similar. The trick is that it only has one dedicated input for the wavefolder intensity, and the rest has to be done by manipulating the oscillator core. Anyway, like always happens with these feedback patches, things got out of hand, and here’s the result. I might try to draw out the patch, I have a copy of a patch by Jason Lim of Instruo and it looks like a good method (better than <a href="/then.html#2022-08-12">writing a play about it</a>). If I do, I’ll update this post with a link or something.</p> <p>Fair warning: it’s noisy and quite bright. If you’re not into high frequencies and kzzht crhsshhht hshhh, this might not be the one for you. There will be others, I don’t exclusively do this noisy stuff!</p> <p><a href="/audio/debris/2022-08-19.flac">flac</a> <small>(72.6 MB)</small> / <a href="/audio/debris/2022-08-19.mp3">mp3</a> <small>(11.8 MB)</small></p> 2022-08-14 https://daveriedstra.com/debris.html#2022-08-14 2022-08-14T00:00:00+00:00 2022-08-14T00:00:00+00:00 <p>I just posted an album-shaped sequence of audio recordings <a href="/zonder-te-veel-te-denken.html">here</a>, which is useful if you like listening to albums. I might write more about it soon, but it’s very much in the spirit of this page.</p> 2022-07-28 https://daveriedstra.com/debris.html#2022-07-28 2022-07-28T00:00:00+00:00 2022-07-28T00:00:00+00:00 <p>Two versions of the same multi-layered feedback patch.</p> <ul> <li>Shorter: <a href="/audio/debris/qjackrcd-2022-07-28T21-53-06.wav">wav</a> / <a href="/audio/debris/qjackrcd-2022-07-28T21-53-06.wav.mp3">mp3</a></li> <li>Longer: <a href="/audio/debris/qjackrcd-2022-07-28T22-25-44.wav">wav</a> / <a href="/audio/debris/qjackrcd-2022-07-28T22-25-44.wav.mp3">mp3</a></li> </ul>