I worked on the audio system some more. I had an unfortunate setback: the LM217 I have is apparently dead, so it won't be the nice 1.2 volt reference. However, the rest of the system works fine and I successfully played audio through the speakers. I figure I can use one of the op-amp's as a voltage regulator. I cut holes in the electronics case to accomodate the phone connectors for speakers.
I used a couple diodes in series and a 4.7K resistor to create a 1.2 volt reference … I'll feed it through an op-amp at unity gain to get a stable source for the MP3 player … maybe with some capacitors if the charging circuit is too noisy.
Unfortunately, I had problems getting 1.2 volts to the MP3 player and eventually had to swap operational amplifiers twice. I finally got it set up and discovered that the MP3 player draws 200 mA. It never dawned on me to check, but that's indeed what it draws when it's running off the battery — it's not too bad at 240 mW, but by using a linear regulator, I have to dump the remaining 2.2 watts as heat — I was hoping to get the whole system (lights included) to operate on less than 5 watts total, so this is a big waste.
I built a twin-T oscillator to feed an op-amp as a comparator to make a pretty efficient pulse-width-modulated power supply. I came up with a circuit that uses 0.002 microfarad capacitors all around, 1K resistors on the resistor-tee, a 470 ohm resistor on the capacitor-tee, and a 4.7K resistor on the collector. It creates about a 0.3V peak-to-peak 40 KHz sine wave. When I wired it up final, I had to do a couple swaps of capacitors (i.e. a ceramic capacitor marked with "223" is 22 * 10^3, not 2.2 * 10^3, so my 2200 picofarad capacitors were really "222") I only had a bunch of "102" (1000 picofarad) capacitors so I had to use 10K resistors on the other tee of the circuit which gave me a nice 40 KHz output again. (The problem was the 2200 pF capacitors were physically quite large and I wanted to pack things into a smaller circuit.)
I got the pulse-width-modulated output to work somewhat, but it pretty much just goes into a linear mode when I try to make it work and again draws 200 mA from the 12-volt supply. I had configured a second op-amp to provide closed-loop feedback to adjust the PWM output, so the voltage was right, but it looks like the op-amps just can't make a 40 KHz square wave and the transistor is running in a linear mode.
I took a quick crack at making a buck DC-DC converter and managed to get it working in short order. The circuit required 40 mA at 12 volts, and I know about 5 mA of that is for the rest of the electronics, so 35 mA at 12 volts is 420 mW — so with the MP3 player using 240 mW, I managed to get to about 50% efficiency. Unfortunately, even 180 mW dissipation on a little transistor is quite a lot so I'll need to get a bigger one with a better heat sink. However, I'm happy that things function!