Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Digital Needle - A Virtual Gramophone (Read 7663 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Digital Needle - A Virtual Gramophone

This is quite funny experiment.  The site describes a method of extracting audio off of scanned images of vinyl records. 

http://www.cs.huji.ac.il/~springer/
Juha Laaksonheimo

Digital Needle - A Virtual Gramophone

Reply #1
 thats awsome

Digital Needle - A Virtual Gramophone

Reply #2
WOW...that's just amazing!!!
I wonder if it can get better if you do extremly hi-quality scans.

Can someone compile this proggy?
I would love to check it out.

Digital Needle - A Virtual Gramophone

Reply #3
From the discussion on Slashdot when this was posted, a lot of people seem to think this may be a hoax.  I haven't spent enough time looking at it to decide.

Digital Needle - A Virtual Gramophone

Reply #4
I don't see any reason why it couldn't work... the first sample is using a regular stylus (as the reference), it's the wavs that consist of the program's output. 

The section of "music" is small and might have been the easiest part to determine... note it consists mostly of something sounding *somewhat* like music, with a fade-out (which would probably be the easiest to determine from the scan of the grooves). 

My guess is that it's genuine (but I could be wrong).  For some reason it reminds me of experiments people did in the '80's with computers like the Apple II and an AM radio picking up RFI from the CPU... it was possible to write an assembly language program that would "play music" simply by looping in certain ways and affecting the RFI output by the CPU.  I remember with the Commodore 64, I could often determine exactly what a program was doing by turning up the volume on the monitor (which picked up RFI from the system), various loops and program instructions had different "sounds" (a short, endless assembly language loop for example was very high pitched and unvarying).  I actually used it as a debugging technique!

Digital Needle - A Virtual Gramophone

Reply #5
That's amazing. 

Digital Needle - A Virtual Gramophone

Reply #6
Yeah, it's certainly possible, I think the question was just whether the guy had actually done it.  It'd take quite a bit of effort in the image-processing to have your virtual needle follow the spiral grooves and interpret their modulations with any degree of accuracy.

Digital Needle - A Virtual Gramophone

Reply #7
Wow.. what a concept..

I agree, though I haven't read the thread, or looked at the code,  that it probably would be a bear to actually pull it off..

If he's really doing it, you could go a long way with the angle of the lighting and so forth to make a better picture that highlights the sides of the grooves well.  Probably take a custom built scanner to do that right..

There are actually a few (one?) laser turntables out there, that focus a beam down into the groove, and read the track.  A different approach, and in some ways simpler, except the hard stuff is all mechanical and optical..

They cost >$10,000 though..

Digital Needle - A Virtual Gramophone

Reply #8
Quote
I actually used it as a debugging technique!

A riddle is a short sword attached to the next 2000 years.

Digital Needle - A Virtual Gramophone

Reply #9
The sample provided really sounds like if it was taken from the picture

With a higher resolution scan, there would be more treble.

It reminds me of another experiment : scientists tried to analyze the grooves left during the making of thousand years old potteries in order to find voice recordings in them.

Unfortunately, they found nothing.

Digital Needle - A Virtual Gramophone

Reply #10
Quote
Quote
I actually used it as a debugging technique!


Hey, things were weird back in the old 8-bit CPU days (not to mention a lot of fun).  I didn't want to mention this, but I also programmed in straight machine language using a 'monitor' program (on a plug-in cartridge) -- directly into memory.  Imagine, if you wanted to free some space for code or data, to physically move everything forward in RAM and then manually relocate pointers, etc in the code... LOL! 

Digital Needle - A Virtual Gramophone

Reply #11
cool stuff, fewtch.. and i thought i did choose an extreme way of doing things, toying around with opengl in win32 assembler    I'm humbled. 
A riddle is a short sword attached to the next 2000 years.

Digital Needle - A Virtual Gramophone

Reply #12
Quote
cool stuff, fewtch.. and i thought i did choose an extreme way of doing things, toying around with opengl in win32 assembler     I'm humbled.  

Extreme maybe, but the 6502/6510 instruction set was/is actually very simple (it's been compared to RISC before).  Anyone who's programmed before could probably learn the assembly language in a matter of days or hours, there are only three main 8-bit registers to deal with (if I remember right), only one system stack (256 bytes located in a predefined area of memory), and memory-mapped I/O (which might be the strangest transition to make for anyone used to PC programming).  Only one IRQ, too (on the Commodore 64). 

The fun thing about it was that with only 64k of RAM, single-tasking and every memory location predefined for some purpose, you could get a "complete picture" of what's going on in the computer at nearly all times -- it gives an amazing sense of control. 

P.S. I've done some 16-bit DOS assembly programming too (but no Windows related ASM or 32-bit ASM coding).  You are probably much crazier.    The only really crazy thing I tried once was playing with DMA under DOS using the original 8-bit Soundblaster card (akin to writing a driver from scratch that performs DMA directly with the hardware).  Talk about black arts... 

Digital Needle - A Virtual Gramophone

Reply #13
Yeah, I've done a bit of 6502 assembler and some simple DOS assembler, and I'd say they're much less crazy than win32 assembler (which I've only looked at, but never written).  With single-tasking where you have direct hardware control, it's much easier to wrap your head around exactly what's happening, and design accordingly.  Trying to interface with asm into win32 doesn't let you do that, since you really have no idea what is going on elsewhere on the machine while your code is running, and have to read tons of manuals to chase down the side-effects of all your function calls and whatnot.  Of course if you're doing win32 programming, it's probably a better idea to write the main code in a functional language (C or C++, for example) to ease interfacing with the OS, and then just write your speed-critical loops in inline ASM.

Digital Needle - A Virtual Gramophone

Reply #14
Believe it or not, in school right now I'm learning how to program in assembly language for the 8085 using the SDK. What fun!

Digital Needle - A Virtual Gramophone

Reply #15
yup...


it already does exists some few utils.
to extract pulse data from graphical images..
(am shure some1. at this board have used some of them..)

am not remembering there names tough..
(you should listen to the old HA-logo..)



Digital Needle - A Virtual Gramophone

Reply #16
Fewtch, you are a true hacker!

Anyways, this "Record Player Emulator" is really cool! I hope somebody would develop idea and program further, because this could open new possibilites on archiving old vinyls to digital format.

This gave me an idea: I remember reading few years back about programs which could create 3d-landscape from scanned pictures of 2d map.
I wonder could same technology be used to create very detailed and exact 3d-model of vinyl and then play that vinyl with 3d needle on virtual record player!

You could even include 3d-game on this kind of "3D Vinyl Player Emulator": It's name would be "Dustbuster". On the game, you are a small spaceship flying in grooves on front of running needle, shooting off dustballs and other dirt, trying to clean whole groove without getting crushed by the running needle. Better you remove dirt, cleaner sound you get!

Digital Needle - A Virtual Gramophone

Reply #17
Quote
You could even include 3d-game on this kind of "3D Vinyl Player Emulator": It's name would be "Dustbuster". On the game, you are a small spaceship flying in grooves on front of running needle, shooting off dustballs and other dirt, trying to clean whole groove without getting crushed by the running needle. Better you remove dirt, cleaner sound you get!

I want that game!

Digital Needle - A Virtual Gramophone

Reply #18
Quote
Of course if you're doing win32 programming, it's probably a better idea to write the main code in a functional language (C or C++, for example) to ease interfacing with the OS, and then just write your speed-critical loops in inline ASM.

Actually it is a bad idea to use inline ASM because of the compiler optimization characteristics. Most compilers will disable the optimization process if you mixed C codes with inline ASM. A better solution is to code the entire routine in ASM, compiled with MASM and link the obj file into your Visual C 6.0 project. In this case, the Visual C optimizer routine will not be effected. Also, using the Intel VTune tools will be highly desirable as it actually pinpoint which part or routines which is computationally intensive. There is also a need to take care of the instruction pairing criterias as the Pentium processors is a duel pipeline machine. Usually the ASM codes have to be interleaved so as 2 instructions can be executed simultaneously in one processor cycle. 

As far as I know, the Visual C 6.0 compiler does not support inline ASM for MMX and SIMD instruction set.. 

wkw

Digital Needle - A Virtual Gramophone

Reply #19
Is it possible to change the subject of this thread ? It's the ninth post about programming called "a virtual gramophone" 

Digital Needle - A Virtual Gramophone

Reply #20
Quote
Is it possible to change the subject of this thread ? It's the ninth post about programming called "a virtual gramophone" 

Thread going off-topic in the off-topic forum? 

Well, in the next IBF version there's thread splitting possibility, but imo this is not so serious, I mean this is an off-topic forum, what can you expect? 
Juha Laaksonheimo

Digital Needle - A Virtual Gramophone

Reply #21
Returning to the topic as headed )

I gotta admit, it's an interesting concept.. the virtual gramaphone idea that started this thread.

I just took a quick-fire glance through the page about it.  It's funny really, but it's the seed of a simple, yet ingenious idea.. that could well be taken a lot further.

My analogy is gonna be a little off-topic, but please bear with me on this...

It's a simple, ingenious idea.. i'd say, as the very early principle that led to the invention of early fax equipment.  That was as crude as hell (and analogue, with mechanicial difficulties), but it was enough of an idea that was kinda before it's time.  I'd definately put the VG idea up in line with that of fax, for simply an ingenious concept that is dying to be worked on in detail.

Who knows, it could be an solid idea-before-its-time.  An invention in the sense of true inventions that contribute something without being a 'gadget'.  For sure, the concept could also be applied to drum/cylinder recordings too.

Think, one day, the manufacture of turntables, legacy styli and cartridges will eventually redender the modern turntable into obscurity (like what happened to the proper 'gramaphone').  So, wouldn't it really great if the VG concept got developed into a 'here & now.. it works.. it rocks' solid transfer method in time for the point in time (which will happen) when it's not just damn near impossible to get parts to keep a turntable going.. but its just not viable to do so.  Then, the guy in question who started the concept development, will have a goldmine of an concept.. and if that becomes a solid 'open development'.. it could be the next big contribution to audio, that community radio was to broadcasting.

To the guy, who's name i forget now, I sincerely bow respectfully to the idea of the VG.. and will definately want to follow where it goes

*returns to the labourious 16 & 78's transfer in the depths of engineer's hell* )

Digital Needle - A Virtual Gramophone

Reply #22
Author has updated the page with new samples. Compared to previous ones, those samples sound... very strange.

Digital Needle - A Virtual Gramophone

Reply #23
Thanks for updating us on this.


They sound like something the BBC Radiophonic Workshop would have produced for Doctor Who in the 1970s!


Seriously, it sounds almost like he has dried to de-noise them. But then there are really really sharp clicks which you wouldn't expect. Any genuine clicks from the vinyl should be just as muffled as the audio signal itself.


Cheers,
David.
http://www.David.Robinson.org/