Digitizing vinyl

Status
Not open for further replies.
Scott
Here is what comes out when plugging these coefficients into the spreadsheet simulator (yes a1, a2 need to be sign inverted)
https://www.minidsp.com/images/fbfiles/files/All_digital_coefs_v1-20101026.zip

Tomorrow I will plug them into the real 2x4 miniDSP and take a frequency sweep measurement. I'll report back.

George

Looks right. The pole out at 2k or so causes the 1dB error at 1k, that is if you want the gain to be exactly 0dB at 1k for the entire RIAA you need to account for it. I set the gain just for this 2/3 RIAA. It won't matter. BTW the ripples in FR are at the .001dB level even at 48K.

EDIT - The gain normalization is simple a multiplier on the b coefficients you can make it anything you want within numerical sense.
 
Last edited:
Yes Scott, it looks OK.
I will ask you one more favour.
In your LA Volume 10 article, on page 66 Table a-1, the RIAA biquad coefficients are for some gain .
Can you provide the 48kHz coefficients for the gain x1 (0dB) please?

George
 
Yes Scott, it looks OK.
I will ask you one more favour.
In your LA Volume 10 article, on page 66 Table a-1, the RIAA biquad coefficients are for some gain .
Can you provide the 48kHz coefficients for the gain x1 (0dB) please?

George

My copies are at work, but the gain is just a multiplier on the b coefficients. You can run the sim in the Excel spread sheet and just get the factor. That is if you want to move the whole curve down 1dB just multiply the b's by 0.89125
 
Bill, mine is a keeper 😀

Scott thank you again. You’ re the man :checked:

George
 

Attachments

  • Scott 2.PNG
    Scott 2.PNG
    125.3 KB · Views: 303
  • Scott 2 MiniDSP.PNG
    Scott 2 MiniDSP.PNG
    100.3 KB · Views: 299
Yes Michael but I worked on it a bit more.
Not that it will matter in the application but respecting Scott’s effort, I tried to make things more precise.

Standard RIAA for 0dB gain with MiniDSP (48KHz sampling frequency and ‘a’ coefficients sign-inverted)

George
 

Attachments

  • Scott 3.PNG
    Scott 3.PNG
    105.2 KB · Views: 271
  • MiniDSP Scott.PNG
    MiniDSP Scott.PNG
    99.5 KB · Views: 233
Yes Michael but I worked on it a bit more.
Not that it will matter in the application but respecting Scott’s effort, I tried to make things more precise.

Standard RIAA for 0dB gain with MiniDSP (48KHz sampling frequency and ‘a’ coefficients sign-inverted)

George

Looks perfect, when writing the article I listened to my Grado cart into a mic pre-amp with the miniDSP and my sound card. It sounded fine with no issues on the pops and ticks. It's too bad I bet a primitive but decent remover could fit into the miniDSP firmware if you are only doing RIAA. I think an even bigger benefit here is for folks with lots of older LP's who want to play with the equalizations.
 
What i did not come across is a decent hat compliant audio grade adc board for the raspi.
r

Yes the choice for output is large, but I only found a Wolfson card for input. As usual I found some blogs where serious programmers said, "I finally got it working after recompiling the kernel, etc." with the usual pages of Unix incantations.

Do any USB sound devices do 24/96 full duplex on an RPi? I only saw the generic < $10 ones being used to play mp3's.
 
Scott, do you have a link for the wolfson card?

I don't see the price, but it seems there might be some helpful hint here that I missed earlier.

https://www.element14.com/community/community/raspberry-pi/raspberry-pi-accessories/wolfson_pi

I case you don't find it this looks like something even I could do. 🙂 The problem remains that some folks still think it sounds like shite.

Re: Cirrus Logic Audio Card and Raspberry Pi 3
jayeye
Level 1: Coulomb
jayeye Apr 13, 2016 7:19 PM (in response to bulcan10)
It works just fine with the Pi3. Just load raspbian jessie, run rpi-update to make sure you have up-to-date firmware, and follow the instructions on how to build your own kernel: https://www.raspberrypi.org/documentation/linux/kernel/building.md
The repo with the cirrus drivers is https://github.com/HiassofT/rpi-linux.

Here is proof that it works:

pi@one:~ $ uname -a
Linux one 4.4.6-v7+ #1 SMP Wed Apr 13 04:39:03 UTC 2016 armv7l GNU/Linux
pi@one:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: sndrpiwsp [snd_rpi_wsp], device 0: WM5102 AiFi wm5102-aif1-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
pi@one:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sndrpiwsp [snd_rpi_wsp], device 0: WM5102 AiFi wm5102-aif1-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
 
Last edited:
Have read this through a couple of times now and realise I have to go back to school on some signal processing stuff, but the section on distortion correction was fascinating. Need to trawl around and find out if they have done much more on this in the intervening 20 years. I suspect most of the staff at Cedar passed through these labs at some point!

Regarding the PI, you know the PI zero is only £4? You don't need lan or wifi. The shame is that it has loads of DSP grunt, but you can't get at it easily.

IIRC, one of the Broadcom employees who supported RPI released a few tool sets that allow you to use the GPU. Been a while. Still, does require a modicum of programming experience, and I'm not sure if something like Ecasound/SOX can be readily configured to compile that functionality.

But RPi3 has more than enough grunt in the CPU itself for $30 to do one's bidding. Excess? Yes, but saves a good amount of time.
 
IIRC, one of the Broadcom employees who supported RPI released a few tool sets that allow you to use the GPU. Been a while. Still, does require a modicum of programming experience, and I'm not sure if something like Ecasound/SOX can be readily configured to compile that functionality.

But RPi3 has more than enough grunt in the CPU itself for $30 to do one's bidding. Excess? Yes, but saves a good amount of time.

Do you know anyone that knows if SoX can record 24 bit's in Linux from a USB device. By that I mean by actually looking at a histogram of the data and not the size of the samples and the fact that there were no warnings.

EDIT - Found the issue from a SoX developer for my Windows problem. SoX indeed grabs only 16 bits under Windows. He actually wrote a patch for someone but now it is long gone into the ether. 🙁
 
Last edited:
Well, yesterday I thought to test the 0dB @1KHz RIAA on the MiniDSP with the test files that Scott kindly provided and Jan kindly hosted
https://linearaudio.net/downloads
https://linearaudio.net/sites/linearaudio.net/files/v10%20sw%20test%20wave%26data%20files.zip

I start with the 30 discrete frequency tests, as it is the toughest and the most telling test IMO. I think that they are a bit tougher than the richest in frequency and as strong as an fffff music crescendo, so they are good to set the max input level in the ADC-DSP section and give guidance on the headroom required.

1. https://linearaudio.net/sites/linearaudio.net/files/30multitone_flat_48.wav
It was the first time I used a multifrequency format and this file with 30 frequency bins peaking 160dB above the noise-floor is not the easiest to say the least.

With foobar2000 as the playback SW and Wavelab4 as the recording SW, a laptop PC is USB connected to an external card (M-Audio Audiophile USB).
Card analog output is connected to 2x4 MiniDSP analog input and MiniDSP analog output is connected to card analog input. (att. 1)
One channel of the MiniDSP is set flat, the other is RIAA equalized. Coefficients as per post #227 (same as in #229).
FFT SW is the Rmaa6.
FFT 65536 samples, no window on 24bit/48KHz time trimmed and faded-in/out recordings.

I started with 0dB attenuation of foobar volume level. (att.2).
The overloading is seen from the intense spectral leakage between the freq peaks.

The soundcard stops overloading with the input brought down by 11.7dB (att.3) but MiniDSP output still overloads (high spread leakage) due to RIAA playback equalisation bass boost.

MiniDSP output stops overloading when foobar output level is set to –20dB (att.4)
The peak to noise level ends being 60dB at 20Hz, 70dB at 1KHz, 55dB at 20KHz.

Further reducing foobar level to –29dB (see att.5) only slightly reduces the peak to noise levels but does not eliminate or reduce the peaks of spurious frequencies above 1KHz.

George

>Edit.
First (top) FFT on each column is the original file
Second below is the loopback of the soundcard
Third is flat output from the MiniDSP
Forth (bottom) is the RIAA equalized output from the MiniDSP
 

Attachments

  • 4 30multitone_flat_48k Playback (foobar2000)@ -20.32dB.PNG
    4 30multitone_flat_48k Playback (foobar2000)@ -20.32dB.PNG
    88.9 KB · Views: 182
  • 3 30multitone_flat_48k Playback (foobar2000)@ -11.7dB.PNG
    3 30multitone_flat_48k Playback (foobar2000)@ -11.7dB.PNG
    91.5 KB · Views: 176
  • 2 30multitone_flat_48k Playback (foobar2000)@ 0dB.PNG
    2 30multitone_flat_48k Playback (foobar2000)@ 0dB.PNG
    94 KB · Views: 182
  • 1 Setup  connection.PNG
    1 Setup connection.PNG
    20 KB · Views: 187
  • 5 30multitone_flat_48k Playback (foobar2000)@ -29.7dB.PNG
    5 30multitone_flat_48k Playback (foobar2000)@ -29.7dB.PNG
    90.6 KB · Views: 177
Do you know anyone that knows if SoX can record 24 bit's in Linux from a USB device. By that I mean by actually looking at a histogram of the data and not the size of the samples and the fact that there were no warnings.

EDIT - Found the issue from a SoX developer for my Windows problem. SoX indeed grabs only 16 bits under Windows. He actually wrote a patch for someone but now it is long gone into the ether. 🙁

Sorry, Scott, I don't know. If I come across/do some testing, I'll update the masses. 🙂

And bummer on the patch.
 
Status
Not open for further replies.