Boodler: a programmable soundscape tool

Version 1.6.1

Designed by Andrew Plotkin.
Copyright 2002-7 by Andrew Plotkin.
This program is distributed under the LGPL.


What Is It?

Boodler is a tool for creating soundscapes -- continuous, infinitely varying streams of sound. Boodler is designed to run in the background on a computer, maintaining whatever sound environment you desire.

Boodler is extensible, customizable, and modular. Each soundscape is a small piece of Python code -- typically less than a page. A soundscape can incorporate other soundscapes; it can combine other soundscapes, switch between them, fade them in and out. This package comes with many example soundscapes. You can use these, modify them, combine them to arbitrary levels of complexity, or write your own.


Boodler Samples

Here are some audio clips generated by Boodler.

Note that these are short samples. Each one comes from a Boodler soundscape (or a combination of soundscapes) which can run forever, never repeating itself exactly. Also, I've compressed these clips to MP3 files for easier downloading. Boodler itself does not use MP3 compression when generating sound.


Making It Go

In order to run Boodler, you will need: Ready? You can... If you have trouble, see the "Problems" section in the installation documentation. (I'm afraid I can't help you with the Windows patches -- I don't know anything about Windows development. See the instructions inside the patch archive.)

(The older Win32 application package comes with this note: "I've been told this only works with Python 2.2. The most important file apart from boodler is SETPATH.BAT, which the user must change to their own sound and effects paths, then run it before running boodler. If that's done, invocation works just like in the original version." The newer Win32 application package works with newer Pythons.)

Dan Pelleg has submitted a port of Boodler to the FreeBSD ports collection. If you use FreeBSD, this will make your life easy. If you don't, don't worry about it.

Dan Pelleg also notes that if you're compiling on a 64-bit architecture (IA64 or AMD64), you may need to add "-fPIC" to the CFLAGOPTS line in the generated cboodle/Makefile. (After you run the configure.py script, I mean.)


More Soundscapes

These are sound modules whose associated sound effects are either too large or too specialized to fit into the Boodler sound library. So I've packaged them a la carte.

Each of these packages contains a soundscape file (file.py) and a sound directory tree (boodler-snd). You should either add the sound tree to your $BOODLER_SOUND_PATH, or copy it into your existing tree (if $BOODLER_SOUND_PATH contains exactly one directory, you can do "cp -R boodler-snd/* $BOODLER_SOUND_PATH").

Similarly, put the .py file into your $BOODLER_EFFECTS_PATH.

And the list...

secrets (725k)
Whispers in the dark. (Agent: secrets.Many) Contributed by Goob.
demons (758k)
Really creepy whispers in the dark. (Agent: demons.Phrases) Contributed by Bob Igo.
noise (3600k)
Various forms of mathematical noise: white, pink, etc. (Agent: noise.White, etc.) Contributed by Goob.
whitenoise (187k)
Arrangements of relaxing background white noise. (Agent: whitenoise.RandomCyclicWhitenoise, whitenoise.WhitenoiseBeach, etc.) Contributed by Phil Bordelon.
buddhamachine (1k)
Soundscape for the FM3 Buddha Machine sound files. (Sound files not included; get them from the FM3 Buddha Machine web site. Agents are listed in the README in this package.) Contributed by Phil Bordelon.
dawnsim (4k)
Run a soundscape at a specified time of day, while turning on lights with a Velleman K8055 USB experiment board. If you don't have the K8055, you can still use this as an alarm clock. Contributed by Nathan Catlow.
computing (1k)
Inspired by a request on Usenet: bad 1970s special-effect computer noises. Beebly-boops tell you that the computer is hard at work! Simple, but effective. Whatever that means.

What Next?

September 28, 2007: Version 1.6.1. LAME driver, updated ALSA driver. Changed the license on the cboodle extension to allow either LGPL or GPL.

September 16, 2007: New release! Version 1.6.0 features a new build script (using the distutils standard); the new Ogg Vorbis and Shoutcast drivers; the ability to select an output sound device on MacOSX; and more.

August 15, 2007: Aaron Griffith contributes a patch for Boodler to generate Ogg Vorbis files, and Shoutcast audio streams.

June 3, 2007: Next phase of the new Boodler web site: the Boodler wiki.

April 2, 2007: I have a Sourceforge project. This is not yet interesting (except as an alternate way to get the same source code that's on this page). But it has enabled me to set up the boodler-general mailing list. Interested in helping shape the future development of Boodler? Subscribe!

(You must subscribe to the mailing list before you can post.)

March 28, 2007: Boodler has lain fallow long enough. Time to shift into high gear. I am currently setting up a domain, a Sourceforge project, and a web site. Stay tuned.

2001-2002: More sounds. (Try Creative-Commons licensed sounds at the Freesound Project.) More soundscapes. (Donations accepted.)

I now have Boodler running on a dedicated box -- a permanent sound-effects system for my apartment. I need to put together a program of sounds that won't drive me nuts.

I've got a quick hack working that takes input from an X10 "Remote MP3" device. So the apartment Boodler box works by remote control. (See the accessories page.) I'm so psyched. And X10 has motion sensors which send the same way...

I've got Boodler running on a PDA! Permanent mobile soundscape for your lifestyle.... You'll need an ARM-based Linux PDA, such as the "Zaurus" Sharp SL-5000. An iPaq running Linux should work also, but nobody's tested it. This is a quick-and-dirty release; no GUI, you'll have to run Boodler from the shell. But it runs.


Last updated October 17, 2007.

Boodler documentation

Boodler accessories

Zarfhome (map) (down)