<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mads Kjeldgaard on Mads Kjeldgaard — Composer and Sound Artist</title><link>https://madskjeldgaard.dk/</link><description>Recent content in Mads Kjeldgaard 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/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>Concerts, Workshops and Events</title><link>https://madskjeldgaard.dk/events/</link><pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/events/</guid><description>&lt;div class="relative bg-center" style="background: url(data:image/jpeg;base64,/9j/2wCEAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgoBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIAA0AFAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&amp;#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&amp;#43;Tl5ufo6ery8/T19vf4&amp;#43;fr/2gAMAwEAAhEDEQA/APnXwR/wRh8f/tJ&amp;#43;C/CmnfGD4h2/w41mFhPpum21jLql&amp;#43;Eztm8uGEJG4UtE7MkhIwMjkZ&amp;#43;qfAn/BC3wR&amp;#43;xv8O10bwt8Qtc1TUde8QW/2vXtTiigihjSEt5qQwnfGgbcGWSRshPpXonwa&amp;#43;KOg&amp;#43;Hfitaapo/wy0ybxTY&amp;#43;C59Sj8UaxNJdzJBESr20Skr5JcA/OrcZIKtk1b/bA/aB&amp;#43;I3xO&amp;#43;GNv4f17VDHpmsKJFtrRmiaNh5wKSFSFmi/c7grKGDNnecYPkfWa6hDlk1yta6aWenqj26UIwquU4p3T012t&amp;#43;Z&amp;#43;ef7WngL4C&amp;#43;EvjRf8Ahzwz8bxrUFogR9QW3khDvvc7R9lszFJtUqPMUncQfoPNP7E&amp;#43;FH/RRP8AyLe//IVfNnxs&amp;#43;J/j7xP8Rb/Vb/xPd27GRkSDT7mSCGNVdgAqq3t1JJOeTXJ/8Jd4w/6HHWP/AAazf/FV2fVU9Wzz3iLM/9k=); background-size: cover; background-repeat: no-repeat;"&gt;
	&lt;picture&gt;
		&lt;source
			type="image/webp"
			srcset="https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_57e523a85c960884.webp 320w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_5447af4f6e781312.webp 640w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_7bc0e3ee2e360239.webp 960w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_5a0f59d0bae3d524.webp 1280w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_574704a1bc56d7fc.webp 1600w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;
		&lt;source
			type="image/jpeg"
			srcset="https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_bad23e740af554ca.jpg 320w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_8bd53d1f14124f40.jpg 640w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_c981f677df0bdc31.jpg 960w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_f34e5fc2fbb5b9cb.jpg 1280w, https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_c1d8f3b120194d2c.jpg 1600w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;&lt;img class=""
			src="https://madskjeldgaard.dk/images/haptic_fields_workshop_hu_f34e5fc2fbb5b9cb.jpg"
			width="1620"
			height="1080"
			alt=""
			loading="lazy"
		/&gt;&lt;/picture&gt;
&lt;/div&gt;
&lt;h4 id="to-stay-informed-on-new-dates-and-stuff-happening-sign-up-to-my-newsletter"&gt;To stay informed on new dates and stuff happening, &lt;a href="https://madskjeldgaard.dk/newsletter/"&gt;sign up to my newsletter&lt;/a&gt;.&lt;/h4&gt;
&lt;h4 id="for-bookings-click-here"&gt;For bookings, &lt;a href="https://madskjeldgaard.dk/about/"&gt;click here&lt;/a&gt;.&lt;/h4&gt;
&lt;h1 id="heading"&gt;❒&lt;/h1&gt;
&lt;div class="events-list"&gt;&lt;div class="concert-item upcoming bordered-box"&gt;
 &lt;div class="concert-date upcoming"&gt;
 &lt;span class="date-value"&gt;05-03-2026&lt;/span&gt;&lt;span class="badge upcoming"&gt;Upcoming&lt;/span&gt;&lt;span class="badge concert-category"&gt;workshop&lt;/span&gt;&lt;/div&gt;
 &lt;div class="concert-content"&gt;&lt;h3 class="concert-title"&gt;&lt;a href="https://supertimebooks.com/events/ccml-no-1-algorithmic-music-in-supercollider" target="_blank" rel="noopener"&gt;Copenhagen Computer Music Lab: Coding music using SuperCollider.&lt;/a&gt;&lt;/h3&gt;&lt;div class="concert-location"&gt;
 &lt;h4&gt;Supertime Books, Copenhagen, Denmark&lt;/h4&gt;
 &lt;/div&gt;
 &lt;p class="concert-description"&gt;Copenhagen Computer Music Lab is a series of events exploring the creative use of technology to compose music, explore sounds, make interactive art, and cause artistic mayhem using computers, electronics and code. In this iteration, we will gently explore the basics of Algorithmic Composition using the audio programming environment SuperCollider. We’ll use numbers, patterns and generative randomness to create pieces of music!&lt;/p&gt;</description></item><item><title>Algo-Generative Music Composition</title><link>https://madskjeldgaard.dk/longterm/algogenmusic/</link><pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/longterm/algogenmusic/</guid><description/></item><item><title>Hyphal</title><link>https://madskjeldgaard.dk/portfolio/hyphal-for-mechanized-organ/</link><pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/hyphal-for-mechanized-organ/</guid><description>&lt;p&gt;‘Hyphal’ is a piece of algorithmic music for mechanically controlled pipe organs, commissioned by Gamut INC for &lt;a href="https://gamutinc.org/aggregate/"&gt;Aggregate Festival&lt;/a&gt;, premiering at the &lt;a href="https://en.wikipedia.org/wiki/Kaiser_Wilhelm_Memorial_Church"&gt;Kaiser-Wilhelm-Gedächtniskirche in Berlin&lt;/a&gt; in 2025.&lt;/p&gt;
&lt;p&gt;This piece was composed during a stay in the Pyrenees mountains on the border between France and Spain where I spent a lot of time in a mountain valley with an overwhelmingly lush microclimate. Where it seemed that out of every crack or orifice in the landscape, plants and flowers of all kinds would emerge, as if to collectively scream &amp;ldquo;I am alive!&amp;rdquo;&lt;/p&gt;</description></item><item><title>Support</title><link>https://madskjeldgaard.dk/support/</link><pubDate>Sun, 01 Jun 2025 14:55:41 +0200</pubDate><guid>https://madskjeldgaard.dk/support/</guid><description>&lt;div class="relative bg-center" style="background: url(data:image/jpeg;base64,/9j/2wCEAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgoBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIAA0AFAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&amp;#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&amp;#43;Tl5ufo6ery8/T19vf4&amp;#43;fr/2gAMAwEAAhEDEQA/APEvBn7RF7eeGLefxB&amp;#43;zfLNqTqQ32LWVhikbjbtWRGKjB5BbOR&amp;#43;S6p8f/HVoZZ4P2M7p4UwY2/4TKIFlOMNzb9Of075BPEfCvx34i19rq4mvnRFilmRN2eRtxns3X0rRvPE1w/hC91ow7prWW4dBM&amp;#43;9SevQ9B04HTHGK&amp;#43;UwviXxdVik8S1Z2&amp;#43;GDf38upw0uF8pqxc1D8X/mS&amp;#43;IP2lPitBeqNJ/Y7zE0Qb9/4vgzyTj&amp;#43;BeMY7VQ/4ab&amp;#43;NX/RnMH/hXwf/ABNfPXiz42&amp;#43;PtV1qXU01U2yz/OtvCAUjBJ&amp;#43;UF9xx9TWb/wALd&amp;#43;IH/QxTf98J/wDE17EuMuOYya9sn/4D/wDIHI8jyxPSl&amp;#43;P/AAT/2Q==); background-size: cover; background-repeat: no-repeat;"&gt;
	&lt;picture&gt;
		&lt;source
			type="image/webp"
			srcset="https://madskjeldgaard.dk/images/meadow_hu_5942b93c7d33092a.webp 320w, https://madskjeldgaard.dk/images/meadow_hu_4fc5cfa3b767a687.webp 640w, https://madskjeldgaard.dk/images/meadow_hu_95337f55b275bf4f.webp 960w, https://madskjeldgaard.dk/images/meadow_hu_2d20455b99501817.webp 1280w, https://madskjeldgaard.dk/images/meadow_hu_ecb381614e880c1a.webp 1600w, https://madskjeldgaard.dk/images/meadow_hu_26ebc2582562ee67.webp 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;
		&lt;source
			type="image/jpeg"
			srcset="https://madskjeldgaard.dk/images/meadow_hu_3f70d01d8c3cdb1.jpg 320w, https://madskjeldgaard.dk/images/meadow_hu_184efefb117fe2b3.jpg 640w, https://madskjeldgaard.dk/images/meadow_hu_2b6d8844f0675da7.jpg 960w, https://madskjeldgaard.dk/images/meadow_hu_680ba8b91e4110ae.jpg 1280w, https://madskjeldgaard.dk/images/meadow_hu_8cd31c70230f1cdf.jpg 1600w, https://madskjeldgaard.dk/images/meadow_hu_7fbb018d7b1b4c2.jpg 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;&lt;img class=""
			src="https://madskjeldgaard.dk/images/meadow_hu_680ba8b91e4110ae.jpg"
			width="2048"
			height="1365"
			alt=""
			loading="lazy"
		/&gt;&lt;/picture&gt;
&lt;/div&gt;
&lt;p&gt;There are several ways you can support my work:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Make a donation at &lt;a href="https://ko-fi.com/madskjeldgaard"&gt;ko-fi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mads-kjeldgaard.bandcamp.com/"&gt;Buy My Music on Bandcamp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Share my work with others &lt;a href="https://madskjeldgaard.dk/newsletter/"&gt;or maybe sign up to my newsletter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you so much :)&lt;/p&gt;</description></item><item><title>Surroundings</title><link>https://madskjeldgaard.dk/longterm/surroundings/</link><pubDate>Fri, 30 May 2025 16:46:55 +0200</pubDate><guid>https://madskjeldgaard.dk/longterm/surroundings/</guid><description>&lt;h2 id="episode-1-coastal"&gt;Episode 1: Coastal&lt;/h2&gt;
&lt;div class="video-responsive"&gt;
&lt;iframe src="https://www.youtube.com/embed/C0k4bGu5skg?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;p&gt;Recorded by the beach at sunset in the early summer of 2025. The location is in between two rose hip bushes in a field just before the sandy beach.&lt;/p&gt;
&lt;div class="supporter-item"&gt;
 &lt;a href="https://kultur.koda.dk/" target="_blank" rel="noopener"&gt;
 &lt;img src="https://madskjeldgaard.dk/koda_kultur_logo_rgb.png" alt="Kodakultur" class="supporter-logo"&gt;
 &lt;p class="supporter-caption"&gt;Koda Kultur&lt;/p&gt;
 &lt;/a&gt;
&lt;/div&gt;</description></item><item><title>Exformal Records</title><link>https://madskjeldgaard.dk/longterm/exformal/</link><pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/longterm/exformal/</guid><description>&lt;p&gt;It was founded in 2024 by Mads Kjeldgaard as a platform for artists and musicians to release sound-based works and thinking.&lt;/p&gt;
&lt;video controls preload="auto" width="100%" autoplay loop muted playsinline class="html-video"&gt;
 &lt;source src="https://madskjeldgaard.dk/video/zonestrailer_web.mp4" type="video/mp4"&gt;
 &lt;span&gt;&lt;/span&gt;
&lt;/video&gt;</description></item><item><title>Haptic Fields</title><link>https://madskjeldgaard.dk/longterm/hapticfields/</link><pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/longterm/hapticfields/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Haptic Fields&lt;/em&gt; is an artistic research project exploring the potential of material vibration — that is, vibrations not in the air (like sound) but rather in other materials like water, sand, soil, trees, plants and the human body.&lt;/p&gt;
&lt;p&gt;In biology, these sorts of vibrations are called &amp;lsquo;substrate vibrations&amp;rsquo;. More than 150.000 species in nature have been identified to communicate solely through substrate vibrations. Studies of fossils show that the earliest vertebrates on land detected substrate vibrations before they were able to hear airborne sounds, by laying their jaws against the soil, allowing a bone-structure in the jaw to conduct vibrations to their inner ears.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description></item><item><title>Hyaline Systems</title><link>https://madskjeldgaard.dk/longterm/hyalinesystems/</link><pubDate>Fri, 30 May 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/longterm/hyalinesystems/</guid><description>&lt;p&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;/p&gt;</description></item><item><title>Life in the Quiet Zone</title><link>https://madskjeldgaard.dk/portfolio/the-quiet-zone/</link><pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/the-quiet-zone/</guid><description>&lt;blockquote class="book-quote"&gt;
 &amp;hellip;and in between, when the sound subsided, there was the never entirely ceasing murmur in my own ears.
 
 
 

 
 &lt;cite&gt;
 &lt;span class="small-text"&gt;— W.G. Sebald&lt;/span&gt;&lt;span class="small-text"&gt;, &lt;/span&gt;&lt;span class="small-text"&gt;Rings of Saturn&lt;/span&gt;
 
 &lt;/cite&gt;
 
&lt;/blockquote&gt;

&lt;p&gt;The Quiet Zone is a sound art project that blends field recordings, essayistic text, and photographs in an exploration of the Quiet Zone – an area on Danish trains zoned off for quietude.&lt;/p&gt;
&lt;p&gt;The Quiet Zone exists in nearly all Danish train carriages. It is marked by doors that slide open with a wave of the hand. In this zone, which all commuters have an almost trivial relationship with, we all cultivate a silence that is potent with sounds and movements. So much happens here that we take for granted. This project explores the sonic qualities that can be found here and the potential they hold. What connections do we have to ourselves and each other in this zone? What boundaries exist between this and other zones? How do we move within this space? What do we expect from it? What does it expect from us?&lt;/p&gt;</description></item><item><title>Links</title><link>https://madskjeldgaard.dk/links/</link><pubDate>Wed, 30 Apr 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/links/</guid><description>&lt;p&gt;Upcoming concerts, workshops and events &lt;a href="https://madskjeldgaard.dk/events/"&gt;can be found here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://madskjeldgaard.dk/newsletter/"&gt;💌 Sign up to my newsletter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Websites&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://madskjeldgaard.dk"&gt;🖼️ madskjeldgaard.dk&lt;/a&gt; - Artist website.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://exformal.art"&gt;📀 exformal.art&lt;/a&gt; - Platform for experimental sounds and listening.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hyaline.systems"&gt;⚡️ hyaline.systems&lt;/a&gt; - Open source creative technology.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Social media&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/madskjeld/"&gt;📸 Instagram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/@MadsKjeldgaardMusic"&gt;📺 YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sonomu.club/@madskjeldgaard"&gt;🐘 Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Contact&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://signal.me/#eu/EFVfQWEvixeMjylPTzyYtNTSj5g0KIaETgCo2YojtzVcsy01Y0BEAZZHFhaqN5NU"&gt;Signal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;

&lt;style&gt;
 #span-6dd2462f.cloaked-e-mail:before {
 content:attr(data-domain) "\0040" attr(data-user);
 unicode-bidi:bidi-override;
 direction:rtl;
 }
&lt;/style&gt;
&amp;#32;&lt;span class="cloaked-e-mail" data-user="liam" data-domain="kd.draagdlejksdam" id="span-6dd2462f"&gt;&lt;/span&gt;&amp;#32;

&lt;script id="script-6dd2462f"&gt;
 var scriptTag = document.getElementById("script-6dd2462f");
 var link = document.createElement("a");
 var address = "liam".split('').reverse().join('') + "@" + "kd.draagdlejksdam".split('').reverse().join('');
 link.href = "mailto" + ":" + address;
 link.innerText = address.split('?')[0];
 scriptTag.parentElement.insertBefore(link, scriptTag.previousElementSibling);
 scriptTag.parentElement.removeChild(scriptTag.previousElementSibling)
&lt;/script&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="relative bg-center" style="background: url(data:image/jpeg;base64,/9j/2wCEAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgoBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIAB4AFAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&amp;#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&amp;#43;Tl5ufo6ery8/T19vf4&amp;#43;fr/2gAMAwEAAhEDEQA/AL4&amp;#43;BeoaD4xm/wCFa/BIaPdBZFfz9XS4Bzk5AOQBg4x/WuP&amp;#43;I37NPjzQbWW&amp;#43;1uRI7mdS8kG/ywuT0GDgjH0rpvC//BZPwP8AtFfFe20/xb&amp;#43;zz4t0Gze8s4z4p0q9h1K2dWy0sDw20UZQrEOJ1eRQwwyLyR7t8WP&amp;#43;CgP7K3gbw3rGhabrHiG51e10ZrjTrKSwD292xV/LBnVDFGNwAbc46g5O5RQB&amp;#43;RXxb/aV&amp;#43;GXwx8f6h4G1C0nubvT5PLvCs2wRyjqnzLzjjnpzXN/8NpfCn/oB3P8A4GL/APE14J8bfiF49&amp;#43;L3xX17x8fC1u02oajJLdi0gzGszsXdV3M&amp;#43;AC3QMVHbiuW&amp;#43;y&amp;#43;P/APoUj/4Cr/hQB7H4U/aq1axuG1C51i6ubhcgXN9dyTykeheRmbHtmrU37Rd94o0e5h1a5a6WaRy8c8hIIbkj26mvl6DUrhGyJG6&amp;#43;ta2m6/dQxGMMeg70AeqS/EKKOZkguJdihVjS7VLsxIqhVRGnV2VFVQAgO0Y4pP8AhYw/57Q/&amp;#43;Cm0/wDjVeXHVp3YsSevrSf2nN6mgD//2Q==); background-size: cover; background-repeat: no-repeat;"&gt;
	&lt;picture&gt;
		&lt;source
			type="image/webp"
			srcset="https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_64fd0a1911280f41.webp 320w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_c6275d218535c24d.webp 640w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_6be55b2d95385024.webp 960w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_5ae757296a49a9e2.webp 1280w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_519bd20db3f31d65.webp 1600w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_4a56461bc78235f2.webp 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;
		&lt;source
			type="image/jpeg"
			srcset="https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_f49c3c57a37503c5.jpg 320w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_8608b076f2e7f8bf.jpg 640w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_ee34e56377ac0abb.jpg 960w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_17380746557af73d.jpg 1280w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_433b875852d5584a.jpg 1600w, https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_a7a5a5ec82909a48.jpg 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;&lt;a href="https://madskjeldgaard.dk/about"&gt;&lt;img class=""
			src="https://madskjeldgaard.dk/images/tucson_coverfoto_redigeret_hu_17380746557af73d.jpg"
			width="4492"
			height="6774"
			alt=""
			loading="lazy"
		/&gt;&lt;/a&gt;&lt;/picture&gt;
&lt;/div&gt;</description></item><item><title>vlog</title><link>https://madskjeldgaard.dk/vlog/</link><pubDate>Wed, 30 Apr 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/vlog/</guid><description>&lt;p&gt;I keep an artist vlog where I try to document my thought process and artistic work through raw, unedited videos. If you want to participate in the conversation, you can &lt;a href="https://www.youtube.com/@MadsKjeldgaardMusic"&gt;leave comments on the videos&lt;/a&gt; or &lt;a href="https://madskjeldgaard.dk/links/"&gt;get in touch&lt;/a&gt;.&lt;/p&gt;


&lt;a href="https://www.youtube.com/@MadsKjeldgaardMusic" class="no-underline button align-center"&gt;
 Subscribe to my channel
&lt;/a&gt;

&lt;p&gt;&lt;div class="video-responsive"&gt;
&lt;iframe src="https://www.youtube.com/embed/pM62oBiU25s?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/IoCSYrU5kF4?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/hQm3mEO_NYE?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/A156q__38Vc?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;/p&gt;</description></item><item><title>Press photos</title><link>https://madskjeldgaard.dk/press/</link><pubDate>Fri, 11 Apr 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/press/</guid><description>&lt;div class="relative bg-center" style="background: url(data:image/jpeg;base64,/9j/2wCEAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgoBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIAA4AFAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&amp;#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&amp;#43;Tl5ufo6ery8/T19vf4&amp;#43;fr/2gAMAwEAAhEDEQA/APnT4Dfsn/ET4v32o6rdeBJbzSPDl3EmuX&amp;#43;nXscjRQlx5rIOr/Ikm3HAIXJUHNe9n9i74XfFdbXwr8KfDGr20di//Ezjt7J5BFI8YYLJMZ5FyNnQkr8wwOdx9x/4KAftAap&amp;#43;z3&amp;#43;yxdeH/gbC/hubUNZitTdWEaq0UZWSaUKeql1jZNw5AbjB5H5k/Af9u746fAL4p2/jy38Qy3lha2ws77RS4WC7hZgxG1QuxyVDGQlnznnB215FShRo4lRauvtfpb9TvhOn9Xlde89n&amp;#43;dz74uv2FfG1nbWmi6PrtpHbafai3ie4Rw8wDM3mEeWduSx4BxxxUP8Awwz8SP8AoaNN/wC&amp;#43;X/8AjVe/eI/F0mpXEF6fMJe2GfNJYj5mwMk9MYrP/wCEgf8Auj/vj/69N5VgIyaVNfiNV61tz//Z); background-size: cover; background-repeat: no-repeat;"&gt;
	&lt;picture&gt;
		&lt;source
			type="image/webp"
			srcset="https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_e5ccf32b7dc676d1.webp 320w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_1ea952a18ff66bef.webp 640w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_3ec67ee3b8c85aeb.webp 960w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_1e13855cb18d7a5e.webp 1280w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_bf96a62a9b66d286.webp 1600w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_677b96a731be2437.webp 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;
		&lt;source
			type="image/jpeg"
			srcset="https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_2ba4d82a74ee8e5b.jpg 320w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_a5fbcf4d7e59a59e.jpg 640w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_95af896d77b11dfd.jpg 960w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_26311d97e846d9ca.jpg 1280w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_a97b1e616dec21fa.jpg 1600w, https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_cce5179084c55d13.jpg 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;&lt;a href="https://www.sofieamalieklougart.dk"&gt;&lt;img class=""
			src="https://madskjeldgaard.dk/images/press/PressPhoto_Mads_Kjeldgaard_by_Sofie_Amalie_Klougart_2025_DSC9345_hu_26311d97e846d9ca.jpg"
			width="7706"
			height="5504"
			alt=""
			loading="lazy"
		/&gt;&lt;/a&gt;&lt;/picture&gt;
&lt;/div&gt;&lt;p class="photo-caption"&gt;Press photo: By Sofie Amalie Klougart 2025.&lt;/p&gt;
&lt;p&gt;Below are download links to high quality jpeg files of press photos of Mads Kjeldgaard. The images are available in both color and black/white. The images are suitable for print and web use.&lt;/p&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>Moans and Groans</title><link>https://madskjeldgaard.dk/portfolio/moans-and-groans/</link><pubDate>Fri, 14 Feb 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/moans-and-groans/</guid><description>&lt;p&gt;The sculptures of &lt;em&gt;Moans and Groans&lt;/em&gt; recreate the sensation of the wind in the trees. Through branches equipped with vibration motors, a custom-made electronic circuit translates seismic recordings captured between the roots and in the crevices of trees in Denmark back into vibration motors known from consumer electronics.&lt;/p&gt;
&lt;p&gt;Viewers are invited to touch the sculptures and feel the vibrations they transmit as they resynthesize the experience of the tree rocking in the wind, from the perspective of the tree itself.&lt;/p&gt;</description></item><item><title>Empty Cloud</title><link>https://madskjeldgaard.dk/portfolio/empty-cloud/</link><pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/empty-cloud/</guid><description>&lt;h3 id="an-enormous-cycle-of-minimalist-ambient-background-music-composed-in-48-parts-spanning-12-hours-taking-you-on-a-peaceful-stroll-around-the-circle-of-fifths-released-by-exformal-records-to-read-more-and-listen-to-the-release-go-here"&gt;An enormous cycle of minimalist, ambient background music composed in 48 parts, spanning 12 hours, taking you on a peaceful stroll around the circle of fifths. Released by &lt;a href="https://exformal.art"&gt;Exformal Records&lt;/a&gt;. To read more and listen to the release, &lt;a href="https://exformal.art/releases/mads-kjeldgaard-empty-cloud/"&gt;go here&lt;/a&gt;.&lt;/h3&gt;
&lt;p&gt;The music of Empty Cloud was written and composed specifically to be played in the background in a room, quietly, or at least ideally at a barely audible volume. It’s music that’s just there, plain and simple, and if you forget about it, it’s fine, don’t worry, it will let itself be known when it needs to.&lt;/p&gt;</description></item><item><title>Watch: Keys and loopers in parks and apartments August 2024</title><link>https://madskjeldgaard.dk/news/video-performances-august-2024/</link><pubDate>Wed, 07 Aug 2024 16:06:33 +0200</pubDate><guid>https://madskjeldgaard.dk/news/video-performances-august-2024/</guid><description>&lt;p&gt;Here are some videos of me playing with keyboard instruments and loopers.&lt;/p&gt;
&lt;h2 id="looping-in-the-park-1"&gt;Looping in the park #1&lt;/h2&gt;
&lt;p&gt;This performance is me playing with keyboards and loopers in a park with kindergarten kids playing in the distance, birds flying overhead, trains passing. Some mosquitos were there too.&lt;/p&gt;
&lt;div class="video-responsive"&gt;
&lt;iframe src="https://www.youtube.com/embed/Jkb9W8g_rDk?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="ambient-looping-with-the-window-open"&gt;Ambient looping with the window open&lt;/h2&gt;
&lt;p&gt;This performance was recorded in an apartment with the window open. It was released as part of the &lt;a href="https://exformal.art/releases/mads-kjeldgaard-space-in-between/"&gt;Space In Between&lt;/a&gt; album on Exformal.&lt;/p&gt;</description></item><item><title>Launch party for Exformal Records and Space In Between album</title><link>https://madskjeldgaard.dk/news/spaceinbetween-reception-super/</link><pubDate>Tue, 06 Aug 2024 10:32:06 +0200</pubDate><guid>https://madskjeldgaard.dk/news/spaceinbetween-reception-super/</guid><description>&lt;h1 id="launch-party-for-exformal-records-in-copenhagen"&gt;Launch party for Exformal Records in Copenhagen&lt;/h1&gt;

&lt;div class="relative bg-center" style="background: url(data:image/jpeg;base64,/9j/2wCEAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgoBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIABQAFAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&amp;#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&amp;#43;Tl5ufo6ery8/T19vf4&amp;#43;fr/2gAMAwEAAhEDEQA/APL9ryM481gAcALj0FNhsxASUuZjnrvkLfzzUd7ZT3yNFBqc9r&amp;#43;8&amp;#43;ZrcISw24x86tj1454qtaeHbizuftCeJtSYbgTFI8TLgduUzz35z71/QzbvsfgVlbc0YiSnzHJDEZ/GnUyH7h/32/mafVEPcaYkLFvmBPXDEVFbWzJ5nmXU0mZSV3v8AdH90YxwPfJ96npsf8X&amp;#43;8aB3YqqEG1en1paKKBH//2Q==); background-size: cover; background-repeat: no-repeat;"&gt;
	&lt;picture&gt;
		&lt;source
			type="image/webp"
			srcset="https://madskjeldgaard.dk/images/thespaceinbetween_hu_cc3cc1a14750d9f8.webp 320w, https://madskjeldgaard.dk/images/thespaceinbetween_hu_7b79708bfe415d4d.webp 640w, https://madskjeldgaard.dk/images/thespaceinbetween_hu_69de472bd410d87a.webp 960w, https://madskjeldgaard.dk/images/thespaceinbetween_hu_41af17642c0b4c2e.webp 1280w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;
		&lt;source
			type="image/jpeg"
			srcset="https://madskjeldgaard.dk/images/thespaceinbetween_hu_fde9e5e409861c3f.jpg 320w, https://madskjeldgaard.dk/images/thespaceinbetween_hu_7e5bf362a12f414b.jpg 640w, https://madskjeldgaard.dk/images/thespaceinbetween_hu_a77917898c6af56f.jpg 960w, https://madskjeldgaard.dk/images/thespaceinbetween_hu_59b4f5a5a4fc69ce.jpg 1280w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;&lt;a href="https://exformal.art/releases/mads-kjeldgaard-space-in-between/"&gt;&lt;img class=""
			src="https://madskjeldgaard.dk/images/thespaceinbetween_hu_59b4f5a5a4fc69ce.jpg"
			width="1512"
			height="1512"
			alt=""
			loading="lazy"
		/&gt;&lt;/a&gt;&lt;/picture&gt;
&lt;/div&gt;
&lt;h2 id="time-and-place"&gt;Time and place&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Place: &lt;a href="https://supertimebooks.com/"&gt;Supertime Books&lt;/a&gt;, Blågårdsgade 31C, 2200 København N, Denmark&lt;/li&gt;
&lt;li&gt;Date: 30th of August, 2024&lt;/li&gt;
&lt;li&gt;Time: 17.30 - 21.00 ish&lt;/li&gt;
&lt;li&gt;Performances start at 19:00&lt;/li&gt;
&lt;li&gt;There will be drinks and snacks&lt;/li&gt;
&lt;li&gt;A limited amount of coldbrew tea supplied by &lt;a href="https://io-te.dk/"&gt;io tea&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="performances"&gt;Performances&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Mads Kjeldgaard will play a slow and tiny sounding set&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="about-the-event"&gt;About the event&lt;/h2&gt;
&lt;p&gt;This evening marks the launch of &lt;a href="https://exformal.art/releases/mads-kjeldgaard-space-in-between/"&gt;Mads Kjeldgaard&amp;rsquo;s new release ‘Space In Between’&lt;/a&gt; which is being put out on the newly formed Exformal Records label. So it&amp;rsquo;s actually a double whammy release of both a CD and a record label!&lt;/p&gt;</description></item><item><title>Space In Between</title><link>https://madskjeldgaard.dk/portfolio/spaceinbetween/</link><pubDate>Mon, 05 Aug 2024 11:20:17 +0200</pubDate><guid>https://madskjeldgaard.dk/portfolio/spaceinbetween/</guid><description>&lt;p&gt;&amp;lsquo;Space In Between&amp;rsquo; is a collection of slow solo pieces for piano and loopers, composed and played by Mads Kjeldgaard in his apartment. The pieces were recorded with the window open, to allow the street sounds to mix with those of the piano.&lt;/p&gt;
&lt;p&gt;Released by &lt;a href="https://exformal.art"&gt;Exformal Records&lt;/a&gt; in 2024.&lt;/p&gt;
&lt;p&gt;Go to &lt;a href="https://exformal.art/releases/mads-kjeldgaard-space-in-between/"&gt;this page for more information about the release&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;div class="relative bg-center" style="background: url(data:image/jpeg;base64,/9j/2wCEAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgoBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIAB4AFAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&amp;#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&amp;#43;Tl5ufo6ery8/T19vf4&amp;#43;fr/2gAMAwEAAhEDEQA/APzL/wCCYv7Gng39tL43/wDCvfHc&amp;#43;pw6essazTaWwV0DRXD5yQcH9yMcEda7v9s//glB4p/ZX1gR&amp;#43;GfFsuqWd34lfTbJb22CMiknyyzLwx4IJAGcZwOle1/8GwMWiXH7Wl/p&amp;#43;sldk8icE9k0zV2P16Cv0x/4K&amp;#43;/B/wAG3fwsstfjgt45LT4jQzsx6iNbe5c59s4NAH83d1p15pNw9jfRbZEYhgD&amp;#43;FR5Poa739o3w&amp;#43;PD3xW1DTI4wNrsSB0BMj/0xXCeW/wDdNAH19/wQO&amp;#43;KE3wz/AGzraczLHHJZ38zszcDy9I1LH/oZ/Kv0/wD&amp;#43;CsP7Qlt4w&amp;#43;D9zo3h65Eif2i9xLOh4Xasakfj5x/Ovw7/AGJfGd/4C&amp;#43;PFv4is7qWPytK1NXMIBbD6fcpxkgdGNe9ftNft6&amp;#43;KvFXha5&amp;#43;H9tpcqzN5pnvJ5gQQ72jjAHX/VEdvve1AHl/7Wkelw/HzX7S0m3RQ3OyNpTlivUZ4968322X9&amp;#43;OofEvjDX/HGvXXinxDdia8u5S80gXbk9uB0AGB&amp;#43;FUfMm/vCgD//Z); background-size: cover; background-repeat: no-repeat;"&gt;
	&lt;picture&gt;
		&lt;source
			type="image/webp"
			srcset="https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_4da368bf5b37db23.webp 320w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_700c49eeb311610a.webp 640w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_734b72828d6bbd72.webp 960w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_8d13d3a6e0f23c0f.webp 1280w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_fbf52309cc33ca0c.webp 1600w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_656ef92647a79d80.webp 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;
		&lt;source
			type="image/jpeg"
			srcset="https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_52ca2d678d219652.jpg 320w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_8bc12166513e2d4e.jpg 640w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_61b7b42b3dc8b3c1.jpg 960w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_324e08df53bc5430.jpg 1280w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_aa8dd8c6fd203a2b.jpg 1600w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_3dd0f5b751afb019.jpg 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;&lt;a href="https://exformal.art/releases/mads-kjeldgaard-space-in-between/"&gt;&lt;img class=""
			src="https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20Arizona%20Window%202024_hu_324e08df53bc5430.jpg"
			width="4492"
			height="6774"
			alt=""
			loading="lazy"
		/&gt;&lt;/a&gt;&lt;/picture&gt;
&lt;/div&gt;

&lt;div class="relative bg-center" style="background: url(data:image/jpeg;base64,/9j/2wCEAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgoBAgICAgICBQMDBQoHBgcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCv/AABEIAB4AFAMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5&amp;#43;gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4&amp;#43;Tl5ufo6ery8/T19vf4&amp;#43;fr/2gAMAwEAAhEDEQA/APhT9lj/AIJd/B39o34XTfFLwL8ZZZr601G3hk8LX&amp;#43;mQSytG6TszSMkySQEGKPBaIo6zBkZ9rKPqHWf&amp;#43;DYfX7X9nbUvjfoHxbs5IU8MHWrFLiwljIiSJ5JI3OMB8Rt0yMlecc14V/wAEZ/FGl&amp;#43;K/j14Z8ZpJrst9pNpFpGuW99qlo0NzK0OoSxyxhjHN5cdraoSoEgDRyMzhpEB/oF&amp;#43;OfjHQvBn/AAT/APHvhaW6iiudP&amp;#43;HetR28K7vmRba6RWyPUAEgYxyTQB/IFqsFzpGqXOlXEP7y2neJ8eqkg/yqv9qf/nia1/HEqXXjTVroDHm6lO&amp;#43;B7yMay9q&amp;#43;poA&amp;#43;yP2Cte8QfCD4&amp;#43;6Ppnwp03w7quk3mqTS6rr1loxku7FRZXNsUW4KqyQtFLK5AG0uI2ZiQAP2Y/aD&amp;#43;Lcfj34BeNbD4kati2fwBrNsqW0GySKWNLpiysCVcEyJkHDLnoQdx/mi&amp;#43;CvxU8W/DbxZDrug65ewvCGIWG4ZQflPB56V9iQf8FbvipqvhfUPB/jnwwNb0qbwre6dBZTanNAsE8qybLoeUy/MhdSVxh/LUNkCgD481u5VtXuXD5DTMc565NVPtA9T&amp;#43;dU5LuSSQyMeSc037Q/qfzoA//9k=); background-size: cover; background-repeat: no-repeat;"&gt;
	&lt;picture&gt;
		&lt;source
			type="image/webp"
			srcset="https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_154d5d829bf8d78.webp 320w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_1b92b783ebad8948.webp 640w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_a8142a8a97a79704.webp 960w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_554ff8505aa4373e.webp 1280w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_d384c8634ae19981.webp 1600w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_68a3deaae3e24ab3.webp 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;
		&lt;source
			type="image/jpeg"
			srcset="https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_eb4d88f2e567a1ef.jpg 320w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_43d906c8e02f6045.jpg 640w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_7ddc2262848361f8.jpg 960w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_2282e4eab20775fb.jpg 1280w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_3708d3deee50315b.jpg 1600w, https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_b7e785f7b1a235ac.jpg 1920w"
			sizes="(min-width: 1024px) 100vw, 50vw"
		/&gt;&lt;a href="https://exformal.art/releases/mads-kjeldgaard-space-in-between/"&gt;&lt;img class=""
			src="https://madskjeldgaard.dk/images/Mads%20Kjeldgaard%20-%20California%20Window%202024_hu_2282e4eab20775fb.jpg"
			width="3535"
			height="5336"
			alt=""
			loading="lazy"
		/&gt;&lt;/a&gt;&lt;/picture&gt;
&lt;/div&gt;&lt;/p&gt;</description></item><item><title>Akkorder</title><link>https://madskjeldgaard.dk/portfolio/akkorder/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/akkorder/</guid><description>&lt;iframe style="border: 0; width: 100%; height: 120px;" src="https://bandcamp.com/EmbeddedPlayer/album=162975171/size=large/bgcol=ffffff/linkcol=0687f5/tracklist=false/artwork=small/transparent=true/" seamless&gt;&lt;/iframe&gt;

&lt;p&gt;The pieces were all made using a generative system for algorithmic music. The
system is included in the release as a SuperCollider script for people to
create more variations of the pieces at home.&lt;/p&gt;
&lt;p&gt;CD in transparent jewel case. The CD contains both audio and data.&lt;/p&gt;
&lt;p&gt;Design: Mads Kjeldgaard.&lt;/p&gt;
&lt;p&gt;Released by &lt;a href="https://ambitioustapes.bandcamp.com/"&gt;Ambitious Tapes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://ambitioustapes.bandcamp.com/album/akkorder-2?from=embed"&gt;Click here to hear more&lt;/a&gt;&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>Computer Music Journal, Volume 44, Issue 4 - Space as instrument (MIT)</title><link>https://madskjeldgaard.dk/portfolio/computermusicjournal/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/computermusicjournal/</guid><description>&lt;p&gt;My piece ambisonic piece &amp;ldquo;I Solens Flint 1000 Floder&amp;rdquo; was featured in the Computer Music Journal published by MIT University, alongside a range of other great composers. The magazine also featured a little writeup by Martin Supper.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://direct.mit.edu/comj/article/44/4/96/108547/Sound-and-Video-Anthology-Program-Notes"&gt;Click here to read more&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Death Told So Clearly To Fuck Off</title><link>https://madskjeldgaard.dk/portfolio/deathtoldsoclearlytofuckoff/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/deathtoldsoclearlytofuckoff/</guid><description>&lt;p&gt;&amp;ldquo;Death Told So Clearly to Fuck Off&amp;rdquo; is a piece of generative computer music for high order ambisonics.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s sound material consists of custom software instruments that model the physics of real string instruments - this virtualization of the physical aspects of the instruments makes variable their shape, timbre and size while they are being played.&lt;/p&gt;
&lt;p&gt;The piece itself is structured by a &amp;ldquo;spawning&amp;rdquo; algorithm that - according to certain principles of probability - creates patterns of microtonal chords and notes that over time weave their trajectories into larger structures.&lt;/p&gt;</description></item><item><title>Else Marie Pade 'Samlede tekster'</title><link>https://madskjeldgaard.dk/portfolio/emp-book/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/emp-book/</guid><description>&lt;p&gt;Together with Simon Christensen, I edited this collection of texts written by the Danish composer &lt;a href="https://en.wikipedia.org/wiki/Else_Marie_Pade"&gt;Else Marie Pade&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Your timbres are more beautiful now than the electronic timbres of the 50&amp;rsquo;s and 60&amp;rsquo;s, and it wasn&amp;rsquo;t because of a lack of experiences, but back then one wanted to tell the truth and not be romantic. And one cannot handle that in the long run.&amp;rdquo; – Excerpt from the book.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://passiveaggressive.dk/prints_by_pa/else-marie-pade-samlede-tekster/"&gt;Read more about it here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Hold Time</title><link>https://madskjeldgaard.dk/portfolio/holdtime/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/holdtime/</guid><description>&lt;iframe style="border: 0; width: 100%; height: 120px;" src="https://bandcamp.com/EmbeddedPlayer/album=48045040/size=large/bgcol=ffffff/linkcol=0687f5/tracklist=false/artwork=small/transparent=true/" seamless&gt;&lt;/iframe&gt;

&lt;p&gt;Mastered by Niklas Adam&lt;/p&gt;
&lt;p&gt;Released by &lt;a href="https://superpang.bandcamp.com/"&gt;SuperPang&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mads-kjeldgaard.bandcamp.com/album/hold-time?from=embed"&gt;Click here to hear more&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Hollow Body Timbals</title><link>https://madskjeldgaard.dk/portfolio/hollowbodytimbals/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/hollowbodytimbals/</guid><description>&lt;p&gt;Like a heavy blanket it covers the mountain valley. It seeps in from everywhere: piercing trills, screams and grains. The insects are awake. They want to eat, they want to drink, they want to sing, they want to fuck. And so, they excite their mechanic bodies.&lt;/p&gt;
&lt;p&gt;Recorded on site at Rašćane Gornje, Croatia 2018. Mixed and mastered at NOTAM, Oslo. Design by Stephen McEvoy.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://flufrecs.bandcamp.com/album/hollow-body-timbals?from=embed"&gt;Click here to hear more&lt;/a&gt;&lt;/p&gt;</description></item><item><title>I Solens Flint 1000 Floder</title><link>https://madskjeldgaard.dk/portfolio/i-solens-flint/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/i-solens-flint/</guid><description>&lt;p&gt;“I solens flint 1000 floder” is an electronic composition by Mads Kjeldgaard commissioned by Notam and Ultima Festival 2019.&lt;/p&gt;
&lt;p&gt;It was composed in 7th order ambisonics, partly at NOTAM in Oslo, Norway, and partly at EMS, Stockholm, Sweden, for a 3D audio speaker dome set up in Oslo as part of Ultima Festival 2019.&lt;/p&gt;
&lt;p&gt;The title (which is in Danish) can be translated to something along the lines of “In the shard of the sun 1000 rivers”.&lt;/p&gt;</description></item><item><title>Internal Organs</title><link>https://madskjeldgaard.dk/portfolio/internal-organs/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/internal-organs/</guid><description>&lt;p&gt;&lt;em&gt;Internal Organs&lt;/em&gt; is an interactive sound art installation. It was first installed at &lt;a href="https://www.koncertkirken.dk/events/organ-sound-art-festival-2023/"&gt;Organ Sound Art Festival 2023&lt;/a&gt; in the basement of the old church of Koncertkirken.&lt;/p&gt;
&lt;p&gt;The installation consists of 4 audio channels that continually generate new organ music. As the audience move around in the installation, a network of small electronic sensors pick up their proximity to the speakers while laser &amp;ldquo;tripwires&amp;rdquo; set off new melodic content in the organ composition as they move around or enter/exit the work. All movements registered by the sensors result in new compositional decisions made by the algorithm responsible for generating the musical material.&lt;/p&gt;</description></item><item><title>Music for Power Supplies</title><link>https://madskjeldgaard.dk/portfolio/musicforpowersupplies/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/musicforpowersupplies/</guid><description>&lt;div class="embed video-player"&gt;
&lt;iframe style="border: 0; width: 100%; height: 42px;" src="https://bandcamp.com/EmbeddedPlayer/track=3606449433/size=small/bgcol=000000/linkcol=ffffff/tracklist=false/artwork=small/transparent=true/artwork=none/" seamless&gt;&lt;/iframe&gt;
&lt;/div &gt;

&lt;p&gt;‘Music for Power Supplies’ is a collection of pieces composed using sounds of the electro magnetic fields emanating from power supplies.&lt;/p&gt;
&lt;p&gt;These fields, containing rich, dense harmonic structures, were captured using tape heads and diy coils and manipulated into deep, spiritual compositions traversing vertical layers of consciousness.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://flufrecs.bandcamp.com/album/hollow-body-timbals?from=embed"&gt;Click here to hear more&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Musik for virtuelle orgler</title><link>https://madskjeldgaard.dk/portfolio/musikforvirtuelleorgler/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/musikforvirtuelleorgler/</guid><description>&lt;p&gt;A collection of algorithmic music written for virtual organs – that is, musical structures based on simple mathematics and probabilities and organised in ever-evolving patterns of ungraspable and unrelenting melodies and chord progressions. All the pieces were produced using programming languages and very accurate software models of pipe organs.&lt;/p&gt;
&lt;p&gt;Composed, mixed and mastered by Mads Kjeldgaard.&lt;/p&gt;
&lt;p&gt;Design: Tony Lugo.&lt;/p&gt;
&lt;p&gt;Released by &lt;a href="https://superpang.bandcamp.com/"&gt;SuperPang&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mads-kjeldgaard.bandcamp.com/album/musik-for-virtuelle-orgler"&gt;Click here to hear more&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Radio/Mixes</title><link>https://madskjeldgaard.dk/portfolio/radio-mixes/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/radio-mixes/</guid><description>&lt;iframe 
 width="100%"
 height="150"
 scrolling="no"
 frameborder="no"
 allow="autoplay"
 src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/589324038&amp;color=%23ff5500&amp;auto_play=false&amp;hide_related=false&amp;show_comments=true&amp;show_user=true&amp;show_reposts=false&amp;show_teaser=true"
&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;a href="https://soundcloud.com/thelakeradio/mads-kjeldgaard-mixtape-vintage-electronic-and-tape-music-from-scandinavia"&gt;Vintage Electronic And Tape Music From Scandinavia for NTS Radio and The Lake Radio&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.mixcloud.com/resonanceextra/conditional-30-mads-kjeldgaard-19th-september-2018/"&gt;Guest mix for Conditional Radio on Resonance EXTRA&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Singularity: Music for a dance performance</title><link>https://madskjeldgaard.dk/portfolio/singularity/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/singularity/</guid><description>&lt;div class="video-responsive"&gt;
 &lt;div style="padding:56.25% 0 0 0;position:relative;"&gt;&lt;iframe src="https://player.vimeo.com/video/739599581?title=0&amp;byline=0&amp;portrait=0" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" allow="autoplay; fullscreen" allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;script src="https://player.vimeo.com/api/player.js"&gt;&lt;/script&gt;
&lt;/div&gt;

&lt;p&gt;I composed music for the dance performance &amp;ldquo;Singularity&amp;rdquo; by dance artists Roosna &amp;amp; Flak. The music is purely generative, meaning that at each performance, the code for the performance generates new versions of the music involved. The solo performer has sensors attached to their body to create interactivity in the sound universe.&lt;/p&gt;
&lt;p&gt;See below for more information.&lt;/p&gt;
&lt;h2 id="description"&gt;Description&lt;/h2&gt;
&lt;p&gt;The solo dance performance Singularity is an invitation to meet the unknown in ourselves; to let images, thoughts and states arise, transform and dissolve — not knowing what will remain when we offer ourselves to ourselves.&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>Spatial remixes of classic electronic music</title><link>https://madskjeldgaard.dk/portfolio/resynthesized-ambisonic-classics/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/resynthesized-ambisonic-classics/</guid><description>&lt;p&gt;As part of &lt;a href="ultima.no"&gt;Ultima Festival&lt;/a&gt;, I reworked older classics of electronic music to make them work in a 3D audio speaker dome using the technology of ambisonics.&lt;/p&gt;
&lt;p&gt;At Ultima 2019, by commission of Notam, I created ambisonics versions of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faust by Else Marie Pade (1962)&lt;/li&gt;
&lt;li&gt;De Natura Sonorum by Bernard Parmegiani (1974)&lt;/li&gt;
&lt;li&gt;Poème électronique (1958) by Edgard Varèse&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://nymusikk.nextmp.net/en/hva-skjer/ultima-2020-ekeberg-kaller"&gt;At Ultima 2020, by commission of NyMusikk, I live-diffused&lt;/a&gt; in the forest of Ekeberg in Oslo:&lt;/p&gt;</description></item><item><title>States of Emergency</title><link>https://madskjeldgaard.dk/portfolio/statesofemergency/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/statesofemergency/</guid><description>&lt;p&gt;It began when a car exploded outside my window in Paris. Some guy had made a mistake while fixing his car or something and now his car and a car parked next to it were burning through the night while fire fighters were spraying water on it and bashing it with an axe to make the car horns stop.&lt;/p&gt;
&lt;p&gt;This gave me the idea to write music exploring the idea of the state of emergency (in Danish: Undtagelsestilstand, which literally translates to &amp;lsquo;state of exception&amp;rsquo;) which was in effect at the time. I wanted to create my own sonic zones of suspension where all laws are foldable, perspectives may be modulated and time reversed in a deep void.&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>Sværm: Båndmagasinet (The Lake)</title><link>https://madskjeldgaard.dk/portfolio/baandmagasinet-the-lake/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/baandmagasinet-the-lake/</guid><description>&lt;p&gt;Remastered by Niklas Adam.&lt;/p&gt;
&lt;p&gt;Cover by Mads Kjeldgaard.&lt;/p&gt;
&lt;p&gt;Recorded at DIEM, Århus on the Serge Modular System.&lt;/p&gt;
&lt;p&gt;Originally released as part of the tape magazine Båndmagasinet #3.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.resonansrecordings.com/bandmagasinet/"&gt;Båndmagasinet #3 - A cassette tape magazine. The piece Sværm was written for this audio magazine focused on synths&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://mads-kjeldgaard.bandcamp.com/track/sv-rm"&gt;Click here to hear more&lt;/a&gt;&lt;/p&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><item><title>Tour Mode</title><link>https://madskjeldgaard.dk/portfolio/tourmode/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/tourmode/</guid><description>&lt;div class="embed video-player"&gt;
&lt;iframe style="border: 0; width: 100%; height: 42px;" src="https://bandcamp.com/EmbeddedPlayer/track=3784391667/size=small/bgcol=000000/linkcol=ffffff/tracklist=false/artwork=small/transparent=true/artwork=none/" seamless&gt;&lt;/iframe&gt;
&lt;/div &gt;

&lt;p&gt;&amp;ldquo;40 people gathered in an imaginary community where the world lives under the gaze of the people of the future. It seems that this was a big project to develop a new, modern concept of what to do. But it was quite simply a one-off and never done to create anything new.
When I first started working on this idea, I went down to a few thousand hours and I found out the work was coming just before the opening. While I wouldn&amp;rsquo;t want to add a little glossary, there were enough details for a few to make the whole concept even more interesting.
But with the exception of this tiny, tiny demo, I think I had to write something about it. Nowadays I&amp;rsquo;ve been working on something called the new project called The New Concept.
The new concept is very simple, simple, and does not take up too much space (and yet we actually know exactly where we&amp;rsquo;re coming from). It doesn&amp;rsquo;t allow any of the basic concepts, since we are only going to use a little bit of math to figure out the full point of the concept. There&amp;rsquo;s only one area, and if you need to write about that, you&amp;rsquo;ll need those basic numbers yourself, so you have to really learn a bit more.
Unfortunately, that&amp;rsquo;s not the case for the concept, it&amp;rsquo;s the ones I&amp;rsquo;ve covered here and there.
Play loud to please the audience. The performance should be extremely enjoyable, and that the performances will provide an exciting atmosphere.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Verdenskværnen</title><link>https://madskjeldgaard.dk/portfolio/verdenskvaernen/</link><pubDate>Sun, 09 Jun 2024 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/portfolio/verdenskvaernen/</guid><description>&lt;p&gt;Verdenskværnen (&amp;ldquo;The world grinder&amp;rdquo;) is a composition inspired by the Swedish author August Strindberg&amp;rsquo;s rambling, autobiographical novel &amp;ldquo;Inferno&amp;rdquo; (1898) as well as the sounds of gentrification.&lt;/p&gt;
&lt;p&gt;It explores different ideas of sonic tactility in it&amp;rsquo;s sound material.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The sun shines, everyday life proceeds on its usual course, the cheerful bustle of business raises the spirits. Then one feels rebellious, and challenges heaven with doubts. But when night, silence, and loneliness reign, the heart beats, and the breast suffers from constriction. Then one jumps out of window into a hedge of thorns, and humbly begs a physician for help (&amp;hellip;) you are ground to powder, and think it is over. But no! You are brought again to the mill. Be thankful! That is hell upon earth, as Luther knew it, and reckoned it a special grace to be pulverised on this side of the grave.&amp;rdquo; - August Strindberg&amp;rsquo;s Inferno (1898)&lt;/p&gt;</description></item><item><title>Workshop: Composing 3D music using SuperCollider and ambisonics</title><link>https://madskjeldgaard.dk/old-blog/envelope-festival-3d-composition-workshop/</link><pubDate>Thu, 22 Sep 2022 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/old-blog/envelope-festival-3d-composition-workshop/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/small/envelopebanner.jpg" alt="Banner for the workshop"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Date: 1st of October&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Place: LMTA Musical Innovation Studies Centre, Vilnius, Lithuania&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Price: Free&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Workshop material: &lt;a href="https://github.com/madskjeldgaard/workshop-materials-3d-music-supercollider"&gt;Download on Github&lt;/a&gt; (will be available from the day of the workshop)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Address: Gedimino pr. 42 LT-01110 Vilnius, Lithuania&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As part of the &lt;a href="https://www.envelopefestival.com/mads-kjeldgaard"&gt;Envelope Festival&lt;/a&gt;, an immersive sound festival happening from September 10 till October 29 in the Baltic-Nordic region in person and online, I will be teaching a workshop on how to write algorithmic music for 3D sound systems (ambisonics) using SuperCollider.&lt;/p&gt;</description></item><item><title>Parallel processing in SuperCollider using SuperNova</title><link>https://madskjeldgaard.dk/old-blog/supernova-intro/</link><pubDate>Thu, 10 Feb 2022 09:20:36 +0100</pubDate><guid>https://madskjeldgaard.dk/old-blog/supernova-intro/</guid><description>&lt;p&gt;The SuperCollider sound server &lt;code&gt;scsynth&lt;/code&gt; is one of the most finely tuned and efficient synthesis engines out there. For most people on most modern computers, they will rarely meet limitations in terms of effeciency.&lt;/p&gt;
&lt;p&gt;That said, &lt;code&gt;scsynth&lt;/code&gt; does have one potential for optimization: Parallelization. And this is where &lt;code&gt;supernova&lt;/code&gt; comes into the picture.&lt;/p&gt;
&lt;p&gt;The original &lt;code&gt;scsynth&lt;/code&gt; sound server in SuperCollider, like lots of other audio software, runs on one core and so your computer&amp;rsquo;s single core performance is a big limitation for the possibilities of &lt;code&gt;scsynth&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Neovim as a SuperCollider IDE</title><link>https://madskjeldgaard.dk/old-blog/neovim-as-sc-ide/</link><pubDate>Wed, 02 Feb 2022 14:01:46 +0100</pubDate><guid>https://madskjeldgaard.dk/old-blog/neovim-as-sc-ide/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/full/scideneovim.png" alt="neovim in action"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://supercollider.github.io/"&gt;SuperCollider&lt;/a&gt; is my favourite programming language for music and sound and I use it all the time. The programming language comes with an IDE that is quite capable, but I for one prefer doing all of my coding in one editor (sometimes I write C++, lua and SuperCollider in one and the same project and this allows me to do it in just one editor instance) and that editor for me is NeoVim. The advantages of (Neo)Vim are many but for me the primary ones are that it is a keyboard centric tool, it&amp;rsquo;s lightweight, it is highly configurable and it works &lt;em&gt;everywhere&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Setting up Arch Linux for audio performance</title><link>https://madskjeldgaard.dk/old-blog/audio-setup-arch-2021/</link><pubDate>Tue, 29 Jun 2021 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/old-blog/audio-setup-arch-2021/</guid><description>&lt;p&gt;These notes are for setting up a new audio system on Arch Linux. It is assumed that you have an AUR helper like yay or paru installed (I use the latter here but exchange with yay if you use that). This isn&amp;rsquo;t a tutorial but just a collection of notes to help myself and perhaps others setup a high performance audio system in Arch Linux. The Arch Linux maintainers have done an amazing job in making it a good operating system for this kind of work by allowing users to easily setup the system with the right privileges and install the needed software.&lt;/p&gt;</description></item><item><title>Dual boot setup with Windows and Arch: Installation notes</title><link>https://madskjeldgaard.dk/old-blog/dual-boot-win-arch-installation-notes/</link><pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/old-blog/dual-boot-win-arch-installation-notes/</guid><description>&lt;p&gt;These are notes that I gathered for myself while setting up and installing a dual boot system on an old laptop that I repaired and resurrected. The laptop has a 1TB hard drive so it&amp;rsquo;s got plenty of space for fun stuff like this.&lt;/p&gt;
&lt;p&gt;The first step is to install Windows. I won&amp;rsquo;t cover that here. I installed it on the first 100GB of the 1TB hard drive and then rebooted from the Arch Live Iso to start the arch installation to take up the rest of the drive. The installation will make the windows partition accessible from the Arch environment.&lt;/p&gt;</description></item><item><title>Install Wine-TKG to improve Windows VST plugin performance on Arch Linux</title><link>https://madskjeldgaard.dk/old-blog/improve-vst-performance-wine-tkg/</link><pubDate>Mon, 21 Jun 2021 11:13:58 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/improve-vst-performance-wine-tkg/</guid><description>&lt;p&gt;I do all of my production work on Arch-based Linux systems these days. This is generally a pleasent experience since &lt;a href="https://reaper.fm"&gt;Reaper started supporting native Linux builds&lt;/a&gt; and &lt;a href="https://madskjeldgaard.dk/posts/vst-manager/"&gt;yabridgectl made bridging Windows VST Plugins quite breezy and effective&lt;/a&gt;. Once setup correctly, this offers a performance experience and workflow that I think is quite close to native.&lt;/p&gt;
&lt;p&gt;One advice that I kept hearing again and again though was to install wine (the Wine program that lets you use Windows software on Linux) using &lt;a href="https://madskjeldgaard.dk/posts/vst-manager/"&gt;wine-tkg&lt;/a&gt;, a customized build system for installing. The TKG system makes it easy to add patches during installation that increases performance and was, as far as I can tell, made for gamers who wanted to squeeze the best possible performance out of Linux systems (thanks, gamers!). The main patch we are interestd in here is the one that adds support for &lt;code&gt;fsync&lt;/code&gt; &lt;a href="https://www.techspot.com/news/81254-valve-proposes-changes-linux-kernel-make-more-game.html"&gt;which uses some kernel trickery to reduce cpu usage&lt;/a&gt;. The increased performance is relevant for audio work as well (see &lt;a href="https://zezic.github.io/yabridge-benchmark/"&gt;this post for performance results using yabridge on Ubuntu&lt;/a&gt;).&lt;/p&gt;</description></item><item><title>A simple multi touch midi controller using the Trill sensor and Teensy LC</title><link>https://madskjeldgaard.dk/old-blog/multi-touch-trill-controller1/</link><pubDate>Fri, 14 May 2021 00:00:00 +0000</pubDate><guid>https://madskjeldgaard.dk/old-blog/multi-touch-trill-controller1/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/full/trillteensy1.jpg" alt="trill bar controller"&gt;&lt;/p&gt;
&lt;p&gt;I recently bought one of Bela&amp;rsquo;s &lt;a href="https://eu.shop.bela.io/collections/trill"&gt;Trill sensors&lt;/a&gt; - a really nice multitouch capacitive sensor that comes in various shapes and sizes (and &lt;a href="https://github.com/BelaPlatform/Trill"&gt;open source hardware&lt;/a&gt; !). Capacitive touch sensing is something that has been used in analog modular synthesizers for half a century. The main attraction for me as an artist is that it is incredibly response as opposed to the bulky rubber buttons you get on terrible commercial midi controllers or even high quality switches: As soon as you touch it, it sends off a signal (as opposed to a hardware button where the button has to be pressed to the point where it triggers - it sounds like nothing when put in to writing but the difference in responsiveness is incredible). Since this is a digital circuit, the response is not immediate as it is in an analog circuitry but it is very close (125 microseconds) to immediate I find.&lt;/p&gt;</description></item><item><title>Tutorial: How to write plugins for SuperCollider using C++</title><link>https://madskjeldgaard.dk/old-blog/supercollider-server-plugin-tutorial/</link><pubDate>Thu, 18 Mar 2021 22:09:08 +0100</pubDate><guid>https://madskjeldgaard.dk/old-blog/supercollider-server-plugin-tutorial/</guid><description>&lt;p&gt;My amazing &lt;a href="https://notam.no"&gt;workplace&lt;/a&gt; allowed me time during the Covid-19 lockdowns in Oslo to spend time improving my C++ and DSP skills. The result of this is a bunch of plugins for SuperCollider, &lt;a href="https://github.com/madskjeldgaard/mkplugins"&gt;some of which are already released&lt;/a&gt; as well as a trunk of Notam plugins that are to be announced.&lt;/p&gt;
&lt;p&gt;The process of creating server plugins (aka UGens) for SuperCollider is one of the most fun and gratifying ways one can experiment with DSP and C++ in my opinion. That said, getting started with it was a difficult task for me since the different resources on the process of creating plugins for SuperCollider were either spotty or out of date and did not include some of the best practices involved in creating high quality plugins.&lt;/p&gt;</description></item><item><title>Setting up and using the Daisy Seed DSP platform on Linux</title><link>https://madskjeldgaard.dk/old-blog/daisy-setup/</link><pubDate>Thu, 11 Mar 2021 09:20:36 +0100</pubDate><guid>https://madskjeldgaard.dk/old-blog/daisy-setup/</guid><description>&lt;p&gt;I recently got hold of Electro-Smith&amp;rsquo;s powerful &lt;a href="https://https://www.electro-smith.com/daisy"&gt;Daisy Seed&lt;/a&gt; microcontroller board for developing embedded DSP projects. Unfortunately, at the time of writing the libraries for it do not support Platformio fully which is normally my preferred way of working with microcontrollers but fortunately it&amp;rsquo;s pretty easy to setup and use using &lt;em&gt;make&lt;/em&gt;. Here are my notes for doing that.&lt;/p&gt;
&lt;h2 id="install-prerequisites-on-arch"&gt;Install prerequisites (on Arch)&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yay -S dfu-util gcc-arm-none-eabi-bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="setup-and-build-libraries"&gt;Setup and build libraries&lt;/h2&gt;
&lt;p&gt;From the root of your project:&lt;/p&gt;</description></item><item><title>Automatically build, compile and release SuperCollider plugins using Github Actions</title><link>https://madskjeldgaard.dk/old-blog/how-to-gh-action/</link><pubDate>Wed, 03 Mar 2021 18:22:34 +0100</pubDate><guid>https://madskjeldgaard.dk/old-blog/how-to-gh-action/</guid><description>&lt;p&gt;Since the main SuperCollider github repository moved to using Github Actions to automatically build, compile and release cross platform, I felt intrigued to use the same technology to do the same for SuperCollider plugins.&lt;/p&gt;
&lt;p&gt;There is a number of amazing SuperCollider plugin repositories on Github - a lot will demand that the user compiles the sourcecode themselves to use the plugins. For people used to CMake and/or a Linux-ey workflow of compiling, this is not a big problem but for a lot of others (most people perhaps), it really is a doorstopper.&lt;/p&gt;</description></item><item><title>A midi controller in a box of screws</title><link>https://madskjeldgaard.dk/old-blog/master-volume/</link><pubDate>Sat, 06 Feb 2021 21:16:09 +0000</pubDate><guid>https://madskjeldgaard.dk/old-blog/master-volume/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/full/screws1.jpg" alt="box of screws controller"&gt;
&lt;img src="https://madskjeldgaard.dk/img/full/screws2.jpg" alt="box of screws controller"&gt;&lt;/p&gt;
&lt;p&gt;I recently built version 2 of a &amp;ldquo;master volume control&amp;rdquo; midi controller that I had made before. This version is slightly improved on the former, the main improvement being that if you press the button while booting the device it goes into 14 bit midi mode (leveraging 13 of the Teensy&amp;rsquo;s bits for this) to allow high resolution on the potentiometer&amp;rsquo;s input.&lt;/p&gt;
&lt;p&gt;The controller is very cheap and simple to make.
It revolves around the wonderful and cheap (11$) Teensy LC.&lt;/p&gt;</description></item><item><title>Helpful SuperCollider plugin macros</title><link>https://madskjeldgaard.dk/old-blog/helpful-sc-plugin-macros/</link><pubDate>Fri, 13 Nov 2020 21:38:31 +0100</pubDate><guid>https://madskjeldgaard.dk/old-blog/helpful-sc-plugin-macros/</guid><description>&lt;p&gt;This is a transcription of Dan Stowell&amp;rsquo;s very helpful table in the SuperCollider Book (MIT), slightly edited and transcribed for the &amp;ldquo;new&amp;rdquo; c++ style for writing plugins. It contains &lt;em&gt;some&lt;/em&gt; of the macros available when writing UGens/Plugins in c++ in SuperCollider.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/supercollider/example-plugins"&gt;This repo contains example code&lt;/a&gt; for writing plugins in both the &amp;ldquo;old&amp;rdquo; and &amp;ldquo;new&amp;rdquo; style which I found helpful in understanding this subject.&lt;/p&gt;
&lt;p&gt;Also check out this &lt;a href="https://github.com/supercollider/cookiecutter-supercollider-plugin"&gt;cookiecutter template for generating plugins&lt;/a&gt; and the &lt;a href="http://doc.sccode.org/Reference/ServerPluginAPI.html"&gt;Server Plugin API&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Esp32 Simple Osc Receiver</title><link>https://madskjeldgaard.dk/old-blog/esp32-simple-osc-receiver/</link><pubDate>Mon, 09 Nov 2020 16:29:19 +0100</pubDate><guid>https://madskjeldgaard.dk/old-blog/esp32-simple-osc-receiver/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/full/esp32-bb.jpg" alt="breadboarded esp32"&gt;&lt;/p&gt;
&lt;p&gt;Lately I have started experimenting with the very cheap and powerful &lt;a href="https://docs.espressif.com/projects/esp-idf/en/latest/esp32/"&gt;ESP32 microcontrollers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Today I made a simple example of a firmware which receives OSC from a computer and then blinks the on-board LED according to the incoming message and I packaged it all as an easy to clone/copy/use &lt;a href="https://github.com/madskjeldgaard/esp32-receive-osc-simple"&gt;platformio project (mostly for myself)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The firmware uses &lt;a href="https://github.com/CNMAT/OSC"&gt;CNMAT&amp;rsquo;s OSC library&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-cpp" data-lang="cpp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;#34;Arduino.h&amp;#34;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;#34;WiFi.h&amp;#34;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include&lt;/span&gt; &lt;span style="color:#75715e"&gt;&amp;lt;OSCMessage.h&amp;gt;&lt;/span&gt;&lt;span style="color:#75715e"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;WiFiUDP Udp; &lt;span style="color:#75715e"&gt;// A UDP instance to let us send and receive packets over UDP
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; LED_BUILTIN &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Options
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; update_rate &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;16&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// Network settings
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;char&lt;/span&gt; ssid[] &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;wifiname&amp;#34;&lt;/span&gt;; &lt;span style="color:#75715e"&gt;// your network SSID (name)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;char&lt;/span&gt; pass[] &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;wifipassword&amp;#34;&lt;/span&gt;; &lt;span style="color:#75715e"&gt;// your network password
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;unsigned&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; localPort &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;8888&lt;/span&gt;; &lt;span style="color:#75715e"&gt;// local port to listen for OSC packets
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;setup&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; pinMode(LED_BUILTIN, OUTPUT);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;/* setup wifi */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; WiFi.begin(ssid, pass);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;while&lt;/span&gt; (WiFi.status() &lt;span style="color:#f92672"&gt;!=&lt;/span&gt; WL_CONNECTED) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; delay(&lt;span style="color:#ae81ff"&gt;500&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Udp.begin(localPort);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;ledtoggle&lt;/span&gt;(OSCMessage &lt;span style="color:#f92672"&gt;&amp;amp;&lt;/span&gt;msg) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;switch&lt;/span&gt; (msg.getInt(&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;)) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;case&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; digitalWrite(LED_BUILTIN, LOW);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;case&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&lt;span style="color:#f92672"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; digitalWrite(LED_BUILTIN, HIGH);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;receiveMessage&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; OSCMessage inmsg;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; size &lt;span style="color:#f92672"&gt;=&lt;/span&gt; Udp.parsePacket();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (size &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;while&lt;/span&gt; (size&lt;span style="color:#f92672"&gt;--&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; inmsg.fill(Udp.read());
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (&lt;span style="color:#f92672"&gt;!&lt;/span&gt;inmsg.hasError()) {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; inmsg.dispatch(&lt;span style="color:#e6db74"&gt;&amp;#34;/led&amp;#34;&lt;/span&gt;, ledtoggle);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; } 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#75715e"&gt;//else { auto error = inmsg.getError(); }
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;loop&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; receiveMessage();
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; delay(update_rate);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And here is some SuperCollider code to play around with:&lt;/p&gt;</description></item><item><title>Working with 14bit Midi using a Teensy microcontroller and Supercollider</title><link>https://madskjeldgaard.dk/old-blog/14bit-midi-teensy-supercollider/</link><pubDate>Wed, 21 Oct 2020 15:48:28 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/14bit-midi-teensy-supercollider/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/full/14bitteensybb.jpg" alt="Teensy on a breadboard"&gt;&lt;/p&gt;
&lt;p&gt;Lately I have been experimenting with 14bit MIDI and found it to be a huge revelation for my work with SuperCollider. Often, the regular data range of MIDI (0-127) is way too choppy and coarse for nice interactions with your systems and instruments in SuperCollider, but 14 bit MIDI provides a resolution of 16384 steps which is great. This is actually achieved quite cleverly by combining two MIDI CC signals in to one.&lt;/p&gt;</description></item><item><title>A portable Arch Linux Computer Music system on a USB drive</title><link>https://madskjeldgaard.dk/old-blog/portable-arch-computermusic-distro-usb/</link><pubDate>Sat, 10 Oct 2020 17:17:22 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/portable-arch-computermusic-distro-usb/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/full/archlive.jpg" alt="my usb"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://jamesmcm.github.io/blog/2020/09/09/alma/#en"&gt;Inspired by this blog post&lt;/a&gt;, I have been toying with a silly idea lately: A completely portable Arch Linux distribution set up properly for computer music, but flashed onto a USB thumb drive so that I may pop it into any computer, boot from the thumb drive and start creating music on whatever hardware is in front of me.&lt;/p&gt;
&lt;p&gt;I have achieved this now using the awesome &lt;a href="https://github.com/r-darwish/alma"&gt;alma&lt;/a&gt; project. Alma is a tool for creating persistent USB installations of Arch Linux using a series of configuration files and bash scripts called &lt;em&gt;presets&lt;/em&gt;. See &lt;a href="https://github.com/madskjeldgaard/arch-linux-computermusic-usb"&gt;my alma presets here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>How to install Windows VST Plugins on Arch Linux and Manjaro</title><link>https://madskjeldgaard.dk/old-blog/vst-manager/</link><pubDate>Fri, 02 Oct 2020 12:20:40 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/vst-manager/</guid><description>&lt;p&gt;One of the big hurdles for me when switching from a Mac based audio setup was the potential loss of access to my expensive collection of VST plugins (because a lot of developers still ignore the Linux platform as if it was 1995 even though it has never been easier to make and release cross platform plugins). Little did I know that almost all of them would run just fine on Linux using the &lt;code&gt;wine&lt;/code&gt; Windows compatibility layer and the &lt;code&gt;yabridge&lt;/code&gt; or &lt;code&gt;linvst&lt;/code&gt; VST plugin bridging software.&lt;/p&gt;</description></item><item><title>Notes on creating packages for the Arch User Repository (AUR)</title><link>https://madskjeldgaard.dk/old-blog/aur-package-workflow/</link><pubDate>Sat, 19 Sep 2020 22:51:04 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/aur-package-workflow/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/small/archlogo.png" alt="arch logo"&gt;&lt;/p&gt;
&lt;p&gt;These are notes I have been taking while making packages for the &lt;a href="https://aur.archlinux.org"&gt;Arch User Repository&lt;/a&gt;, a community based package repository for users of Arch Linux and it&amp;rsquo;s derivative operating systems. This isn&amp;rsquo;t a complete guide and certainly not beginner friendly but should help some people with some linux experience get started.&lt;/p&gt;
&lt;p&gt;If you have a tolerance for YouTube videos, then maybe &lt;a href="https://youtu.be/crnGzF43aoc"&gt;this video will be helpful to you&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is also recommend to read the official guide on how to create packages: &lt;a href="https://wiki.archlinux.org/index.php/Creating_packages"&gt;Creating packages&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Workshop notes for SuperCollider pattern introduction workshop september 2020</title><link>https://madskjeldgaard.dk/old-blog/pattern-workshop-sept-2020/</link><pubDate>Tue, 01 Sep 2020 15:32:13 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/pattern-workshop-sept-2020/</guid><description>&lt;p&gt;&lt;em&gt;These are workshop notes for the online introductory SuperCollider workshop put on by &lt;a href="https://notam.no"&gt;Notam&lt;/a&gt; in September 2020.
It covers the basics of using the pattern library in SuperCollider&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;You can download the notes here: &lt;a href="https://madskjeldgaard.dk/pdf/pattern-workshop-sept-2020.pdf"&gt;workshop-notes&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="design"&gt;Design&lt;/h2&gt;
&lt;hr&gt;
&lt;h3 id="short-history-of-supercollider"&gt;Short history of SuperCollider&lt;/h3&gt;
&lt;p&gt;SC was designed by James McCartney as closed source proprietary software&lt;/p&gt;
&lt;p&gt;Version 1 &lt;a href="https://groups.google.com/forum/#!topic/comp.music.research/g2f9EcL1mUw"&gt;came out in 1996 based on a Max
object&lt;/a&gt;
called Pyrite. Cost 250$+shipping and could only run on PowerMacs.&lt;/p&gt;
&lt;p&gt;Became free open source software in 2002 and is now cross platform and is now maintained by a wonderful group of developers.&lt;/p&gt;</description></item><item><title>Raspberry Pi 4: Simple Button to OSC example in Rust</title><link>https://madskjeldgaard.dk/old-blog/raspi-4-gpio-button-rust/</link><pubDate>Thu, 11 Jun 2020 16:49:29 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/raspi-4-gpio-button-rust/</guid><description>&lt;p&gt;Today I did a small experiment with my Raspberry Pi 4: I wanted to poll the GPIO data pins and use data from them in SuperCollider. This is best done by polling the pins in a separate program and then sending that data to SuperCollider via OSC.&lt;/p&gt;
&lt;p&gt;I have done this in Python before but I much prefer doing this kind of thing in Rust since the latter is fast and safe (and just generally: I love Rust!).&lt;/p&gt;</description></item><item><title>Interview with Passive/Aggressive</title><link>https://madskjeldgaard.dk/old-blog/interview-pa-2020/</link><pubDate>Sat, 06 Jun 2020 14:11:05 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/interview-pa-2020/</guid><description>&lt;p&gt;At the beginning of the Covid-19 crisis the Danish artist Claus Haxholm reached out to me to do an interview by email. It turned out to be a lengthy email exchange which resulted in an interview available on the Danish music website &lt;a href="http://passiveaggressive.dk"&gt;Passive/Aggressive&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the interview (which is in Danish unfortunately) I talk about the brain, morphology, Norway, time and different speculative subjects related to computer music, as well as my Vortex system.&lt;/p&gt;</description></item><item><title>Networked audio using Raspberry Pi 4 (zita-njbridge and SuperCollider)</title><link>https://madskjeldgaard.dk/old-blog/raspi-zita-njbridge/</link><pubDate>Sun, 03 May 2020 10:17:27 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/raspi-zita-njbridge/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/small/raspi-and-cheap-usb-interface.jpg" alt="raspberry pi with a 1$ usb sound interface"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://jackaudio.org/"&gt;Jack&lt;/a&gt; is an incredibly flexible piece of software for making audio connections. It&amp;rsquo;s mostly used to connect and patch virtually within one computer but it has a range of amazing extra features for connecting things in alternative ways.&lt;/p&gt;
&lt;p&gt;This is exploited to it&amp;rsquo;s fullest in the &lt;a href="https://packages.debian.org/jessie/sound/zita-njbridge"&gt;zita-njbridge&lt;/a&gt; package.&lt;/p&gt;
&lt;p&gt;To quote from the manual on zita-njbridge:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The zita-j2n (sender) and zita-n2j (receiver) applications allow to
exchange up to 64 channels of full-quality uncompressed audio streams between
two or more systems running the Jack audio server. Sender and receiver(s)
can each have their own sample rate and period size, and no word clock sync
between them is assumed. The receiver uses adaptive resampling to convert
the audio stream(s) to its local sample rate.&lt;/p&gt;</description></item><item><title>Notes for setting up a Raspberry Pi 4 for audio work</title><link>https://madskjeldgaard.dk/old-blog/raspi4-notes/</link><pubDate>Thu, 30 Apr 2020 16:07:22 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/raspi4-notes/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/full/raspi-and-cheap-usb-interface.jpg" alt="raspberry pi 4 setup "&gt;&lt;/p&gt;
&lt;p&gt;These are notes for setting up a Raspberry Pi 4 single board computer for pro audio work. Specifically for running &lt;a href="https://supercollider.sourceforge.net/"&gt;SuperCollider programs for interactive installations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I used &lt;a href="https://www.raspberrypi.org/downloads/Raspbian/"&gt;Raspbian Lite&lt;/a&gt; for this, since my intention is to run the Raspberry Pi in headless mode, meaning using no display and no desktop environment (to save resources).&lt;/p&gt;
&lt;p&gt;It is presumed that you have installed Raspbian on an SD card, with ssh enabled (allowing you to log in to the pi over the network and execute commands using a terminal), and that you are logged in.&lt;/p&gt;</description></item><item><title>Awesome SuperCollider: A curated list</title><link>https://madskjeldgaard.dk/old-blog/awesome-sc/</link><pubDate>Thu, 30 Apr 2020 12:57:31 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/awesome-sc/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/small/chaos-algo.png" alt="chaos algo"&gt;&lt;/p&gt;
&lt;p&gt;A while ago I started compiling a list of links to SuperCollider based things that I found interesting and wanted to save for later.&lt;/p&gt;
&lt;p&gt;The list grew and at one point I organized it all in one public repository where the SuperCollider community could help curate links to &lt;em&gt;awesome SuperCollider things&lt;/em&gt; and it has since then become a truly rich resource for things like tutorials, reading material, nice projects and tools.&lt;/p&gt;</description></item><item><title>On Rust, OSC and creative coding in nannou</title><link>https://madskjeldgaard.dk/old-blog/nannou-osc-guides/</link><pubDate>Sun, 26 Apr 2020 15:02:49 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/nannou-osc-guides/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/small/nannou-psych-square1.png" alt="alt"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://nannou.cc"&gt;Nannou&lt;/a&gt; is a relatively new framework for creative coding ⨪ kind of like processing, openFrameworks and cinder.&lt;/p&gt;
&lt;p&gt;A creative coding framework usually consists of a cluster of tools for working creatively with audio, visuals, robotics, lasers and many other things in one coding framework, and nannou is no different.&lt;/p&gt;
&lt;p&gt;The great thing about nannou is that it is a framework making use of the cool new systems programming language &lt;a href="https://www.rust-lang.org/"&gt;Rust&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>SoX tutorial: SoX on Android</title><link>https://madskjeldgaard.dk/old-blog/sox-tutorial-sox-on-android/</link><pubDate>Sun, 26 Apr 2020 10:21:42 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/sox-tutorial-sox-on-android/</guid><description>&lt;p&gt;&lt;a href="https://hyaline.systems/blog/sox-guide/"&gt;This post has been updated and moved here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>SoX tutorial: Batch processing audio on the command line</title><link>https://madskjeldgaard.dk/old-blog/sox-tutorial-batch-processing/</link><pubDate>Sun, 26 Apr 2020 10:07:25 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/sox-tutorial-batch-processing/</guid><description>&lt;p&gt;&lt;a href="https://hyaline.systems/blog/sox-guide/"&gt;This post has been updated and moved here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>SoX tutorial: Split by silence</title><link>https://madskjeldgaard.dk/old-blog/sox-tutorial-split-by-silence/</link><pubDate>Sun, 26 Apr 2020 01:07:33 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/sox-tutorial-split-by-silence/</guid><description>&lt;p&gt;&lt;a href="https://hyaline.systems/blog/sox-guide/"&gt;This post has been updated and moved here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>SoX tutorial: Command line tape music (an introduction)</title><link>https://madskjeldgaard.dk/old-blog/sox-tutorial-cli-tape-music/</link><pubDate>Sun, 26 Apr 2020 00:00:44 +0200</pubDate><guid>https://madskjeldgaard.dk/old-blog/sox-tutorial-cli-tape-music/</guid><description>&lt;p&gt;&lt;a href="https://hyaline.systems/blog/sox-guide/"&gt;This post has been updated and moved here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>About</title><link>https://madskjeldgaard.dk/about/</link><pubDate>Tue, 14 Apr 2020 10:41:44 +0200</pubDate><guid>https://madskjeldgaard.dk/about/</guid><description>&lt;h1 id="about-mads-kjeldgaard"&gt;About Mads Kjeldgaard&lt;/h1&gt;
&lt;p&gt;Mads Kjeldgaard is a composer and sound artist from Denmark. He works mainly in the fields of algorithmic composition and interactive sound art, using self-authored software and hardware, generative processes, patterns, biology, and sound environments to create dazzling sonic structures.&lt;/p&gt;
&lt;p&gt;In 2024, he founded the platform &lt;a href="https://exformal.art/"&gt;Exformal Records&lt;/a&gt; for sound and listening-based thinking. He studied electronic music composition at The Royal Academy of Music (DIEM), trained as a journalist, and is a member of &lt;a href="https://www.komponistforeningen.dk/get-know-us"&gt;The Danish Composers’ Society&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>SuperCollider workshop at Notam, january 2020: Algorithmic composition using patterns</title><link>https://madskjeldgaard.dk/supercollider-workshop-at-notam-january-2020-algorithmic-composition-using-patterns/</link><pubDate>Thu, 23 Jan 2020 21:18:29 +0000</pubDate><guid>https://madskjeldgaard.dk/supercollider-workshop-at-notam-january-2020-algorithmic-composition-using-patterns/</guid><description>&lt;p&gt;Here are the slides for the SuperCollider workshop at Notam, january 2020.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://madskjeldgaard.dk/pdf/pattern-workshop-notam-2020.pdf"&gt;Download slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="algorithmic-composition-using-patterns"&gt;Algorithmic composition using patterns&lt;/h2&gt;
&lt;h3 id="notam-january-2020"&gt;Notam, january 2020&lt;/h3&gt;
&lt;hr&gt;
&lt;h2 id="about-me"&gt;About me&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Name: Mads Kjeldgaard&lt;/li&gt;
&lt;li&gt;Occupation: Composer and developer&lt;/li&gt;
&lt;li&gt;Work: The Norwegian Center for Technology and Art (Notam)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="notam"&gt;Notam&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Development for art projects (hardware, software, tech and artistic
guidance)&lt;/li&gt;
&lt;li&gt;Communities / meetups (SC meetup among others), see website
&lt;a href="http://notam.no"&gt;notam.no&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Studios / 3D sound / VR / Visuals / Electronics&lt;/li&gt;
&lt;li&gt;Courses&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="my-practice"&gt;My practice&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Computer music / livecoding&lt;/li&gt;
&lt;li&gt;Concrete music&lt;/li&gt;
&lt;li&gt;Cybernetic / systemic music&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="contact-info"&gt;Contact info&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;mail: &lt;a href="mailto:mail@madskjeldgaard.dk"&gt;mail@madskjeldgaard.dk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;web: &lt;a href="http://madskjeldgaard.dk"&gt;madskjeldgaard.dk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;github:
&lt;a href="http://github.com/madskjeldgaard"&gt;github.com/madskjeldgaard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;work: &lt;a href="http://notam.no"&gt;notam.no&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="about-algorithmic-composition"&gt;About algorithmic composition&lt;/h2&gt;
&lt;hr&gt;
&lt;h2 id="what-is-an-algorithm"&gt;What is an algorithm?&lt;/h2&gt;
&lt;p&gt;An algorithm is a process that takes something as an input, computes on
it, and then outputs the result.&lt;/p&gt;</description></item><item><title>Pattern workshop, Herlev Bibliotek 2019</title><link>https://madskjeldgaard.dk/pattern-workshop-herlev-bibliotek-2019/</link><pubDate>Wed, 06 Nov 2019 11:22:54 +0000</pubDate><guid>https://madskjeldgaard.dk/pattern-workshop-herlev-bibliotek-2019/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/img/small/workshop-herlev-2019.jpg" alt="alt"&gt;&lt;/p&gt;
&lt;p&gt;Here are the materials for the SuperCollider workshop at Herlev Bibliotek, Denmark, November 2019.&lt;/p&gt;
&lt;p&gt;The SynthDef used for the workshop [can be downloaded here.][1]&lt;/p&gt;
&lt;p&gt;&lt;a href="https://madskjeldgaard.dk/pdf/herlev-2019.pdf"&gt;Download slides here.&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="supercollider-workshop"&gt;SuperCollider workshop&lt;/h2&gt;
&lt;h3 id="herlev-bibliotek-denmark-2019"&gt;Herlev Bibliotek, Denmark, 2019&lt;/h3&gt;
&lt;hr&gt;
&lt;h2 id="about-me"&gt;About me&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Name: Mads Kjeldgaard&lt;/li&gt;
&lt;li&gt;Occupation: Composer and developer&lt;/li&gt;
&lt;li&gt;Work: The Norwegian Center for Technology and Art (Notam)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;img src="studio3.jpg" alt="studio3"&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="notam"&gt;Notam&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Development for art projects (hardware, software, tech and artistic
guidance)&lt;/li&gt;
&lt;li&gt;Communities / meetups (SC meetup among others)&lt;/li&gt;
&lt;li&gt;Studios / 3D sound / VR / Visuals&lt;/li&gt;
&lt;li&gt;Courses&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="my-practice"&gt;My practice&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Computer music / livecoding&lt;/li&gt;
&lt;li&gt;Field recording&lt;/li&gt;
&lt;li&gt;3D sound composition&lt;/li&gt;
&lt;li&gt;Sound environments&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="contact-info"&gt;Contact info&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;mail: &lt;a href="mailto:mail@madskjeldgaard.dk"&gt;mail@madskjeldgaard.dk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;web: &lt;a href="http://madskjeldgaard.dk"&gt;madskjeldgaard.dk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;github:
&lt;a href="http://github.com/madskjeldgaard"&gt;github.com/madskjeldgaard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="design"&gt;Design&lt;/h2&gt;
&lt;hr&gt;
&lt;h2 id="short-history-of-supercollider"&gt;Short history of SuperCollider&lt;/h2&gt;
&lt;p&gt;SC was designed by James McCartney as closed source proprietary software&lt;/p&gt;</description></item><item><title>How to change the default synth in SuperCollider</title><link>https://madskjeldgaard.dk/how-to-change-the-default-synth-in-supercollider/</link><pubDate>Fri, 18 Oct 2019 12:42:12 +0000</pubDate><guid>https://madskjeldgaard.dk/how-to-change-the-default-synth-in-supercollider/</guid><description>&lt;p&gt;The default synth sound in SuperCollider is a cheesy old piano sound. If you have ever tried the event pattern examples in the documentation of SuperCollider or been in the process of testing some pattern specifics of your own, you will have heard this extremely unconvincing synthesizer:&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id="a-nice-alternative-a-triangle-wave-synth-with-a-low-pass-filter"&gt;A nice alternative: A triangle wave synth with a low pass filter&lt;/h2&gt;
&lt;p&gt;Imagine a utopian world where the default cheese-piano-synth has been replaced by a nicer, kind of gameboy like synth. Well that world is here and now.&lt;/p&gt;</description></item><item><title>Introduction to SuperCollider, Notam 2019</title><link>https://madskjeldgaard.dk/scintro-notam-2019/</link><pubDate>Sun, 01 Sep 2019 12:54:46 +0000</pubDate><guid>https://madskjeldgaard.dk/scintro-notam-2019/</guid><description>&lt;p&gt;Here you will find the material for the introductory workshop held at Notam, Oslo in late summer 2019.&lt;/p&gt;
&lt;p&gt;The slides may be used as a sort of cheatsheet as well as notes for remembering the topics covered:&lt;/p&gt;
&lt;p&gt;• An overview: What is SuperCollider and what can you do with it?&lt;/p&gt;
&lt;p&gt;• The design and architecture of SuperCollider&lt;/p&gt;
&lt;p&gt;• Language basics: syntax, variables, expressions and functions&lt;/p&gt;
&lt;p&gt;• Learning resources: How to proceed from here&lt;/p&gt;</description></item><item><title>SuperCollider tutorial: Mass producing SynthDefs</title><link>https://madskjeldgaard.dk/old-blog/2019-08-19-supercollider-tutorial-mass-producing-synthdefs/</link><pubDate>Mon, 19 Aug 2019 10:36:35 +0000</pubDate><guid>https://madskjeldgaard.dk/old-blog/2019-08-19-supercollider-tutorial-mass-producing-synthdefs/</guid><description>&lt;p&gt;In SuperCollider, one of the most common ways of making sounds is by first defining a sort of recipe for a UGEN patch in a SynthDef and then from that recipe produce Synths that make sounds.&lt;/p&gt;
&lt;p&gt;But when you write a SynthDef, the patch architecture cannot change after the definition (as opposed to changing arguments in the patch).&lt;/p&gt;
&lt;p&gt;This becomes annoying when working with UGens that want to know the exact number of channels used, eg. &lt;a href="http://doc.sccode.org/Classes/PlayBuf.html"&gt;PlayBuf&lt;/a&gt;, when defining the Synth.&lt;/p&gt;</description></item><item><title>SuperCollider tutorial: Easily render generative compositions as sound files using NRT</title><link>https://madskjeldgaard.dk/old-blog/2019-08-05-supercollider-how-to-render-patterns-as-sound-files-using-nrt/</link><pubDate>Mon, 05 Aug 2019 17:46:09 +0000</pubDate><guid>https://madskjeldgaard.dk/old-blog/2019-08-05-supercollider-how-to-render-patterns-as-sound-files-using-nrt/</guid><description>&lt;p&gt;&lt;img src="https://madskjeldgaard.dk/wp-content/uploads/2019/08/supercollider-laptop-room-e1566211773173.jpg" alt="alt"&gt;&lt;/p&gt;
&lt;p&gt;One of the many powerful features of SuperCollider is it’s ability to render sounds offline. This is called &lt;a href="http://doc.sccode.org/Guides/Non-Realtime-Synthesis.html"&gt;Non-Realtime Synthesis (NRT)&lt;/a&gt;. NRT is for example useful for fast, offline processing of sounds, doing sound analysis or rendering generative compositions.&lt;/p&gt;
&lt;p&gt;NRT works like this (normally): First you write a list of server OSC messages (stored in a &lt;a href="http://doc.sccode.org/Classes/Score.html"&gt;Score&lt;/a&gt; usually) which will tell the (offline) server what to do at what point in time when you decide to render it. These are in the format [beat, [osc_command]]. An example: Making a Synth using synthdef \boring_sine at beat number 2 looks like this in such a OSC form: [2.0, [\s_new, \boring_sine, 1001, 0, 0]]&lt;/p&gt;</description></item></channel></rss>