As part of my residency at the Pier 9 Workshop, I explored the analog roots of some audio effects that are very commonplace in the current digital music world. The goal was to re-create these effects as they would have been designed in the Florentine workshops in the 16th century; going a step beyond function, innovators like Galileo were exploring and demonstrating scientific phenomena as true works of art.
After building a spring reverb unit in this style, the second effect that I chose to tackle was Tremolo. The term Tremolo has roots in the Latin term Tremulus which means "to tremble". For centuries pipe organ manufacturers have been installing devices called tremulants in their organs to vary the airflow to banks of pipes; This causes variations in the amplitude of the sound and gives the organ a fuller and more impressive sound. At it's simplest, a tremolo effect in modern audio is this same type of periodic volume increasing and decreasing.
In the 1930's, Donald Leslie created a device for the small Hammond organ that would mimic the full sound and swelling effect created by the large pipes found in large theater organs. This invention, which was eventually named the rotating leslie, used rotating speakers and/or rotating horns to add the volume modulation to the audio signal produced by the organ. My tremolo unit uses this same idea to vary the amplitude of an audio signal which is then picked back up by a microphone.
Step 1: Turntable Drive Trial and Error
There were two big sticking points with this project which involved multiple failures and changes-of-plan. The turntable which spins the speaker assembly was the first of these, and here were criteria:
- Must be inaudible as possible to avoid motor/gear/controller noise being picked up by the condenser mic
- Must have a rotational speed of at least 180rpm for desired effect
- Must have a thrust bearing or other way to support the weight of the column and avoid side loading
- Must have some way to accommodate the commutator/slip ring for getting audio signal to the speaker
I tried a few different approaches as shown in the above picture. The direct-drive turntable on the left was outfitted with an extra-fast servo, but it was incredibly noisy. I could have possibly shot the servo full of grease to quiet it down a little bit, but it eventually would have dried up and starting squealing again. Also, the ball bearings that the turntable rode on were quite loud. Finally, the servo mounted directly under the center of the turntable meaning I couldn't use the slip ring that I had planned on.
The next approach was to use a brushless motor such as the center one in the picture. These hollow shaft gimbal motors would be perfect for the slip ring and would be an easy fit for the shaft mounting. Unfortunately, at 200 turns per leg, they cog horribly when attempting to drive them at any considerable speed. Brushless propulsion motors on the other hand want to rotate about 10x the speed that we need for the tremolo. Strike two.
Finally, Paolo (another AiR and incredible resource) pointed me at ServoCity where I was able to eventually piece together a belt-driven turntable. After a quick failure with another high-speed servo equipped with a pulley for belt-drive, I ended up using a high-speed stepper motor from the Spark 3-D printing team. In the final configuration, I stepped down to a bit smaller RepRap stepper motor that was totally fast enough and made only a slight whine which was reduced with rubber insulation from the wooden base.
The second picture above shows a pancake stepper motor- while it didn't have enough torque to get the belt drive system moving, they are super low profile and I'll definitely be incorporating these into another project in the future.
Step 2: Testing the Turntable Drive
With the drive issue sorted out, I mocked up a test on a scrap piece of lumber to see how everything would play together, and to do the first of the audio tests.
After experimenting with a few different belt lengths and thicknesses, as well as swapping out pulleys for different gear ratios, I was able to hit my 3 rotation per second target with minimal noise and chance of stalling the stepper motor.
I have to give huge props to the ServoCity team for making a system of interchangeable parts that greatly speed up prototyping like this. I'd suggest just ordering a heaping handful of all of their adapter parts, base plates, belts, pulleys, gears, servo mounts, etc. to have on hand.
Step 3: Slip Ring Trial and Error
I spent way too much time on the slip ring assembly which would carry the speaker audio signal up the rotating shaft to the speaker. This was the second part that involved multiple iterations and prototypes to get right. After having to abandon my original plan of using a hollow shaft with a pre-fab slip ring, I thought it would be awesome to design and assemble my own rotating disc.
The above pictures show this process of waterjet cutting thin steel and phenolic, assembling it into a disc, and then 3-d printing a "read head" with spring-loaded carbon brushes. This worked, but it was horribly loud and threw graphite powder *everywhere* as you can see in the fourth photo. Also, the disc wasn't totally flat so there were drop-outs in the audio and vertical alignment was horribly difficult. The plan was to eventually lap down the disc so that it was smooth and flat, but I abandoned this approach way before I got to that step.
Step 4: Testing the Slip Ring and Swing Arm Unit
After a little digging around in the EE lab, I found an unused Monkeylectric bicycle spoke LED setup with a nice rubber slip ring unit! This would be easy to machine to attach my column and would fit nicely on the driven pulley. The two flat brass rings would just need some sort of armature to press against them to transfer the audio signal.
I decided to make a swing arm that would be servo controlled to push two copper rods against the brass rings. In a few hours I had made this unit out of a stylish brass flat bar with electrical standoffs holding the copper rods. The two copper alligator clips bring the output from the amplifier onto the copper rods and are mostly just for looks as I could have soldered them.
The servo needed some control software, so I did a quick Arduino coding session to engage and disengage the swing arm when a button was pressed. It only took a small amount of trial-and-error to come up with the position values to give a proper amount of pressure on the slip ring.
Finally I wired in the speaker using some stylishly coiled red and black wires, and was treated to crystal clear audio out of the speaker while it was spinning.
Step 5: Making the Base for the Unit
This was one of the more painful parts of the process. I actually had to build two bases since the final drive using the stepper motor was larger than the original plan. The first one was made out of Plyboo on the ShopBot and rounded over on the table router.
For the larger base, the ShopBot had been temporarily moved to a different shop so I decided to use the DMS router and a toolpath created in Fusion 360. Also, since the stepper motor which was going to drive the piece was fairly tall I needed a tall base with enough clearance to mount it along with all of the electronics.
I found a nice board that was around an inch thick and assembled it into an 18"x18" block that was nearly two inches deep by cutting with the table saw, joining, planing, and glueing it up. Then I threw it on the DMS and faced it to get it ready for cutting which made an outrageous mess.
The fun now started as I fought the fledgling CAM for DMS output from Fusion, eventually only being able to do profiling operations. I'm still investigating why any pocketing or adaptive clearing paths generated g-code that borked the DMS, but it basically took a whole afternoon to cut this block into a circle.
Finally, I took it over to the table router to do the Ogee bit round over on the top edge and to cut the groove to hold the jar lid. The pocketing underneath to hold the circuit boards had to be (very horrible) routed by hand, which I'll describe in more detail later in this instructable.
Step 6: A Stylish Microphone Holder and Speaker Holder
In keeping with the Medici Workshop aesthetic, I figured I needed a fancy holder for the condenser mic that would pick up the audio from the rotating speaker.
Starting with a 1/2" dowel rod, I turned a nice shape on the lathe to support the rod that would hold the mic. Unfortunately, the intended bell jar for the piece showed up in about 30 pieces from Amazon and I had to hack this lovely wooden post in half since I couldn't source another jar that was as tall as the original. The second picture shows how I had to reassemble the shortened post due to not having enough time to turn a new shorter one.
After another hour or so in Fusion 360 I had a nice plastic piece modeled which would thread onto the end of a brass rod and hold the condenser mic securely.
To hold the speaker to the top of the shaft, I modeled up a small enclosure in Fusion that would press-fit into the brass column. The speaker was put into a piece of brass with a lip which would also press-fit into the front of the 3D printed piece.
Step 7: Another Random Brass Decoration
The top of the stepper motor shaft looked a little bare so I jumped on the lathe and turned a piece which would resemble a governor from a clock mechanism. The ends of this piece were threaded so that two brass balls could be attached, and the piece was pushed onto the stepper shaft.
Basically serving no purpose, this piece at least looks pretty cool when the stepper spins.
Step 8: Adding the Electronics and Control Box
For all of these effect units, I desired to have them be as plug-and-play as possible. For the tremolo that meant embedded the speaker amplifier into the base so that it had line-level inputs and outputs. Also, the stepper motor and the drive electronics would need to be internal.
Here's that picture that I mentioned earlier. Since the DMS was being difficult, I routed by hand (if you can even call it that) a crazy pocket to hold all of the electronics. Not the prettiest, but it will do.
An Arduino Uno was installed (we ran out of anything smaller) and I programmed it to send control signals to the stepper driver board and to send a servo output to engage the commutator swing arm. I took a small aluminum enclosure and mounted the volume pot for the amplifier board, a pot to the Arduino for speed control, and a push-on/push-off button to engage the commutator.
To send the input audio signal to the speaker, I used a Dayton Audio 15W Class-T PCB amplifier unit from Parts Express. The external volume control knob worked perfectly for my purposes.
Step 9: Final Testing and Demonstration
The tremolo unit came out spectacularly and sounded great. I was worried there would be alot of servo noise/whine coupled to the wooden base and thereby in the audio output, but the condenser mic I chose has fairly high directionality and does a good job of suppressing that noise. Also, being a powered mic, the gain can be set very low and still pick up the speaker very well.
Attached is a sample of the song Our Prayer by Brian Wilson being played back through the tremolo while adjusting the speed, as well as a short video of the tremolo mechanism without the audio hooked up.