Just last weekend, amandaghassaei published her Laser Cut Record. The work is more than great with a tons of experimentations and descriptions! However, thorough these days, we also prepared to publish our version of Laser Cut Record with prior acoustic information as a part of our "cutting record - a record without (or with) prior acoustic information" project at IAMAS. To be honest, the work is still in its experimental stage and very close to amandaghassaei's work. But we decide to publish it to stimulate the scene (Hope it exists!) and further investigations with a lot of common points and a few differences especially in our codes. Here is our version.
Step 1: Laser Cut Record (version)
The records were cut on a Universal 30 Watt VLS 2.30 with HPDFO (High-Power Density-Focusing Optics) lens to a theoretical precision of 1000dpi. The bit rate / sampling frequency of the original audio data is 16 bit / 44.1kHz but you could just listen the result around 8 bit / 12 kHz (the number is not well measured, but you could listen the quality) because of the melt on a material by laser beam and the motion of stepping motor (we guess). We've wrote a custom application with Processing to generate a spiral groove with peripheral circle and a center hole in a form of SVG file based on given audio data. The application provides parameters of diameter, sampling rate, rpm, amplitude, line space, and margin for adjustment. The resulted SVG file could be imported in other vector graphics software (e.g Adobe Illustrator, Corel Draw) for laser cutting. We also develop a way to produce a locked groove with audio data without coding, you could see the way at the end of this instructables.
You could see more information at Kazuhiro Jo and Mitsuhito Ando, cutting record - a record without (or with) prior acoustic information, Proceedings of NIME (New Interfaces for Musical Expression) 2013 , 26th-30th, May, 2013 (to be published).
Laser Cut Record - Daisy Bell
Step 2: Laser Cutter Specs
The laser in our labo is Universal 30 Watt VLS 2.30 with HPDFO (High-Power Density-Focusing Optics) lens. They have a 16"x12" cutting bed (just enough for analog record!). They have a max resolution of 1000dpi in the x and y axes and 100 power and speed settings to control cutting depth like Epilog and other laser cutters.
Theoretically, the sampling frequency should be around the value of around 27.0/10.5 (max/min) kHz at 45rpm, and 19.8/7.7 (max/min) kHz at 33rpm. (see amandaghassaei's Step 2 in detail). However, in our initial trial, we have faced a problem of the diameter of laser beam (1.5inch - 0.076mm), which took away from tiny changes (i.e. higher frequencies) of wave form with a melt on a material (we mainly use acrylic at that time). Therefore, we decided to use HPDFO (0.025mm) and the lens gave us a kind of expected results.
Another problem is a limitation of anchor points. Through our trials, we have faced limitations of anchor points in both vector graphics software (i.e. Adobe Illustrator) and cutting machines. In our method, we make a SVG data with a spiral groove from an audio data (wav) with our custom application. Next, we treat the SVG with Illustrator to add other information (e.g. song, artist, release date). However, Illustrator has a limitation in the number of anchor points of a single path (i.e. continuous line) around 32,000 and for our purpose, it highly restricts the range of time in relation with the sampling frequency (e.g. 32,000 points are 0.7sec in 44.1kHz). Therefore, in our custom application, we divide the groove (i.e. single audio data) into multiple paths with overlap to achieve longer range of time.
The combination of the driver software of laser cutter and Illustrator also shows limitations with the large number of anchor points. We suppose the problem could be fixed to have more RAM on PC, however, in our trials, we short cut the problem by using Direct Import add-on of Universal Laser Systems with PDF from the original SVG.
As a result, we could finally have our laser cut record with audio data, however, we would like to let you know that the time for cutting is around 50 to 100 times of its original (e.g. 1hour for 1min and 9hours for 5min in our case). The time is quite worse to compare with standard or alternative cutting machines (e.g. Cutting a record... on a CD), which make a record in real time. Further adjustments could improve the time but as a substitution for the traditional cutting machine, laser cutter is a kind of dud (so, we need to think more stupid/derivative use of it!).
Step 3: Make Your Own
You could have your own Laser Cut Record (of our version) in following steps:
We highly recommend to check amandaghassaei's Step 7: Make Your Own. Code is different but the procedure is quite similar. We partly just copy their way (e.g. the use of audacity RIAA equalization). Thanks amandaghassaei!
0. Prepare your audio data
1. Download Processing.
2. Download Audacity.
3. Download the zip file called "CuttingRecordGenerator" from our github.
Unzip this and open the folder.
4. Download Ess r2 library written by Krister Olsson
Unzip this and copy Ess > library > Ess.jar to CuttingRecordGenerator > code > .
5. Open the audio data with Audacity. If it's stereo, Go to Tracks > Stereo Track to Mono, then, Go to Effect>Equalization and select "RIAA". Hit "Invert" and apply, you should now hear the higher frequencies of your track boosted.
6. Save your file in .wav format. File>Export this file and save it in the "CuttingRecordGenerator" folder > data > as a wav file.
7. Open the Processing sketch "CuttingRecordGenerator.pde". Set the Audio file path to your audio file. We've already have some examples as your reference (e.g. sin_440hz_30sec.wav).
You also could change following parameters with default values as you like.
- recordDiameterMillimeter = 170; // 170mm
- outputSamplingRate = 44100;//44100; // 44.1kHz < we recommend you to change it around 8 to 22kHz
- rpm = 33; // 33rmp
- amplitudeMax = 0.2; // 0.2pt
- spaceOfEachLine = 2; // 2pt
- rInnerMarginMillimeter = 100; // 100mm
- rOuterMarginMillimeter = 5; // 5mm
- centerHoleDaiameterMillimeter = 7.24; // 7.24mm
- svgPathStrokeWidth = 0.01; // 0.01pt
Run the Processing sketch Sketch>Run. The Processing sketch will output a .svg file with your audio file name. The file size should be around two times lager than the audio file.
Once you've made a .svg file, you could fabricate it with your vector graphics application (e.g. Adobe Illustrator, Corel Draw, Inkscape). Then, Cut! You might could directly cut the file from the application through your laser cutter driver, or you might need to have some alternative way like we did with Direct Import add-on with VLS 2.30.
We couldn't provide good examples for laser cutter setting in connection with materials because of our few trials, however, as a start point, amandaghassaei's (again, thanks!) work with Acrylic, Paper, and Wood will help you!
If you made it, we recommend you to upload the data through thingiverse and other place. We've already upload our previous trials of cutting record - without prior acoustic information as a form of a single and a compilation.
Step 4: Another Way to Make Your Own Without Coding
0. Prepare an audio data with the range of time (1.8 seconds in 33RPM, 1.3 seconds in 45RPM) by using Audacity.
1. Download SoX. SoX is a command line utility to convert various formats of computer audio files in to other formats .
2. Download gnuplot. gnuplot is a graphing utility, which heavily used by historical computer science fellows.
3. Convert the audio data with standard uncompressed formats (e.g. .aiff or .wav) to .dat with SoX. We just show the way to use Mac and will skip the detail of the command line, but you could do it with Win or Linux by learning the detail from internet. Good luck!
Open terminal.app (Mac),
./sox /*/youraudiodata.aiff (or .wav) /*/youraudiodata.dat
4. Draw a continuous vector line (i.e. wave form) with the text as SVG (Scalable Vector Graphics) by gnuplot.
Open gnuplot.app (Mac)
set datafile commentschars ";" < good for later use.
plot "/*/youraudiodata.dat" with lines
Now, you have a "youraudiodata.svg" file, however, gnuplot has a bug for svg about without close tag </svg>. So, you need to add </svg> at the end of the file with test editor.
5. Open "youraudiodata.svg" with Adobe Illustrator, select wave form with Direct Selection tool, Selection > Invert the selection, delete other parts. Add the wave form to Art Brush (Figure), draw a circle, and apply the art brush to the circle (Figure).
6. Set a width of the circle around 0.05-0.2pt. The value defines the amplitude (i.e. volume) of the wave form.
7. Draw a periphery circle, make a center hole (7.54mm), and add other information.
8. Cut the data! In this case, you basically do not need to care about the number of anchor points. You could directly cut the data with Illustrator (we never test other software but should be work if they also have similar function) through the driver of laser cutter.
Koos007 made it!