Resident artists Vinyl Terror and Horror spent two weeks at EMS in November and among onther things performed at the Sound of Stockholm festival. VTH uses heavily modified record players and vinyl reords to create multi layered compositions of noise, klicks and fragments of music and speech.
During their stay at EMS they cooperated with studio engineer Daniel  Araya to use EMS computer controlled milling machine to create a number of innovative records and tools for their live performances.
You can find out more about them at their homepage:

Horizontal and vertical holes cut in one recod and then many matchning pieces cut from another record.
Depending on the direction of thacks in the inserted piece the needle moves on the recod creating both a mash up of the different records and a simple sequencer


Jigsaw puzzle pieces cut out from different records and the put together.


A 7 inch circle was cut out and then glued back in a different position


A 7 inch circle was cut out and then glued back in a different position, the process then repeated multiple times.


A stylized photo of a crop circle diamond engraved in a Beethoven record. No mathematical secrets revealed so far but you never know!


If you are interested in more technical details continue reading below.




Machinery, software and projects 
The majority of the work was made on a small CNC router controlled from a PC.
the machine

Software used was graphics program Adobe Illustrator, CAM software CamBam for processing and machine controller Mach3 for the output.

The pictures below show a typical workflow:

Design the pattern in Illustrator.
jigsaw ill

Prepare the image in CamBam and generate GCode
jigsaw cam

Load code into machine controller Mach3
jigsaw mach3

The machine cutting
jigsaw cut

Here are the completed parts from different records
jigsaw finished

...and here is completed jigsaw puzzle on the turntable!
jigsaw playing

The spindle speed for all cuts were 30.000rpm, travel between 2 and 4000mm/min and the tool used was 1,5 mm in diameter and care was taken not to have to have smaller inner cuts (no square angles).
An ok fit was found when the holes was about 0.1 to 0.05mm bigger than the pieces, a good press fit.

Many diffent shapes was tried with good results.

Here is another project, the repeated cutting, repositioning and re-glueing of a 7" piece from one record.
7inch hole1

Diamond engraving 
We wanted to try out diamond engraving of different materials, a small tool used for engraving on glass and metal was attached to the milling spindle.
It is mounted in floating holder, a small spring pushes it against the object being engraved so that variation in thickness or bent objects can be engraved.
This helps with bent records or materials but also gives somewhat inconsistent depth of engraving.
Here are results on vinyl and PCB material (copper on fibreglass)
This is the crop circle pattern from the video above.

The 500Hz "sine" test tone track
engrave pcb big

We tried both with just a circle to hear the material and with data in the tracks.
engrave pcb

The data was entered with a simple program written in MatLab language and then generated with FreeMat software.
The main program was written by user Andax on the swedish electronics forum with additions
from several other people and resulting Gcode tcan be used in most machine controllers to generate a crude approximation of tracks found on vinyl records.

The code below generates a sine wave with variable amplitude and frequency and can be used as a starting point for futher experiments.
R0 = 84;          % Start radius
dR = -0.5;          % Radius step per revolution
R1 = 55;            % Stop radius
N = (R1-R0)/dR;     % Number of tracks
rpm = 45;           % target rotation speed, rotations per minute
rps = rpm/60;       % rotations per second
f_sample = 1378;    % sampling frequency Hz
dt = 1/f_sample;    % delta time between samples
t = (0:dt:(N/rps))';  % time vector from start to end
R = R0 + dR*rps*t;  % Radius as a function of time t
fi = 2*pi*rps*t;    % Angle as a function of time t
X = R.*cos(fi);     % X coordinate as a function of angle and radius
Y = R.*sin(fi);     % Y coordinate as a function of angle and radius
Z_max = 0;                                   % antar att alla mÂtt ‰r i mm
Z_min = -0.5;
amplitud = Z_max - Z_min;
offset = (Z_max + Z_min)/2;
Z = (amplitud/2).*sin(2*pi*500*t)+offset;    % New amplitude / 2
axis equal
fid = fopen('test5 sjua.txt', 'wt');
fprintf(fid, 'G01 X%0.3f Y%0.3f Z%0.3f\n', [X Y Z]');

Here is a sample of the resulting Gcode:
” G01 X20.000 Y0.000 Z-0.500
G01 X20.000 Y0.068 Z-0.260
G01 X19.999 Y0.137 Z-0.078
G01 X19.998 Y0.205 Z-0.001
G01 X19.997 Y0.274 Z-0.047
G01 X19.996 Y0.342 Z-0.204
G01 X19.994 Y0.410 Z-0.434
G01 X19.992 Y0.479 Z-0.680
G01 X19.990 Y0.547 Z-0.882
G01 X19.988 Y0.615 Z-0.990
G01 X19.986 Y0.684 Z-0.977
G01 X19.983 Y0.752 Z-0.847
G01 X19.980 Y0.820 Z-0.631
G01 X19.977 Y0.889 Z-0.383
G01 X19.973 Y0.957 Z-0.163
G01 X19.970 Y1.025 Z-0.027
G01 X19.966 Y1.094 Z-0.007
G01 X19.962 Y1.162 Z-0.109
G01 X19.957 Y1.230 Z-0.307”

Anoder code with the possibility to import wave files has been developed but not tried yet, we will hopefully find the time in the future, hopefully on glass records!
We have no sound example yet but the tone was audiable but very rough, special needles are probably needed, ordinary needles are made for much more shallow depressions in the tracks.
We hope to continue this work in the future since there wasn’t enough time to try out all our ideas.

If you have any questions feel free to email me. This email address is being protected from spambots. You need JavaScript enabled to view it.
Daniel Araya
Studio Engineer - EMS

ps. No rare records were harmed during the making of this project. The records were either pressed by VTH themselves or donated by a friend of them that runs a record store because they were deemed unsellable, ds.