advertisement


Wow and flutter 'meter', etc

Just to let people know that I have now put up a ROX-Filer/Linux version of my wow and flutter program which can be got from the links on
http://www.audiomisc.co.uk/software/index.html

The source code is provided as usual, and it can be run as-is on other Linux systems in the usual ways. A Help.txt file is provided.

Note for anyone wanting to port or improve. Start with this rather than the RISC OS version as this is based on using GCC. The RO compiler I use has some subtle quirks which can affect results if you don't correct for them when converting the code. In this case the significant one being that RO assumes a 'char' is unsigned by default, but GCC needs you to be specific about an 'unsigned char' for some of the conversions to work correctly!

At some point I will add 'veusz' file generation to make plotting results easier.

Jim, did you ever get around to adding the veusz file generation?
 
I've run YNWOAN's file through Jim's process, the reported W&F was,

Limit raw of 1523 at +/- 81 [ 0.162 percent]
Limit weighted 1523 at +/- 55 [ 0.110 percent]

I persuaded the polar output to plot,

150110_02_waf_polar.png


The scaling and filtering is completely incomparable, but the same 16 bumps I think.

The Jim source I built, which is essentially a merge of the Linux code upthread with the latest AudioMisc drop, and the executable is at http://www.epicyclism.com/audio/WinWF.zip.

Paul

Paul,

I'm experimenting with your Windows build and it's great, thanks but it seems to omit the summary of the actual W&F measurement. Is this correct or just a foible of running it on Win 10 so it crashes out early? Don't worry if you can't remember it's been a good while.

Thanks
 
No, I've failed so far to add the veusz output generation. TBH you asking me now may be 'synchronicity' as I've recently been helping an audio journalist to use the wow and flutter program and his question was 'how to plot the results' and I suggested veusz! Which has put this onto my 'to do' list again.

At present I'm focussed on writing up 1998-9 in my 'biography' and want to get that done. It was a 'difficult' time as my wife became very ill and spent time in hospital, and it starts the period when she was badly dealt with by medics, making things worse. My guess is that this will take me a couple of weeks to get finished and on the web. Once that is done I'll have a go at adding veusz output and giving the user more control over the scaling of plots, etc.

That said, writing the above may be so intense that I'll work on the wow and flutter as a break! :)
 
Jim

Many thanks and much appreciated. Not good news about your wife's illness, I trust it worked out OK in the end?

I looked at veusz with a view to doing it myself but it looks like a bugger to learn.
 
Jim

Many thanks and much appreciated. Not good news about your wife's illness, I trust it worked out OK in the end?

I looked at veusz with a view to doing it myself but it looks like a bugger to learn.

Yes, the situation eventually became much better. But - to be brief - only after more than five years of hell-on-earth. Mutiple sucide attempts, out-of-reality experiences, a stroke caused my medication, etc, etc. The medics kept assuming it was all her 'epilepsy' and us 'arguing'. More than one suicide attempt (*very* real, not for show) was after being mistreated by medics.

e.g. the one who came when she was begging for help with her 'thoughts' and told her to go ahead and kill herself if she wanted to. Then turned to me and told be to go out and let her. They simply would not listen to what either of us said. And this GP had actually never seen her before!

The GP marched out, she went upstairs and took all the pills she had of every kind. She didn't tell me, so I only realised half-an-hour later that her having a 'rest' was another attempt. 999... fortunately saved again. In some ways this was a lesser example of what happened. Other attempts weren't limited to pills. And when I wasn't at home.

After a few years of this I decided to DIY my own medical research and quickly realised that she actually had acute Bipolar (Manic Depression). But it then took another suicide attempt and trip to A&E to get *any* medic to agree. i.e. another long period of being mistreated by medics who simply couldn't be bothered to listen.

FWIW I'm writing the biog so I can detail this and let others know in similar situations that you *can* get though it, and not to be destroyed by incompetent / arrogant / lazy medics who just work on "bugger off and try this pill". I dread to think how many people with serious mental illnesses are driven over the edge by lazy careless medics and dispair.

Rant ended.

I found the best way to get what's wanted with Veusz is to give it some data, twiddle the display to be as you want, then save a veusz file and have a look at it with a file editor. That lets me work out what headers and format to use when generating a file that veusz will understand and show as wanted.

If you look at some of my other rox apps you can see they contain header files for this. I then write the data payload under them in the required format. Suck-and-see. :)
 
I'll check the Audacity plug-in when I get a chance. :) However I had a quick play. Couldn't suss out how to get Veusz to do proper polar plots, but have written a simple fudged way.

http://jcgl.orpheusweb.co.uk/temp/LoadPolar.vsz

The above is a veusz script file which will generate a 'polar' plot from the existing Polar data files the WowAndFlutter program saves. Note that it calls the file by name into Veusz. (Look at the 'ImportFileCSV' and 'AddImportPath' lines. Change them to point at where your output appears.) Once loaded you can tweak it, and save altered versions if you fancy.

FWIW Using ROX I can just click on the LoadPolar.vsz file and that does the job. But giving it to Veusz should work on other setups. It also shows the details of how the graph is defined in terms of Veusz scripting.
 
It certainly works fine under Windows 7. I'll try it on my wife's Windows 10 machine tomorrow. What version of audacity are you using and what happens when you try and use it?
 
I'll check the Audacity plug-in when I get a chance. :) However I had a quick play. Couldn't suss out how to get Veusz to do proper polar plots, but have written a simple fudged way.

http://jcgl.orpheusweb.co.uk/temp/LoadPolar.vsz

The above is a veusz script file which will generate a 'polar' plot from the existing Polar data files the WowAndFlutter program saves. Note that it calls the file by name into Veusz. (Look at the 'ImportFileCSV' and 'AddImportPath' lines. Change them to point at where your output appears.) Once loaded you can tweak it, and save altered versions if you fancy.

FWIW Using ROX I can just click on the LoadPolar.vsz file and that does the job. But giving it to Veusz should work on other setups. It also shows the details of how the graph is defined in terms of Veusz scripting.

Jim

I don't think that link works
 
Jim

I don't think that link works

Apologies. The person who hosts my main websites has been 'shuffling the deckchairs' and it went AWOL shortly after I put it up. He's shifting things from machine to machine and altering the dotquads as he does.

I've loaded it again, so the URL should now work... assuming he doesn't move things again before you try it!

Veusz is IIUC using the Python syntax, etc. But I've never bothered to learn Python as for me it is YABLTL. (Yet Another B Language To Learn) I reluctantly QUIT using FORTRAN and keep a tight grip on 'C'. :)

One of the examples on the Veusz website is a set of polar plots. So I may be able to use that to twig how to get a proper polar plot. But not done it yet as occupied elsewhere.
 
Apologies. The person who hosts my main websites has been 'shuffling the deckchairs' and it went AWOL shortly after I put it up. He's shifting things from machine to machine and altering the dotquads as he does.

I've loaded it again, so the URL should now work... assuming he doesn't move things again before you try it!

Veusz is IIUC using the Python syntax, etc. But I've never bothered to learn Python as for me it is YABLTL. (Yet Another B Language To Learn) I reluctantly QUIT using FORTRAN and keep a tight grip on 'C'. :)

One of the examples on the Veusz website is a set of polar plots. So I may be able to use that to twig how to get a proper polar plot. But not done it yet as occupied elsewhere.


Jim

Thanks
 
I thought the same, then swapping from standard linn oil to thick viscous silicon oil in the lp12 bearing showed I was wrong. Adding constant drag at the bearing reduced measurable cogging effects and had an audible effect on sustained note stability. It also utterly swamped stylus drag effects rendering them inaudible.

That is interesting, could it be that the motor...or belt ..is loaded and hence much more stable? Would taken me a while to go through the argument though :rolleyes:
I think I have seen a similar effect in my working life....on an industrial scale .. so perhaps not relevant
 
Paul,

I'm experimenting with your Windows build and it's great, thanks but it seems to omit the summary of the actual W&F measurement. Is this correct or just a foible of running it on Win 10 so it crashes out early? Don't worry if you can't remember it's been a good while.

Thanks
I have absolutely no idea. But I will take a look.
 
That is interesting, could it be that the motor...or belt ..is loaded and hence much more stable? Would taken me a while to go through the argument though :rolleyes:
I think I have seen a similar effect in my working life....on an industrial scale .. so perhaps not relevant

When I was thinking about this and conducting some experiments ages ago now, my mental model was that the AC motor in Linn and other TTs was essentially a stepper motor, it certainly originated in that market, it has arcs of stability at each poie. So when you drive it with sine waves and have no load the rotor wants to 'jump' to the region of stability and remain there until dragged off by the next phase.

This leads to two thoughts, one is to use pointier topped wave forms, or asymmetric waves, endless possibilities. The other was to add some drag. The latter means that the rotor cannot 'jump' since the belt elasticity that allows it in normal usage is no longer there, and the other is that even a modest amount of load completely dominates the other sources of drag in the system, in particular stylus drag.

I used some small magnets near the rim of an LP12 platter. Measurable improvement in 'cogging' at 50 and 100Hz. I mounted them on the arm board which seemed to work nicely to slightly load that in rotation, which seems to be a good idea. Not been able to measure that effect though.

Ought to get back into this stuff.
 
Thinking about veusz output for the 'polar' graphic became a bit of an 'earworm' so I've ended up doing a simple bodge to my program which seems to work. I've put a zip of the relevant bits here

http://jcgl.orpheusweb.co.uk/temp/WoWPolar.zip

It contains three items:

1) The bodged source code to get a veusz plot of the kind I wanted. This now has an expanded scale in the radial direction. The key changes are in the output_veusz() proc.

2) A 'PolarFooter' file. This is read in by the program and sets how the plot should appear. You can therefore experiment to alter the appearance by twiddling with this.

3) An example of the resulting output veusz file.

Note I transferred the files to my RISC OS box to write this and zip the files. So you may have to correct the file permissions. Hope this is useful. :)

Usual disclaimer about my rubbish programming 'style' (sic)!
 
Thanks, I'm using version 2.3.2

The display looks the same before and after I click on Wow and Flutter Visualiser

Quick reply: are you using a mono input file? The visualiser expects a mono input as W&F will be identical on both channels. Input should be a recording of a 3000Hz or 3150 Hz tone. Stereo recording can be reduced to mono using Audacity's "Tracks>Stereo Track to Mono" function.
 
Quick reply: are you using a mono input file? The visualiser expects a mono input as W&F will be identical on both channels. Input should be a recording of a 3000Hz or 3150 Hz tone. Stereo recording can be reduced to mono using Audacity's "Tracks>Stereo Track to Mono" function.

Thanks, I can confirm it works on my Mac now I'm using a mono file. Most useful.
 


advertisement


Back
Top