Boodler Version 1

Boodler 1.0.0 was released in late 2001. Boodler 2.0.0 appeared in January 2009. In the intervening seven years, Boodler 1 was a stable, well-tested project which I mostly didn't touch.

Boodler 2 is the current and supported version. If you are new to Boodler, you should start with version 2. However, history never dies, and so this page archives Boodler 1 and everything that went with it.

The latest release of the Boodler 1 development line is Boodler 1.6.1.

What You Need

In order to run Boodler, you will need:

  • Boodler and the Boodler sound library. (See below. Yes, the sound library is huge. Sorry. I wanted a wide range of sounds, at a non-sucky quality.)
  • MacOSX, or a Unix computer with sound hardware and the OSS or ALSA sound drivers, or an ESD library. (Tested on Mac, Linux and FreeBSD.) (I also have donated source patches for Windows with your choice of DirectSound or WaveOut.)
  • Python 2.3.5 or later. (I am currently distributing Boodler as source, which means you need to be able to run Python and build software for it. That is, you need the Python development include files.)

Ready? You can...

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.

Boodler Accessories

leash -- Boodler UI

My friend Goob has written a user-interface layer for Boodler. It's Python (2.1 or later required) and uses the curses module for a simple terminal-window interface. It shows all the Boodler classes and agents you have available. You can control it by keyboard, or with a remote control (see below).

You run this script in addition to Boodler. Boodler should be set running with the listen.Leash agent:

python boodler.py --listen listen.Leash

If you want to use serialwatch.py as well, you should also be running this:

python serialwatch.py --port 31864

Not much documentation otherwise. Experiment.

serialwatch -- X10 connectivity

The X10 company sells an MP3 player package which includes a Windows-based MP3-playing program, a universal remote control, and a serial port dongle that receives commands from the remote. Conveniently, the remote and the dongle communicate via RF, not infrared. And since the dongle just pumps binary data into the port (9600 baud, 8N1), it's easy to make use of the thing under Linux.

(I'm told the X10 motion-detector sends RF commands in the same way. So this script should work for that as well.)

Anyway, this is a Python script for Linux, which squats on the serial port, listening for remote commands. It translates them into commands on a TCP/IP connection -- the format used by Boodler. (The current version of Boodler has some agents which accept these commands. See listen.Catalog and listen.RemoteVolume in the catalog of soundscapes.)

See the script comments for full documentation.

runboodler.sh -- quick shell script

Stephan Beal writes:

Attached is a small helper shell script which i have found useful. If launched without args it launched the curses interface, otherwise it passes the args as-is to boodler. Maybe it will be useful to you and yours. Simply change the BOODLER_HOME variable at the top of the script and it "should" work.

soundboard.php -- Web server app

Nathan Schmidt writes:

I've been playing around with the idea of using boodler as the output side of a syslog auralization mechanism for my company's web system. [...] Part of this process for us involves wrapping a bit of php around the python, since that's much more familiar territory for me. I've appended a simple harness which should run with minimal modification on anyone else's machines. It just makes shell calls out to the boomsg.py scripts but builds a html page with links for the various available effects and sounds. Not as tidy as the leash.py curses tool but we're web people so it makes more sense for us.

History of Boodler 1

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. 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.