Way back in December of 2012, the University of Miami’s Henry Mancini
Orchestra and Concert Jazz Band joined together for a concert of
Americana, featuring Copland’s Appalachian Spring and Duke Ellington’s
arrangement of The Nutcracker. I recorded this concert and later
submitted the virtually-untouched multitrack recording from the live
show to Downbeat Magazine’s Student Music Awards in the category ‘Best
Engineered Live Recording’. They liked it, the recording won, and I’ve
meant to get it posted online in its entirety ever since.

The novel feature of SpaceyDelayer is that the offset time between taps in the delay is configurable - in a typical multitap tape delay, the user can specify the time between the initial playback and the first delay, but with SpaceyDelayer, the interval between the plugin’s 3 delay taps is also configurable.

Nonlinear waveshaping and bandpass filtering round out the “tape” sound, emulating saturation and the frequency response weaknesses of these older devices.

All of the DSP “guts” are contained within SpaceyDelayer.cpp and DDLModule.cpp - in each file’s respective ProcessAudioFrame() function. The real magic is the getPastSample() function, which allows me to pull an arbitrary sample from the delay line without inserting a new sample (since we pull multiple taps within a single sample period).

123456789101112131415

/ From CSpaceyDelayer::ProcessAudioFrame()floatxn_l=pInputBuffer[0];floatyn_l=0.0;/ Do LEFT (MONO) Channel; there is always at least one input/one output/ (INSERT Effect)m_DDL_Left.processAudioFrame(&xn_l,&yn_l,1,1);if(m_uMultipleTaps==On){yn_l=(yn_l+m_DDL_Left.getPastSample((int)m_fTapSize));yn_l=(yn_l+m_DDL_Left.getPastSample((int)m_fTapSize*2));yn_l=yn_l*0.33;/scale back to original-ish amplitude after 3 delay sums}pOutputBuffer[0]=m_fWetness*yn_l+(1.0-m_fWetness)*xn_l;

Do a little scaling and summing to allow for wetness values and to avoid clipping, repeat more times if needed for other channels, and you’ve got the gist of it.

As part of a group of military band tracks I’m working to restore of 7” tapes, the US Naval Academy’s Next Wave big band was one of the first I finished. Listen below to several of the tunes from this tape, recorded live at an unknown venue in the late 1960s. Featured soloists include Barry Weinstein, Denny Davis, and several others (called out by the emcee as appropriate).

After seeing the (561) 354-5654 in action, a friend of mine wanted me to help her pick out a subwoofer setup for her car. We decided we could do one better than something off the shelf, so it became time to take the great Dual LAB design and distill it down to something that would actually be reasonable for installation into a Honda Civic. The second goal here was to keep cost down and simplify construction, so that meant some interesting twists like keeping the external dimensions close to minimize need for internal bracing, using PVC pipe for port tubes, etc.

What’d I come up with?

The box was very compact, took a LAB 12 driver, and simulated really well (as evidenced by the plots below):

Time to build! The parts collection was indeed simple, which was perfect! A half-sheet of MDF was plenty, and since this was going into a car, MDF was a fine material, we didn’t need the birch plywood the Dual LAB got.

Unfortunately, I never got a picture of this one when it was all built. We finished the cabinet in your standard “rat fur” black carpet, and it still sits happily in the trunk of that Honda Civic. Maybe you’ve heard it if you’re in north Pinellas County.

As a part of my education at UMiami, I’ve taken a few courses that specifically apply electronics knowledge to audio applications. For a final project in one of these courses, I recently designed a pretty straightforward transistor amplifier with a peak limiter with the goals that I’d be able to build this thing (eventually) using a spare 1U rack chassis I have in storage and a nice Lundahl toroidal transformer, also in storage, that would make a great foundation for the power supply.

There is a complete writeup on the project (complete with schematics and simulations) available here.

Just recently the Henry Mancini Institute Orchestra put on a concert of Americana, featuring the best of American music. This is a group of (mostly) DMA candidates in the Frost School of Music, some of whom are also Fellows with the New World Symphony (a training program for soon-to-be orchestral player hopefuls, under the artistic direction of Michael Tilson Thomas).

The concert opened with an original staging of Aaron Copland’s Appalachian Spring, recorded into MAGIX Seqouia through a Yamaha DM-2000 console’s preamps and RME HDSP MADI interface at 24bit/96khz. Microphones were a 50cm spaced pair of DPA 4051, suspended roughly 12 feet above and 3 feet behind the conductor.

After the above Copland performance, the Mancini Institutes’s big band took the stage, for a performance of the complete Duke Ellington Nutcracker (music by Tchaikovsky, arranged by Ellington for big band).

The big band consisted of 4 trumpets, 4 trombones, 5 woodwinds, piano, drums, and bass. Microphone selections consisted of Neumann KMS-105s on trumpets and snare drum, Neumann TLM-103s on trombones and baritone sax / bass clarinet, Schoeps CMC 6xt5g on all other woodwinds, AKG C414 EBs on piano, a Sennheiser MD-421 on kick drum, DPA 4007 drum overheads, and a DPA 4099 on string bass. The string bass was equipped with a pickup, run though a Summit Audio variable impedance tube DI. An additional solo mic (Neumann U-89i) was placed in the trombone section for use as needed.

The Osprey LAB Sub is named for the company name I was operating under a few years ago when I built it, Osprey Audio, and the Eminence LAB 12 drivers it uses. The rough basis for the project’s design was a dual 12” subwoofer built by Art Welter of Welter Systems in New Mexico, who had some old w-bin subwoofers he wanted to modernize and gutting them to install the LAB 12 drivers was his solution. I liked the form factor of his work, and his choice in drivers, so I set out to put my own spin on them without the constraints of the existing boxes he worked with.

A few pictures from the construction process…

After caulk and foam, before the drivers go in:

Note that the lid of the box makes up the top wall of the top port, also. The port design was intended to keep things as simple as possible internally.

At the first sound check…

Drivers are wired in parallel, and the box eventually was finished in a thick black outdoor deck sealant, with a 14ga steel grille from Parts Express.

I recently ran into a situation where it was desirable for me to be able to plug my Clear Clearstick Atlas (a plug-and-play USB WiMax modem) into the USB port on my router and use it as the internet connection for all the devices on my network. Below is how I accomplished this task using my Netgear WNR3500L router, running the …. build of the awesome Tomato router firmware.

First, I set up the Clearstick in it’s NAT operation mode, rather than IP passthrough. This let me use the Clearstick as a traditional modem, where the modem assigns an IP address to the router via DHCP. In the Clearstick’s configuration:

A few kernel modules are required to get the Clearstick recognized by the router. You’ll need the following files:

mii.ko
usbnet.ko
cdc_ether.ko
rndis_host.ko

You can get these from the “extras-mips” tarballs from whatever the latest build available is here:
Shibby’s Tomato Site

The best place to put these files is in the router’s JFFS partition, so they’re available to you even after reboots of the hardware. Google around for a tutorial on setting that up, there are plenty available.

Once you’ve got the kernel modules onto the router, insert them in the order they are listed above like so:

12

$ insmod mii.ko
$ insmod usbnet.ko

…etc…

After that is done, check to see that all the right modules are loaded:

1

$ lsmod

If everything looks good there, plug in the Clearstick, wait for it to indicate that it has a signal, and then check to make sure you have a new network interface available. Make note of what the network interface is (for me, the new CDC_Ether device was eth2)

1

$ dmesg

When we’ve got the interface name, now we just need to bring the interface up, have the router request an IP via DHCP from the modem, add the modem to the default bridge (so our other interfaces can talk to it), and make sure we route all outbound traffic through the modem. Use these commands. Substitute your interface name for eth2 and the modem’s IP for 192.168.1.10.

Downloads:

About:

(This post references an old version of Boosterworks - a complete rewrite of the software, using Ruby on Rails, is underway prior to a real public launch as a SaaS product.)

BoosterWorks is a piece of software that is designed to help parent booster organizations schedule volunteers for their events more efficiently, while increasing accountability and reducing event coordinator workloads. Currently, BoosterWorks is entering its second year of use with the Tarpon Springs High School Band Boosters.

The program is free (both to use and to build upon) and will run on just about any web server with a recent version of PHP (5.x or higher) and a database server like MySQL or PostgreSQL.

If you’d like a custom feature or set of features added to BoosterWorks, please email me and we’ll discuss how this might could be done. Requests that are general enough to be put into the main program can be done for free. A request that either isn’t general enough to be put into the main code, or that is specific to your group (including visual changes to match your organizations colors and style) can be performed for a reasonable fee. Please email to get a discussion going!

Don’t have time to set it up, or don’t know how? If the included documentation isn’t enough (see the INSTALL.txt file), I can perform the installation and configuration for you for a small fee to cover my time.