I successfully built an RIAA equalizer with sigmastudio to Play vinyl discs.
Is it possible to filter the noise made from scratches on my discs ?
That's an interesting application. You could always reduce treble response, but we hope to do better with DSP. There's several possible methods, all of which depend upon the high-frequency content and the short time of the pops and ticks common to vinyl. Perhaps the most ambitious method is one that BSR developed many years ago. I remember reading about it and it works something like this: The incoming audio went through a short delay -- likely an analog bucket brigade at the time. Normally the listened-to sound is taken from the delay output. But when circuitry looking at the input detected a vinyl defect, it would wait until just before the defect reached the delay's end, then momentarily switch to the non-delayed signal to skip over the defect. Very cool!
It won't be a trivial undertaking, but something like this should be quite possible with SigmaStudio. In fact I had thought about making one of these but didn't pursue it. The key to detecting vinyl defects is their transient nature -- they come and go quickly. Most important, their direct mechanical production right at your turntable means there's absolutely no reverberation or echo in their decay characteristic. This separates vinyl defects from virtually any recorded sound, making the needed "click detector" possible to implement. Delays of course are easy in DSP, so there you are! Perhaps someone out there has already done this, but you'll have lots of fun developing it further yourself. And you won't burn your fingers on a soldering iron in the process!
thanks for your fast response.
My problem is how to detect that click, or what kind of filter do i have to use to detect it ?
There's no one filter or block to perform this function. We can, however, wire together several to help identify the clicks among the music according to their unique decay characteristic. In SigmaStudio there's often more than one way to do something -- and the more complex the function, the more ways exist. The method shown below is just one possibility:
I suspect (but don't know) that the vinyl scratches cause primarily vertical stylus motion. This would translate to out-of-phase (L-R) signals at the cartridge. Thus I made the circuit sensitive to such signals (of course you would be the expert on this). The peak-sensing envelope follower works much like a full-wave rectifier & capacitor filter. Its output rises instantly with input peaks, then decays in between. The feedback, multiplier and DC source establishes an exponential "RC" decay characteristic (otherwise, the decay is linear --
see https://ez.analog.com/message/146951?commentID=146951#comment-146951 ).
The "hold" time of 3 mS bridges the gaps between peaks, reducing output ripple. Without hold time the circuit responds to ripple, resulting in premature triggering of the "click" function which actually lets clicks through. At the peak follower's output we have a positive signal which follows the level of the (L-R) input.
Next, we need to sense a sudden downturn of this level, indicating that a loud disturbance came and went with a fast decay (a click or scratch). The following circuit takes the difference between the current sample and one two samples previous, to measure the rate of change. It's purposely wired backwards so the faster its input falls, the more positive its output goes. As a result, the higher the differentiator's output, the more likely there's been a click. So we can use the output of this circuit for our click detector.
No suggestion is truly helpful unless it has at least a chance of working, so I built a demo project to test it. In addition to the click filter, the project contains:
The project runs on the ADAU1701MINIZ board. I suggest using the built-in click at first. Add some music, and adjust the threshold downward until you see LED D5 blink, showing that the thing is finding the clicks. The clicks will then be rendered nearly inaudible! Next you can switch off the built-in clicker and try some bad vinyl. You'll need to add your RIAA EQ.
At this point you're free to come up with variations or an entirely new circuit. The more you learn about the blocks and what they do, the more likely you'll succeed. Here's a few more tips:
Best regards, Bob
wow, thats a lot of stuff i have to understand.
I will try to implement this on my board, as i don't own the MINIZ board.
I will keep you informed and post my hopefully working project.
It is just for hobby, and anyone who wants can use it for non commercial projects.
Sorry I forgot to attach the project. Here it is. It should be fairly easy to adapt it to the Sure DSP or similar boards, just change your ins and outs. Anything needing more explanation, just ask. Hobby projects are fun!
Retrieving data ...