Pictures in sound: introducing Vinyl Draw

Anything goes! Inventors! Artists! Cutting edge solutions to old problems. But also non-commercial usage of record cutting. Cost- effective, cost-ineffective, nutso, brilliant, terribly fabulous and sometimes fabulously terrible ideas.

Moderators: piaptk, tragwag, Steve E., Aussie0zborn

User avatar
pentlandsound
Posts: 66
Joined: Mon May 16, 2011 11:25 am
Location: Edinburgh, Scotland

Pictures in sound: introducing Vinyl Draw

Post: # 60264Unread post pentlandsound
Fri Feb 18, 2022 5:14 pm

One of the most attractive characteristics of vinyl records, for me, has always been the audio-visual aspect. The inscribed sound waves on every record reflect light in a way unique to that recorded signal: a groove of loud sounds reflects a lot of light, whereas a quiet passage appears much darker. I started being able to 'read' a record when I was about six or so, while watching and listening to my mum's 78 copy of Jimmy Young singing Unchained Melody - there's a sudden loud passage in the middle where Jimmy sings "Are you... still MIIIIIIIIIINE", standing out like a beacon on the record's surface. I'd watch the stylus with anticipation as it approached this bit, because I could see it coming by the way the grooves caught the light.

More generally, different types of sound material each have their own visual 'signature' when committed to vinyl - heavy electronic techno music looks quite different from a classical symphony or the spoken word. There are dynamic visual effects, too: if the beat of a thumping disco floor-filler is slightly off from the record's rotational period, the visible result can be a pleasing spiral pattern, moving inward or outward as the disc revolves.

And then I started thinking: would it be possible to create a piece of music, or at least some kind of signal, so that, when inscribed as a groove in a record, it presented a particular desired visual pattern? Could the tail wag the dog?

With that in mind, I have developed "Vinyl Draw" - a Windows computer program to do exactly that. It takes as input a bitmap (BMP) image file, extracts an annular section, the dimensions of which can be specified, and produces a WAV sound file. If things go well, when the sound file is recorded to disc using the same speed and pitch as those specified in the program, the extracted section of the original image should be discernible as a pattern in the inscribed groove.

Now I seem to recall that someone did something similar, many years ago, and there was some discussion on Lathe Trolls; but I can't find it, or any references to it. So I'm releasing my source code (under GPL 3.0) for anyone interested in using it or developing it further. Disclaimer: the program is provided free and as-is, with no warranty of any kind! Furthermore I can't accept any responsibility for any mishaps caused by using it.

The code is on GitHub at https://github.com/dn784533/vinyl_draw . Enjoy!

David
vinyl_draw_test_image_and_result.jpg
You do not have the required permissions to view the files attached to this post.

User avatar
markrob
Posts: 1636
Joined: Wed Nov 28, 2007 1:14 am
Location: Philadelphia Area

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60265Unread post markrob
Fri Feb 18, 2022 9:11 pm

Hi,

That's very cool! Thanks for making that available to the community. I'll have to grab a copy to play with. I'm thinking that adding a once per rev sync pulse via an opto interrupter with a flag on the turntable would greatly reduce the drift. An Arduino could do the sensing and report to the host via USB serial. Still, even with the drift, you can call it free italics ;)

Mark

User avatar
jtb
Posts: 8
Joined: Fri Jan 07, 2022 12:58 am

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60271Unread post jtb
Sat Feb 19, 2022 11:43 am

Amazing work! Will grab it for testing. The previous one you are describing is called Vinyl Record Graphics by http://kimulabo.jp

User avatar
piaptk
Posts: 1718
Joined: Fri Jan 25, 2008 3:40 am
Location: Tucson, AZ
Contact:

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60274Unread post piaptk
Sat Feb 19, 2022 10:32 pm

This is very cool! Thanks for sharing it!
I Buy/Sell/Restore Vintage Machines/Parts and Provide Phone/In Person Tech Support
www.MichaelDixonVinylArt.com
www.LatheCutCamp.com
www.RecordLatheParts.com
www.MobileVinylRecorders.com
www.LatheCuts.com

User avatar
flozki
Posts: 572
Joined: Fri May 19, 2006 4:40 am
Location: switzerland
Contact:

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60287Unread post flozki
Sun Feb 20, 2022 4:02 pm

here is the old post from 2012.
i still host the version from dieb13. austrian (turntable) artist.
check that version out as well if oyu are into linux use

https://www.lathetrolls.com/viewtopic.php?f=2&t=3010&p=17691&hilit=dieb13#p17691
just in case you want the direct post. here..
***************
hello
very nice.hehe
here some more stuff on the topic:

1. the analog crude way. for the analog fundis....

we did years ago same thing in a very primitive way..
just glued a infrared reflex coupler to the head suspension.
the output was connected to an analog switch. for example
cmos analog switch 4066,4053 for two differnet tones...
then we put a black&white image to the turntable and started with pixed pitch
to scan the image. every time the sensor passed a white spot it opened the switch and it changed frequency (4053) or switched off the sound (4066).
this signal was recorded. then we just where cutting that sound file...

2. the nice digital way.
last year the austrian artist &turntablist Dieb13 sent me a programm he developped. the same purpose but it converts directly form a jpg,png file to a soundfile. you can either use as a source sinus, whitenoise or any sound file of your choice.
the programm is under the GPL license free to use. enjoy.
you can find it here...
http://www.floka.com/lofi/nicestuff/image2groove.tar.bz2

it is a linux command line tool:
you start with
./image2groove -d pitch -s input_soundfile.wav/.aif -o output_soundfile.wav/.aif bild.png/.jpg

pitch is the theoretical time in seconds the stylus needs from the outer start to the center of the record....
if no input sound file is choosen it takes a sinustone
with -f you can choose which frequency the tone should be.

you need to have libgdand libsndfile installed.but thats anyway the case on most systems.

enjoy and thank Dieb13 for the wonderfull software...

User avatar
dmills
Posts: 190
Joined: Sun Jun 16, 2019 3:33 pm
Location: Uk

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60294Unread post dmills
Mon Feb 21, 2022 5:00 am

A fun one would be to cut with the picture signal signal as L-R (So depth) and a mono audio track (lateral), that way you could maybe get a picture disk that was also actually playable on a mono system?

Just a silly thought.

Regards, Dan.

User avatar
jtb
Posts: 8
Joined: Fri Jan 07, 2022 12:58 am

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60304Unread post jtb
Tue Feb 22, 2022 1:08 am

dmills wrote:
Mon Feb 21, 2022 5:00 am
A fun one would be to cut with the picture signal signal as L-R (So depth) and a mono audio track (lateral), that way you could maybe get a picture disk that was also actually playable on a mono system?

Just a silly thought.

Regards, Dan.
Great idea, reminded me of trying to cut 2 spirals on the same side with same groove speed, one with the image and one with the actual music.

User avatar
symatic
Posts: 241
Joined: Fri Jun 26, 2015 10:41 am

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60313Unread post symatic
Wed Feb 23, 2022 12:25 pm

i love this idea, I think Deepgrooves also had a method for this.

I originally wanted to have a playable logo on one of my records but becasue of time restraints we couldnt delay the project longer....

We ended up working with an etching artist who lined the image up for me, I got a 12" lacquer cut but only cut it like a 10", leaving a 1" ring of open space for the etch to go on. the etch was applied to the metalwork.

it came out looking great though!

and on the point about syncronised wave forms making patterns - that's the whole principal behind most of my label's records so we can make them into functional instruments for people making music with turntables.

here's the record with the etching:

https://www.youtube.com/watch?v=XJt67SmlDTs

User avatar
Oldskoolhousehead
Posts: 33
Joined: Mon Feb 08, 2016 3:03 pm

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60331Unread post Oldskoolhousehead
Sun Feb 27, 2022 1:20 pm

Hello. I was wondering if I can apply this route to pre-recorded wav files (meaning tracks recorded from 33rpm records) or wav files that I buy online, in order to re-record them on 45 rpm discs. Thank you.

P.S: I spent quite a long time on Audacity without any success.

User avatar
markrob
Posts: 1636
Joined: Wed Nov 28, 2007 1:14 am
Location: Philadelphia Area

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60332Unread post markrob
Sun Feb 27, 2022 4:12 pm

Hi,

I've been studying the code and and have made some simple mods to allow for a sync pulse to be added to the wav file at each scan line. To do this, I increase the entered platter speed by 1% to make sure each scan line ends a bit early so I will be waiting for a physical sync flag to arrive at a sensor I have installed on the lathe. To add the sync pulse to the wav file, I reduced the amplitude of the data by half. That allows me to add a full scale single sample sync pulse to the wav file at each rev. I wrote a standalone wav player that plays each scan line until the sync is reached and then halts playback until the actual physical sync is detected. I have a Arduino Leonardo clone doing the platter sync detection. On detection, it sends MIDI USB event to my player to restart playback. This should eliminate any long term drift. One area of concern is timing jitter of the reaction to the sync pulse due to MIDI USB latency, and Windows ASIO and other system overhead. I'm running an 32 byte ASIO buffer and have measured a jitter in the 1ms range. I have not tried to cut an image yet because I have some questions on your approach. I am also looking at a dedicated Arduino to do the playback to reduce the jitter.

If I understand the code correctly, it looks like you are trying to map RGB data in the BMP to three user defined frequencies with user defined time proportions that are written as a sequential series of frequency bursts based on the amplitude of the individual RGB values. I am wondering if all of this is needed? Can this mapping really provide a good rendering of the color info in the BMP file? Wouldn't it be much simpler to use a simple 1 bit monochrome image and just gate a fixed user defined frequency based on the start and end points of the black areas as you radially scan the image?

Mark

User avatar
PLD
Posts: 28
Joined: Wed Apr 15, 2020 3:50 pm

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60333Unread post PLD
Sun Feb 27, 2022 7:22 pm

No problems here.
You do not have the required permissions to view the files attached to this post.

User avatar
markrob
Posts: 1636
Joined: Wed Nov 28, 2007 1:14 am
Location: Philadelphia Area

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60334Unread post markrob
Sun Feb 27, 2022 8:56 pm

Thanks for posting that! I can see the gray scale in the image. I'll do some testing to see if I can get the drift under control with the sync pulse idea.

User avatar
markrob
Posts: 1636
Joined: Wed Nov 28, 2007 1:14 am
Location: Philadelphia Area

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60336Unread post markrob
Mon Feb 28, 2022 9:41 am

PLD,

Would you mind posting the original bmp file you used and the program settings that generated the wav file? The test file and cut posted by Pentlandsound is great, but its basically a monotone image.

Mark

User avatar
dmills
Posts: 190
Joined: Sun Jun 16, 2019 3:33 pm
Location: Uk

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60337Unread post dmills
Mon Feb 28, 2022 10:11 am

Might be worth investigating something like Floyd–Steinberg dithering to compress to effectively a 1 bit grey scale image.
It **MIGHT** be possible to do colour when viewed in direct sunlight from a specific angle by utilising diffraction effects in what is effectively a grating?

User avatar
pentlandsound
Posts: 66
Joined: Mon May 16, 2011 11:25 am
Location: Edinburgh, Scotland

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60338Unread post pentlandsound
Mon Feb 28, 2022 3:22 pm

Very pleased that this software seems to have been of some interest.
If I understand the code correctly, it looks like you are trying to map RGB data in the BMP to three user defined frequencies with user defined time proportions that are written as a sequential series of frequency bursts based on the amplitude of the individual RGB values. I am wondering if all of this is needed? Can this mapping really provide a good rendering of the color info in the BMP file?
You're right Mark - after several tests I suspected that this wasn't maybe the best way to go about trying to represent colour, and so last week I made some alterations to the way the software tries to do this. Instead of three separate segments of waveform for each point - one for each of R, G, B - now there is just one segment, the frequency of which depends on the Hue value calculated from the three R/G/B values. The frequencies for Hue=0 and Hue=360 can be set by the user on the panel, and the frequencies for hue values 1 to 359 are interpolated logarithmically. The Luminosity and Saturation are also calculated for each point, and the amplitude of the waveform-section can be set by the user to depend on either. It's difficult to tell from embossings on clear poly, but the results seem to be (slightly) better defined than before.

To all who have been trying out this software - many thanks for your input, but please make sure you have the latest version from GitHub as I also had to fix several bugs last week. Please PM me if you find any others!

David

User avatar
markrob
Posts: 1636
Joined: Wed Nov 28, 2007 1:14 am
Location: Philadelphia Area

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60339Unread post markrob
Mon Feb 28, 2022 4:28 pm

Hi David,

That's great! I'll grab the new version. I had some issues reading BMP's that were anything but 24 bit. Was that area where you were making fixes? The dithering that Dan suggests might be worth looking into as well.

Mark

User avatar
pentlandsound
Posts: 66
Joined: Mon May 16, 2011 11:25 am
Location: Edinburgh, Scotland

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60340Unread post pentlandsound
Mon Feb 28, 2022 5:17 pm

Mark - yes the program should now work for 1-, 4-, 8- and 24-bit BMPs. At least it seems to, for the files I've tried it with! If you have any problems let me know.

Here's my Floyd attempt, embossed just now on clear polycarbonate. (The outer track was a false start as the turntable was running slow.) All program settings were left as defaults except 'Steps / rev' = 720 and 'Hue 360' = 3500 Hz. Before making the record I applied the usual EQ, IRIAA and so on.

When taking this photo I had to angle the record very carefully under strong light and hold the camera at exactly the right spot to make the image stand out.
IMG_20220228_213348053 (3).jpg
You do not have the required permissions to view the files attached to this post.

User avatar
PLD
Posts: 28
Joined: Wed Apr 15, 2020 3:50 pm

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60341Unread post PLD
Mon Feb 28, 2022 6:40 pm

Mark - I can't remember which image I used, it was the first decent one of the Floyd's Piper cover that I found online - nothing special. Steps/rev was 720, and I cut it on a VR/SP10 at 33 onto a scrap 10" blank (very fine pitch). I didn't keep the image or wav as I was just throwing things at it in experimentation! It's a bit hard to see, and harder to photograph, but it's there. Experiments with more stark images have been very successful.
You do not have the required permissions to view the files attached to this post.

User avatar
markrob
Posts: 1636
Joined: Wed Nov 28, 2007 1:14 am
Location: Philadelphia Area

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60353Unread post markrob
Wed Mar 02, 2022 4:04 pm

Hi,

I completed my build and initial testing of a standalone Arduino Nano based VinylDraw Player that uses a slotted opto switch to trigger each scan line of the audio file produced by my modified VinylDraw Windows program. I'm currently using the original version of the software, but the mods are very simple and I plan to download and modify the latest version. The output wav file is copied to a microSD card and inserted into the stand alone board. The board has a single RCA jack that carries the audio to be cut or embossed. The board plays one scan line of the audio until an encoded sync sample is detected in the wav file and playback is halted until a flag mounted on the lathe platter passes a slotted opto switch. This triggers the playback to output the next audio scan line. Using the Arduino allows for near zero latency and jitter as there is no audio buffer and the flag detection occurs on each audio sample (about every 22 us at 44,1Khz). If you check out my poor photos of embossed disc, you can see there is no drift over the course of the playback. If there is any interest, I can make all of the design info available including PCB layout, 3D print STL files and Arduino code.

Mark

Emboss2.jpg
Emboss1.jpg
VinylDraw PCB.jpg
VinylDraw Sensor.JPG
You do not have the required permissions to view the files attached to this post.

User avatar
pentlandsound
Posts: 66
Joined: Mon May 16, 2011 11:25 am
Location: Edinburgh, Scotland

Re: Pictures in sound: introducing Vinyl Draw

Post: # 60360Unread post pentlandsound
Fri Mar 04, 2022 2:04 pm

Mark, this looks absolutely great! Not a trace of drift at all. At the moment I'm reworking my Arduino turntable controller so that the stepper is driven by PWM pulses rather than by a series of ISRs. I'm hoping to be able to include some kind of PID control using a photointerrupter and flag mounted on the platter. From your work above, I wonder if it would be possible also to include in my controller a card reader and switch for normal/'Vinyl Draw' cuts; I'd be very interested in looking at the files you have if you're offering them for public consumption.

Thanks,

David

Post Reply