• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Phono Cartridge Response Measurement Script

Before Bi-quad, Ortofon sweep flat recording
After
Strange file. And distortion stops early? Is it 96 kHz from start? Edit..seems to be correct. But something odd.

Skärmavbild 2026-08-28 kl. 18.26.35.png
 
My Ortofon.

Shure V15V JICO SAS B_240 pF 47 kOhm_Ortofon 2.png
 
look like this here. my Jico SASB is close to pperfectly flat at 28 c, slope down at 23 C

I get sam reulst in Aucaity(finaly figures ut out, sort of) and in script. an older file below, with brush
1787982034566.png



The new file

1787939698610.png



rwar file no biquad
1787939816747.png


1787939894956.png

Nit sgur whey the script stop plotting distorion at 22k, file has harmonic components to 48k
1787940996457.png


I will try to repeat the recording,possibly mixup with sampling
 
Last edited:
Your filter looks wrong. They are sample rate specific.
Does it look better with this cartridge/recording?
1787986231027.png


raw vs corrected Right channel
1787986737591.png
 
Last edited:
Last edited:
❌ The length of the input vector x must be greater than padlen, which is 27.

recorded the clearaudio trs-1007 sweep with a new mono cart

I tried all kinds of sample- and bitrates, still the same error occurs. theres around 2 seconds prior to the 1khz test tone starting

Traceback (most recent call last):
File "<exec>", line 16, in process_audio_if_ready
File "/home/pyodide/SJPlot.py", line 1024, in main
input_sig_0, input_sig_1, Fs = get_audio(file0_data, environment, EXTRACT_SWEEPS, TEST_RECORD, SAVE_SWEEPS, RIAA_MODE, RIAA_INVERSE, XG7001)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pyodide/SJPlot.py", line 536, in get_audio
audio, audio_2 = slice_audio(audio, Fs, test_record)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pyodide/SJPlot.py", line 800, in slice_audio
_, start_right_sweep = sample_offset + find_burst_bounds(right[sample_offset:], Fs, tone_freq=1000, threshold=0.3)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pyodide/SJPlot.py", line 587, in find_burst_bounds
filtered = sosfiltfilt(sos, signal_search)
File "/lib/python3.13/site-packages/scipy/signal/_signaltools.py", line 4479, in sosfiltfilt
edge, ext = _validate_pad(padtype, padlen, x, axis,
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
ntaps=ntaps)
^^^^^^^^^^^^
File "/lib/python3.13/site-packages/scipy/signal/_signaltools.py", line 4248, in _validate_pad
raise ValueError("The length of the input vector x must be greater "
"than padlen, which is %d." % edge)
ValueError: The length of the input vector x must be greater than padlen, which is 27.

Audio Waveform (44100Hz, 16-bit, 2ch, 63.1s)


Tried to record it a second time. this time I get the error:
No sustained pilot tone found in first 30.0s (min duration: 1.0s, threshold: 0.3)

The pilot tone starts like 5 seconds in

What the h*** is going on!!?


Here's the file if anyone wants to tell me what's wrong with it O_o:
 
Last edited:
In advanced mode I get:
❌ No sustained pilot tone found in first 30.0s (min duration: 1.0s, threshold: 0.3)

creating a "fake" stereo sweep (same mono signal only played on the left, then only on the right channel of a stereo file) also didn't work.
 
It only splits two-sweep (“stereo”) files. You need to manually trim and not use that feature. Faking a dual sweep would only work if the signals are in the correct channels and you get the timings right for the selected test record. BTW, I noticed in your trace that you selected XG-7001 but said you were using CA TRS-1007.
 
Ahh ok. I got it to work by re-recording the first 2 sweeps.

Though in the top frequencies, especially around ~16kHz, the 2 sweeps are quite different. even though this is a mono cartdridge. :confused:

Audiotechnica AT33xMono_I.png

I ended up using the following stereo sweep on the record, summed it to mono and manually edited the recording to match the first 2 sweeps (left, then right, with pause inbetween) and used that result. I dunno. This gave me an "overall average" so to speak, right?:

Audiotechnica AT33xMono_I (1).png

Though this one has a pretty big rise at 20hz compared to the other...huh

I'll do another wet clean and try again as i've noticed the record is quite noisy still. Or I might try side B.

Edit:

The B-Side(much cleaner) sweeps look even more out of whack O_o
Audiotechnica AT33xMono_I (2).png
 
Last edited:
You expect two distinct sweeps on vinyl to be identical?

Read the beginning of this thread - trim your file manually and run it. Then all this needless complexity goes away.
 
Back
Top Bottom