<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Artistic Technology and Development on Mads Kjeldgaard — Composer and Sound Artist</title><link>https://madskjeldgaard.dk/tech/</link><description>Recent content in Artistic Technology and Development on Mads Kjeldgaard — Composer and Sound Artist</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 31 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://madskjeldgaard.dk/tech/index.xml" rel="self" type="application/rss+xml"/><item><title>SuperCollider DSP plugins and language extensions</title><link>https://madskjeldgaard.dk/tech/sc-extensions-and-plugins/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/sc-extensions-and-plugins/</guid><description>&lt;h1 id="audio-plugins"&gt;Audio plugins&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/madskjeldgaard/feedbackdelay-sc"&gt;Feedback Delay SC&lt;/a&gt;: A collection of delay-related plugins for SuperCollider&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madskjeldgaard/guttersynth-sc"&gt;Gutter Synth SC&lt;/a&gt;: Chaotic physical modelling in SuperCollider (Developed with &lt;a href="https://github.com/scztt"&gt;scott carver&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madskjeldgaard/portedplugins"&gt;Ported Plugins&lt;/a&gt;: A collection of plugins for the SuperCollider sound environment, all of which are ported / remixed from elsewhere&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="language-extensions"&gt;Language Extensions&lt;/h1&gt;
&lt;p&gt;Find more extensions &lt;a href="https://github.com/madskjeldgaard/"&gt;on my Github&lt;/a&gt; and &lt;a href="http://codeberg.org/madskjeldgaard"&gt;on my Codeberg&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://codeberg.org/madskjeldgaard/monolithic"&gt;Monolithic&lt;/a&gt;: Mads Kjeldgaard&amp;rsquo;s extension of the SuperCollider audio programming environment.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madskjeldgaard/PolyBuf"&gt;PolyBuf&lt;/a&gt;: Easily load and access a bunch of audio files into collections of buffers in SuperCollider.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/madskjeldgaard/HarmonicToolkitSC"&gt;HarmonicToolkitSC&lt;/a&gt;: Chords, arpeggios and harmony hacking in SuperCollider 👹.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Tiny Analog Motor Controller</title><link>https://madskjeldgaard.dk/tech/tiny-analog-motor-controller/</link><pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/tiny-analog-motor-controller/</guid><description>&lt;p&gt;&lt;a href="https://ko-fi.com/X8X6RXV10"&gt;&lt;img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="ko-fi"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;&lt;img src="https://img.shields.io/badge/License-CC_BY--NC--SA_4.0-lightgrey.svg" alt="License: CC BY-NC-SA 4.0"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Designed by &lt;a href="https://madskjeldgaard.dk"&gt;Mads Kjeldgaard&lt;/a&gt; for &lt;a href="https://hyaline.systems"&gt;hyaline.systems&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Easy to use: Just connect power at one end, a motor at the other end.&lt;/li&gt;
&lt;li&gt;Power: 5-12V DC&lt;/li&gt;
&lt;li&gt;Control speed using a potentiometer.&lt;/li&gt;
&lt;li&gt;Hackable: Pins broken out to allow daisy chaining boards, or connecting circuitry in between the PWM signal and the motor gate (eg a button, an LDR or whatever).&lt;/li&gt;
&lt;li&gt;Based on a 555 timer chip in astable mode.&lt;/li&gt;
&lt;li&gt;4 x M3 mounting holes&lt;/li&gt;
&lt;li&gt;Completely &lt;a href="https://codeberg.org/hyaline-systems/Tiny-Analog-Motor-Controller"&gt;open source&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Tiny (about the size of a matchbox)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="videos"&gt;Videos&lt;/h2&gt;
&lt;div class="video-responsive"&gt;
&lt;iframe src="https://www.youtube.com/embed/8T458q-4F3A?modestbranding=1&amp;rel=0&amp;iv_load_policy=3" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen &gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;div class="video-responsive"&gt;
&lt;iframe src="https://www.youtube.com/embed/vgZMr6bK9-s?modestbranding=1&amp;rel=0&amp;iv_load_policy=3" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen &gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;div class="video-responsive"&gt;
&lt;iframe src="https://www.youtube.com/embed/2x3-BIKj-YE?modestbranding=1&amp;rel=0&amp;iv_load_policy=3" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen &gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h2 id="datasheets"&gt;Datasheets&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;555 chip: &lt;a href="https://www.ti.com/lit/ds/symlink/lmc555.pdf"&gt;LMC555&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Motor mosfet: &lt;a href="https://eu.mouser.com/datasheet/2/196/Infineon_IRFS3806_DataSheet_v01_01_EN-3363385.pdf"&gt;Infineon IRFS3806TRLPBF&lt;/a&gt; (but any similar mosfet will do the job).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="credits"&gt;Credits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Thanks &lt;a href="https://pcbway.com/"&gt;PCBWay&lt;/a&gt; for sponsoring the PCB&amp;rsquo;s for this project during prototyping.&lt;/li&gt;
&lt;li&gt;Thanks Thom, Niklas, Eirik, Fredrik and others for inspiration.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Pico Programmable Audio Board</title><link>https://madskjeldgaard.dk/tech/pico-programmable-audio-board/</link><pubDate>Sun, 23 Mar 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/pico-programmable-audio-board/</guid><description>&lt;p&gt;&lt;a href="https://ko-fi.com/X8X6RXV10"&gt;&lt;img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="ko-fi"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;&lt;img src="https://img.shields.io/badge/License-CC_BY--NC--SA_4.0-lightgrey.svg" alt="License: CC BY-NC-SA 4.0"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A development board for working with audio, SD cards, hardware midi and sensors on the Raspberry Pi Pico.&lt;/p&gt;
&lt;p&gt;Use this board to create interactive art projects, synthesizers, audio file players, props, USB audio interfaces, you name it.&lt;/p&gt;
&lt;p&gt;Designed by &lt;a href="https://madskjeldgaard.dk"&gt;Mads Kjeldgaard&lt;/a&gt; for &lt;a href="https://hyaline.systems"&gt;hyaline.systems&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;High quality i2s stereo output DAC with 3.5mm line out jack: &lt;a href="https://www.ti.com/product/PCM5102A"&gt;PCM5102A DAC&lt;/a&gt; – this DAC is widely compatible with all platforms and SDK&amp;rsquo;s, including Arduino and C.&lt;/li&gt;
&lt;li&gt;SD card reader&lt;/li&gt;
&lt;li&gt;NeoPixel&lt;/li&gt;
&lt;li&gt;Hardware MIDI in and out.&lt;/li&gt;
&lt;li&gt;Compatible with all Pico-compatible boards, including Pico 1, PicoW and Pico 2.&lt;/li&gt;
&lt;li&gt;StemmaQT connector for easy i2c expansion.&lt;/li&gt;
&lt;li&gt;Power: Use external power (5V) or power from USB on Pico. Circuit will automatically switch between these two sources, depending on what&amp;rsquo;s available. Includes reverse polarity protection on power input.&lt;/li&gt;
&lt;li&gt;Optional: Hardware mute button may be connected directly to DAC.&lt;/li&gt;
&lt;li&gt;All remaining pins broken out with lots of ground and power pins to make external connections easy&lt;/li&gt;
&lt;li&gt;Reset button connected to RUN on the Pico to make it easy to restart the Pico.&lt;/li&gt;
&lt;li&gt;Self-documenting board: All pins and connections are written on the board itself.&lt;/li&gt;
&lt;li&gt;4 x M3 mounting holes&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Hyaline Motor Controller XL i2c</title><link>https://madskjeldgaard.dk/tech/hyaline-motor-controller-xl-i2c/</link><pubDate>Sun, 09 Mar 2025 17:45:42 +0100</pubDate><guid>https://madskjeldgaard.dk/tech/hyaline-motor-controller-xl-i2c/</guid><description>&lt;p&gt;&lt;a href="https://ko-fi.com/X8X6RXV10"&gt;&lt;img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="ko-fi"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;&lt;img src="https://img.shields.io/badge/License-CC_BY--NC--SA_4.0-lightgrey.svg" alt="License: CC BY-NC-SA 4.0"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A board for Raspberry Pi Pico compatible boards, designed for controlling motors.&lt;/p&gt;
&lt;p&gt;It can be used with pretty much any Pico-like board. It uses an i2c-based interface for controlling the motors, which frees up a lot of gpio for other things – at the expense of a limited PWM frequency of 1.6khz maximum (which can cause audible high frequency noise in some motors).&lt;/p&gt;
&lt;p&gt;The board is completely decked out with a bunch of features to make it easy to hack and use it as the &amp;ldquo;brain&amp;rdquo; of a motorized project of any kind.&lt;/p&gt;</description></item><item><title>Teensy Haptic Audio Player</title><link>https://madskjeldgaard.dk/tech/teensy-haptic-audio-player/</link><pubDate>Thu, 06 Mar 2025 16:12:21 +0100</pubDate><guid>https://madskjeldgaard.dk/tech/teensy-haptic-audio-player/</guid><description>&lt;p&gt;A PCB designed for audio and haptic projects with &lt;a href="https://www.pjrc.com/store/teensy40.html"&gt;a Teensy 4.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Among other things, it can be used to play audio from the computer as a sound card when connected via USB or from audio files via the on board SD card reader. The audio will then be output both to a 3.5mm audio jack and a haptic driver that will make a vibration motor &lt;a href="https://www.adafruit.com/product/1201"&gt;like this one&lt;/a&gt; vibrate in sync with the audio, kinda like in a gamepad, sex toy or phone.&lt;/p&gt;</description></item><item><title>Birdhouse</title><link>https://madskjeldgaard.dk/tech/birdhouse/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/birdhouse/</guid><description>&lt;p&gt;With &lt;a href="https://github.com/madskjeldgaard/Birdhouse"&gt;BirdHouse&lt;/a&gt; you can receive OSC messages with a DAW or plugin host and have them converted to MIDI.&lt;/p&gt;
&lt;p&gt;The Birdhouse OSC to MIDI plugin is a simple plugin that listens for OSC messages, processes their data and sends outputs it as MIDI to allow using it in a DAW or other plugin host environment. Each instance of Birdhouse is able to process a stream of OSC messages to a MIDI event type, with a visualization of the stream and the ability to mute/unmute the output data.&lt;/p&gt;</description></item><item><title>Sparrows</title><link>https://madskjeldgaard.dk/tech/sparrows/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/sparrows/</guid><description>&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;Sparrows is a framework for creating small sensor devices that send their data over OSC, designed for use in artistic projects.&lt;/p&gt;
&lt;p&gt;It consists of simple boxes that contain a wifi based ESP microcontroller, a 3D-printable enclosure and a sensor of sorts.&lt;/p&gt;
&lt;p&gt;There is a SuperCollider interface available that automatically keeps track of sparrows in a network and responds to their data: &lt;a href="https://github.com/madskjeldgaard/sparrows-sc"&gt;sparrows-sc&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://fredrikolofsson.com/f0blog/"&gt;Fredrik Olofsson&lt;/a&gt; was a big inspiration in making these devices.&lt;/p&gt;</description></item><item><title>Storks</title><link>https://madskjeldgaard.dk/tech/storks/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/storks/</guid><description>&lt;p&gt;Storks is a prototype for a high quality MIDI and OSC controller with 16 smooth encoders and 8 mechanical keyboard switches, a small screen and a menu encoder.&lt;/p&gt;
&lt;p&gt;The hardware and firmware was made by Mads Kjeldgaard.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;16 smooth (non-detented) endless encoders. Used to dial in values.&lt;/li&gt;
&lt;li&gt;8 mechanical keyboard switches. Used to trigger notes and other events.&lt;/li&gt;
&lt;li&gt;512 &amp;ldquo;virtual&amp;rdquo; encoders, meaning many different values can be controlled via different layers.&lt;/li&gt;
&lt;li&gt;OSC over ethernet&lt;/li&gt;
&lt;li&gt;A small screen to show state of controller.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Sustain2MIDI</title><link>https://madskjeldgaard.dk/tech/sustain2midi/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/sustain2midi/</guid><description>&lt;p&gt;A useful and cheap way to convert keyboard sustain pedals to USB midi controllers.&lt;/p&gt;
&lt;p&gt;Full source code is &lt;a href="https://github.com/madskjeldgaard/sustain2midi"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Dirt cheap (all you need is a mono jack socket and a raspberry pi pico)&lt;/li&gt;
&lt;li&gt;Sends note on/off&lt;/li&gt;
&lt;li&gt;Note number can be changed easily by sending a midi note to the device.&lt;/li&gt;
&lt;li&gt;(Optional) Use a WS2812 NeoPixel to show the state and midi note value via colour (I use &lt;a href="https://www.aliexpress.com/item/1005001565556198.html?spm=a2g0o.order_list.order_list_main.4.17d91802H9j6ak"&gt;this module&lt;/a&gt; but I think any one should work) – disable this using the &lt;code&gt;SUS2MIDI_NEOPIXEL&lt;/code&gt; build flag in the .ini file.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Teensy Head Tracker</title><link>https://madskjeldgaard.dk/tech/teensyheadtracker/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/teensyheadtracker/</guid><description>&lt;p&gt;For &lt;a href="https://notam.no"&gt;Notam&lt;/a&gt;, I developed this DIY 3D audio head tracker for 3D audio production purposes. By tracking your head&amp;rsquo;s movements, it allows you to preview a 3D audio (ambisonics) mix binaurally using headphones. Source code and more information &lt;a href="https://github.com/notam02/Teensy-Head-Tracker/"&gt;can be found here&lt;/a&gt;. The project includes a 3D-printable enclosure that you can put the sensor in and attach it to your headphones.&lt;/p&gt;</description></item><item><title>Torso Electronics S-4</title><link>https://madskjeldgaard.dk/tech/s-4/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/tech/s-4/</guid><description>&lt;p&gt;The S4 is a sculpting sampler designed to capture and transform sounds. Merging tape-era workflows with cutting-edge technology, the S4 redefines sound mangling by providing a futuristic platform for crafting unique soundscapes and compositions, using samples and real-time audio processing.&lt;/p&gt;
&lt;p&gt;I helped make and design the software for this wonderful device.&lt;/p&gt;
&lt;div class="video-responsive"&gt;
&lt;iframe src="https://www.youtube.com/embed/gtLupImEYac?modestbranding=1&amp;rel=0&amp;iv_load_policy=3" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen &gt;&lt;/iframe&gt;
&lt;/div&gt;</description></item></channel></rss>