You can convert your own audio files into vector cutting paths in ten easy steps:
1. Download Processing
2. Download Python 2.5.4
3. Download Audacity
4. Download the code from GitHub
(you can download the zip file by clicking on the cloud button). Unzip and open the folder called LaserCutRecord.
5. Open an audio file of your choice with Audacity. Go to Effect>Equalization and select RIAA. Hit inverse and apply, you should now hear the higher frequencies of your track boosted.
6. Go to Effect>Low Pass Filter... and apply an anti-aliasing filter (a fancy word for a low pass filter) to your audio. You will have to choose the cutoff frequency according to the max sampling rate that you can get with your cutter. For example, my laser cutter melts anything above 2.5kHz at 45rpm, so I set my anti-aliasing filter cutoff to this same frequency. Set the drop off as high as possible, for me this was 48dB/octave, that way the filter will have a hard cutoff.
7. Use Effect>Amplify to amplify the signal as much as you can without noticeable effects of clipping (you will be able to get away with some clipping, and remember this is not crystal clear audio anyway). You may also want to mess around with Effect>>Compressor.
8. Make sure there are 2 sec of blank audio at the end of the track so that nothing gets clipped and keep the audio under 3:10. File>Export this file and save it in the "LaserCutRecord" folder as a wav file.
9. Open the Python file called "wavtotxt". Copy the file name of the file you just saved in the line: fileName = "your_file_name_here.wav"
Hit Run>RunModule, after a minute or two you will have a .txt file saved in the Record Generator folder.
10. Open the Processing sketch. Change the name of the import file in the Processing sketch to your txt file name: String filename = "your_file_name_here.txt";
Run the Processing sketch Sketch>Run. The Processing sketch will output several files, none larger than 700KB (I found that larger files were crashing the laser cutter). The last file will also contain the cut paths for the inner hole and outer edge of the record, you will need to set your laser cutter to cut these lines at a higher power, so that it cuts all the way through the material. Another very important note about cutting these files - the reason I had to split each song up into five parts is because I found that files larger than 800KB would crash my laser. When you are cutting out the sequential files, you MUST shut down the laser for a second to clear it's memory and then turn it back on before sending it a new 700KB file to cut, you will have problems if you forget this.
Once you've made cutting files, post them! You can upload files in the comments by clicking on "Rich Editor." Enjoy, and let me know if you have questions or need help getting this to work. I've tested this process Mac OS using the latest version of Processing. If you actually end up cutting your own record, please
post the results in the comments, I'm really curious to see where this code ends up!
In case you are stuck trying to find a machine to cut your files, check this list of worldwide hackerspaces
, these are places where anyone can go for little to no money and use tools in a collaborative work environment. If you are in school, you might ask the engineering or art departments if they have a machine than can cut vector files. Otherwise, I'd recommend checking out an online fabrication service such as Ponoko
. Some people even build their own laser cutters, there are many builds documented right here on Instructables
, we're even giving one away in our Epilog Challenge