Here at Instructables HQ, we have access to Autodesk's fleet of Objet Connex 500 printers
. These printers use UV light to cure resin layer by layer until a complete model is produced. They are very different from the fused deposition printers you may have seen or used before (MakerBot, RepRap, Up!, etc), not only can they print out of many types of materials (ranging from flexible rubbery material to hard polymer), but they are also extremely precise. In the x and y axes they have 600dpi resolution (that's about 42microns), and in the z axis they have a resolution of 16microns.
Before I started printing anything, I used these numbers to calculate the resolution I'd be able to achieve- so I could decide if this project was even worth pursuing any further. First I wanted to make sure that I would be able to get a good sampling rate on my audio. Sampling rate
is the amount of samples per second in a song. Usually the sampling rate is 44.1kHz (or 44,100 samples a second). When the sampling rate drops below about 40kHz the higher frequencies of a song start losing their detail, but depending on the song you can go down to 10kHz sampling rate without too much of a problem.
To calculate the sampling rate of the 3D printed record I used the following relationship:sampling frequency = (resolution per inch)*(inches per revolution)*(revolutions per second)
in order to maximize the sampling frequency, I want all of these numbers (res/inch, inch/rev, rev/sec) to be as high as possible
First I'll start with revolutions per second. Record players typically play at two different speeds: 33.3 and 45rpm. (Some record players also have a 78rpm speed, but this is less common and only used for very old records). I wanted to use the lower 33.3RPM speed in order to make this more like a real 12" record (45 RPM is only used for 7" records, and 33RPM for the full sized 12") and so that I could fit more audio onto each side of the disc.revolutions per second = (revolutions per minute)/(seconds per minute)
revolutions per second at 33 rpm = 33.3/60 = 0.55
Next is inches per revolution, this number depends on the circumference of the disk where the needle is hitting it. The largest sized records are 12" in diameter (30cm). According to the RIAA
standards, the outermost groove of a 12" record falls at a radius of 5.75" and the innermost groove falls at about 2.25". I'll use these numbers to determine the range of sampling rates I can achieve at 33RPM. The circumference
(the distance in inches traveled by the needle during one revolution of the record) is calculated as follows:inches per revolution = 2*pi*(radius of needle)
max inches per revolution = 2*pi*5.75 =~ 36
min inches per revolution = 2*pi*2.35 =~ 15
I already know that the resolution per inch of the 3D printer is 600 (600 dpi in the x and y axes). So combining this all I get:sampling frequency = (resolution per inch)*(inches per revolution)*(revolutions per second)max sampling frequency at 33 rpm = 600*36*0.55 =~ 12000 = 12kHz
min sampling frequency at 33 rpm = 600*15*0.55 =~ 4900 = 4.9kHz
This is a pretty good starting point. If I scale this to 45rpm instead of 33 the sampling rate becomes:max sampling frequency at 45 rpm = 600*36*0.75 =~ 16000 = 16kHz
min sampling frequency at 45 rpm = 600*15*0.75 =~ 6700 = 6.7kHz
I'll keep this option in mind in case sampling rate becomes an issue. The other piece of information that I needed was the bit depth I'd be able to achieve with the Objet printer. Bit depth
is the resolution of the audio data. Most audio these days in 16 bit, meaning each sample can have one of 65536 (2^16) possible values. 8 bit audio has only 256 (2^8) steps of resolution and still sounds pretty close to the original. Even going down to 3 and 4 bit sounds recognizable. (I should note here that the music commonly referred to as "8-bit"
like the music in early Nintendo games is actually 1 bit resolution, it's called 8 bit because it was first made with 8 bit computers, not with 8 bit resolution).
Since the z axis is the most precise axis on the Objet printer, I wanted to print my record so that the needle vibrates vertically in the groove to trace out the audio wave to maximize my bit depth. The following equation calculates the vertical distance that the needle will move as it traces the a wave of a given bit depth:vertical displacement of needle = (2^bit depth)*(precision of z axis)
where the precision of the z axis is 16micron. I used this to calculate the following table:
bit depth vertical displacement steps of resolution 2 64um 4
3 128um 8
4 256um 16 5 512um 32
6 1.024mm 64
7 2.048mm 128
8 4.096mm 256
The bolded rows in the table are the numbers that I wanted to shoot for with this project. A vertical amplitude of 64-512um is an order of magnitude (~10x) larger than the amplitude of a vinyl record groove, but I felt like I'd probably be able to get away with it and still maintain a reasonable bit depth.