development | hardware | software
Sustain2MIDI (2024)
Convert a sustain pedal to a usb midi controller.

A useful and cheap way to convert keyboard sustain pedals to USB midi controllers.
Full source code is here.
Features
- Dirt cheap (all you need is a mono jack socket and a raspberry pi pico)
- Sends note on/off
- Note number can be changed easily by sending a midi note to the device.
- (Optional) Use a WS2812 NeoPixel to show the state and midi note value via colour (I use this module but I think any one should work) – disable this using the
SUS2MIDI_NEOPIXELbuild flag in the .ini file.
More projects:

Hyphal (2025)
Algorithmic music for a computer-controlled pipe organ, celebrating life.
A problem occurred with the audio player. Here is some debug info:
Title: Snippet of Hyphal (2025).
MP3: /audio/hyphal-snippet.mp3
ID: 1770976335325226000
CSS ID: jquery_jplayer_1770976335325226000
Container ID: jp_container_1770976335325226000

Life in the Quiet Zone (2025)
An audio essay about the so-called quiet zone in the Copenhagen S-train system.
A problem occurred with the audio player. Here is some debug info:
Title: Snippet from The Quiet Zone
MP3: /audio/music/The Quiet Zone - Snippet1.mp3
ID: 1770976335325283000
CSS ID: jquery_jplayer_1770976335325283000
Container ID: jp_container_1770976335325283000

Moans and Groans (2025)
The forest is a sex toy: Recreating the wind in the trees through a series of sound sculptures with vibrator motors.
A problem occurred with the audio player. Here is some debug info:
Title: Geophonic recording of a tree in the wind
MP3: /audio/RootRecordings-2025-08.mp3
ID: 1770976335325328000
CSS ID: jquery_jplayer_1770976335325328000
Container ID: jp_container_1770976335325328000

Empty Cloud (2025)
12 hours, 15 minutes and 7 seconds of minimalist background music.
A problem occurred with the audio player. Here is some debug info:
Title: Empty Cloud Part 8
MP3: /audio/music/emptycloudpart8.mp3
ID: 1770976335325372000
CSS ID: jquery_jplayer_1770976335325372000
Container ID: jp_container_1770976335325372000

Space In Between (2024)
Slow ambient piano looping with the window open and the outside world seeping in.
A problem occurred with the audio player. Here is some debug info:
Title: 15:15 PM (Excerpt)
MP3: /audio/music/1515pmexcerpt.mp3
ID: 1770976335325443000
CSS ID: jquery_jplayer_1770976335325443000
Container ID: jp_container_1770976335325443000

Internal Organs (2023)
A 4 channel interactive installation for virtual organs.

Musik for virtuelle orgler (2023)
A release of algorithmic organ music for virtual organs on SuperPang.
A problem occurred with the audio player. Here is some debug info:
Title: Har Mødt En (Met someone)
MP3: /audio/music/virtorgel.mp3
ID: 1770976335325578000
CSS ID: jquery_jplayer_1770976335325578000
Container ID: jp_container_1770976335325578000

Death Told So Clearly To Fuck Off (2022)
Ambisonic (3D audio) piece for speaker domes.
A problem occurred with the audio player. Here is some debug info:
Title: Binaural rendition of 'Death Told So Clearly To Fuck Off'
MP3: /audio/music/death_fuckoff_binaural.mp3
ID: 1770976335325628000
CSS ID: jquery_jplayer_1770976335325628000
Container ID: jp_container_1770976335325628000

Singularity: Music for a dance performance (2022)
Interactive sounds and music for solo dancer Külli Roosna.

Akkorder (2020)
Algorithmic music CD release on Ambitious Tapes.
A problem occurred with the audio player. Here is some debug info:
Title: Akkorder Track 7
MP3: /audio/music/akkordertrack7.mp3
ID: 1770976335325713000
CSS ID: jquery_jplayer_1770976335325713000
Container ID: jp_container_1770976335325713000

Computer Music Journal, Volume 44, Issue 4 - Space as instrument (MIT) (2020)
Feature in MIT's Computer Music Journal.

Hold Time (2020)
Algorithmic music release on SuperPang.
A problem occurred with the audio player. Here is some debug info:
Title: Track 2 from 'Hold Time'
MP3: /audio/music/hold2.mp3
ID: 1770976335325777000
CSS ID: jquery_jplayer_1770976335325777000
Container ID: jp_container_1770976335325777000

I Solens Flint 1000 Floder (2019)
Ambisonic (3D audio) piece for speaker domes, commissioned by NOTAM and Ultima Festival.
A problem occurred with the audio player. Here is some debug info:
Title: Binaural rendition of 'I Solens Flint 1000 Floder'
MP3: /audio/music/solens.mp3
ID: 1770976335325839000
CSS ID: jquery_jplayer_1770976335325839000
Container ID: jp_container_1770976335325839000

Hollow Body Timbals (2018)
Field recordings of cicadas. CD released by FLUF.
A problem occurred with the audio player. Here is some debug info:
Title: Track 1 from 'Hollow Body Timbals'
MP3: /audio/music/hollow1.mp3
ID: 1770976335325882000
CSS ID: jquery_jplayer_1770976335325882000
Container ID: jp_container_1770976335325882000

Else Marie Pade 'Samlede tekster' (2017)
A book collecting all texts written by the Danish composer Else Marie Pade.

Music for Power Supplies (2017)
Drones based on electromagnetic recordings of studio power supplies. Released by Co-Dependent.

Spatial remixes of classic electronic music (2019-2021)
Classic pieces remixed in ambisonics for speaker domes and sound diffusion systems.

Sværm: Båndmagasinet (The Lake) (2019)
Harmonic drone piece released as part of the Tape Magazine by The Lake/Resonans Recs.
A problem occurred with the audio player. Here is some debug info:
Title: Sværm
MP3: /audio/music/svaerm.mp3
ID: 1770976335326020000
CSS ID: jquery_jplayer_1770976335326020000
Container ID: jp_container_1770976335326020000

States of Emergency (2018)
Electroacoustic music, released by Conditional Records.
A problem occurred with the audio player. Here is some debug info:
Title: States Of Emergency track 1
MP3: /audio/music/statestrack1.mp3
ID: 1770976335326075000
CSS ID: jquery_jplayer_1770976335326075000
Container ID: jp_container_1770976335326075000

