A jukebox for ambient soundscapes.

ET-01 1 ASG is an experimental sound machine in which a grid of physical switches maps directly to audio behaviors.

The interaction model is as simple as possible: the combination of switch positions produces a bitmask → the bitmask resolves to a single sound (or channel). The 6x4 switch grid gives the machine a theoretical capacity of storing ~16.7 million sounds.

There is no display, instead the system relies on a single status LED and text-to-speech for user feedback.

Hardware

  • Switch grid (6×4 layout → 24 inputs + 4 aux switches)
  • Raspberry Pi (3A+)
  • MCP23017 I/O expander
  • Internal power supply / step down module.

Software

100% Python. Audio playback is handled by mpv 2, while sound effects and text-to-speech (eSpeak 3) run alongside it, allowing the system to speak, react, and provide feedback. A simple control layer manages buffering, transitions / audio ducking, and failure states. Data is stored in a simple SQLite database, and a set of utility scripts helps curate, condition and manage the various audio sources and files.

ASG> status
Currently playing: chichibu yatake [64423]
+------------------------------+
| [x]  [ ]  [ ]  [x]  [x]  [x] |
| [x]  [ ]  [x]  [x]  [x]  [ ] |
| [ ]  [ ]  [x]  [x]  [x]  [x] |
| [ ]  [ ]  [ ]  [ ]  [ ]  [ ] |
+------------------------------+
ASG>

The system supports both live-streamed audio and pre-recorded sound loops. So, depending on the source, it either reproduces something fixed or connects to something ongoing. 4

For fun, there is also a radio mode in which the machine connects to 1,000+ live streaming stations via the Radio Browser API.



1) This project is part of a larger modular sound system, see projects/et-01
2) Open source command-line media player: github.com/mpv-player/mpv
3) Software speech synthesizer: en.wikipedia.org/wiki/ESpeak
4) The Locus Sonus project (locusonus.org) hosts a collection of interesting experimental audio streams, but in general finding reliable live audio sources for this project has proven surprisingly difficult. One semi-successful approach has been to extract audio from live video streams, given the abundance of video content online, however major platforms (hello youtube) actively discourage or restrict this kind of use.

Work
News
Notes
Studio
Contact
(x)
(submit)
...