• 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

I understand your reasoning; I just don’t embark on refactors due to hunches. In early dev I could block the main thread on Safari forever and it’d happily sit there.

Pyscript has a worker framework but there are complications and I’ve specific constraints on the Python side to not add anything beyond I/O formatters for file, config, and image and the callback.

I’ll add an analytics event for updateUIWithPlotImage to track deadlocks.
 
*When I get back from holiday.
Have fun :)

Just for info:
cloned your rep on my rooExtend dev. Raspberry. Can access with http and also the WAV in the request line by http. GREAT :)
Looks like this will become a smart solution for my users.
 
Last edited:
Have fun :)

Just for info:
cloned your rep on my rooExtend dev. Raspberry. Can access with http and also the WAV in the request line by http. GREAT :)
Looks like this will become a smart solution for my users.
Sure, but kinda defeats one of the primary benefits of a web app. I’d ask that you clearly denote on the UI that’s it’s an unofficial fork.
 
Oh and please remove my GA property - I don’t want analytics from stuff I’m not hosting.
Sure! No worries,
I did this for fun only and at the moment I'm far away from publishing.
Before I use foreign reps. in rooExtend I always ask for permission (regardless of license offered) and how to credit the providers :)
 
Changes almost no one cares about:
  • GA property won't load and events won't fire if the origin isn't sjplot.com
  • Implemented app_session_id that generates on page load. This is distinguished from ga_session_id which resets on timeout.
  • Implemented app_analysis_id which appends an increment on app_session_id (-x).
  • Implemented plot_image_display event.
  • All events contain extended parameters of app_session_id and if applicable app_analysis_id. This allows for better event correlation and I can track if the analyze button was clicked but a plot images was never returned and there was no python or pyscript error on a per page load and per analysis iteration basis.
These changes do not illuminate on why a deadlock may occur, so please don't intentionally reproduce deadlocks as it's not remotely helpful.
 
Last edited:
These changes do not illuminate on why a deadlock may occur, so please don't intentionally reproduce deadlocks as it's not remotely helpful.
Does this refer to my two tests with the iPad using Safari and Firefox?
Those were no deadlocks but reloads by the browser :confused:
 
Does this refer to my two tests with the iPad using Safari and Firefox?
Those were no deadlocks but reloads by the browser :confused:
Same difference. Analysis event will fire and there will be no image event for that analysis session.
 
I won’t. I’m just quantifying it. I’ve no illusions of perfection, particularly for a free app. If the occurrences are minor then it’s an acceptable situation. Through yesterday there was almost one script error event for every three analysis events, nearly all associated to malformed input files. There are bigger fish to fry.
 
Hello ASR folks...I'm conducting a stylus wear experiment and reporting over on VE and SHF forums, and I've recently started doing analysis of the STR100 sweeps using the online script portal. Thanks to @JP for making this available! Before this I was getting help from @Thomas_A (VE) and @Tylik (SHF) and others to do the plots as I have not been part of this endeavor. Having the script available opens up a lot more possibilities for me than just the wear studies, and I have several personal studies in mind as well as future wear studies.

While I wanted to give thanks for the script availability, I also have a question about the distortion data. Is the distortion reported from the raw data such that RIAA equalization is applied? Folks replying to the wear study are reporting distortion numbers by applying inverse RIAA to the data, but I question if this is the correct way to report. What is the industry accepted method to report cartridge distortion?
 
Hello again...it's not clear to me how atrificial RIAA is applied to the H2 and H3 numbers. For instance, is the fundamental value applied, or are the values at the actual harmonic frequencies used? And are the proper slopes of H2 and H3 due to the artificial increase of the fundamental due to RIAA taken into account?

I have a basic assumption that all the equalization factors were well though out and discussed when developing the script, and have been under the assumption that I'd just use the dBc numbers from the harmonic plots for baseline and comparisons, but please confirm.
 
The distortion relative to the fundamental is the same with or without RIAA correction, i.e. at the fundamental.
 
The distortion relative to the fundamental is the same with or without RIAA correction, i.e. at the fundamental.
I don't think this is true. The distortion products happen at harmonic frequencies, thus are subject to RIAA equalization at those frequencies. The distortion is generated by the cartridge/stylus and then equalized by the RIAA preamp. So for example, a 10kHz fundamental is attenuated 13.7dB by the RIAA preamp. The 20kHz H2 produced by the cartridge/stylus is attenuated by 19.5dB by the RIAA preamp. If the script only attenuates the 20kHz H2 by 13.7dB, it will report H2 as 8.8dB higher than it should be.
 
I don't think this is true. The distortion products happen at harmonic frequencies, thus are subject to RIAA equalization at those frequencies. The distortion is generated by the cartridge/stylus and then equalized by the RIAA preamp. So for example, a 10kHz fundamental is attenuated 13.7dB by the RIAA preamp. The 20kHz H2 produced by the cartridge/stylus is attenuated by 19.5dB by the RIAA preamp. If the script only attenuates the 20kHz H2 by 13.7dB, it will report H2 as 8.8dB higher than it should be.
If you record without RIAA you get the same result of relative H2 vs fundamental.
 
Back
Top Bottom