pkane2001 Posted June 28, 2019 Author Share Posted June 28, 2019 On 6/26/2019 at 1:24 PM, esldude said: Well what about the pane where we select FFT size, windowing type and it also has the setting for phase. That has some space. You are doing too good a job adding features maybe. Is this something like what you're looking for (min=-110dB, max=-60dB)? -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Popular Post esldude Posted June 28, 2019 Popular Post Share Posted June 28, 2019 4 hours ago, pkane2001 said: Is this something like what you're looking for (min=-110dB, max=-60dB)? No that is not it. Sorry for the misunderstanding. I'm referring to spectrogram 1 and 2 the ones with all the pretty colors. I'll add a screenshot in a minute. This particular one isn't a good example of why it would be useful. I'd like for the lower reaches of the spectrogram to be something I could choose. That can sometimes filter out noise and let you see something otherwise obscured. It also would expand the scale. Like if I set it to -100 db it ignores lower data and expands the scale over a narrower range. pkane2001 and rando 2 And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. Link to comment
pkane2001 Posted June 28, 2019 Author Share Posted June 28, 2019 4 minutes ago, esldude said: No that is not it. Sorry for the misunderstanding. I'm referring to spectrogram 1 and 2 the ones with all the pretty colors. I'll add a screenshot in a minute. Ah, now I understand. That makes more sense -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Popular Post pkane2001 Posted June 29, 2019 Author Popular Post Share Posted June 29, 2019 I wasn't quite done with all the changes planned for this release but a reported bug with FLAC reader library forced my hand Version 1.0.32 includes some changes and fixes. Others are still in process and will be included in the next release.Changes in 1.0.32b Fixed bug with FLAC reader library that could cause ‘echos’ in place of zero-valued samples Added Process->DownShift Frequency option to allow listening to ultrasonic frequencies Added Jitter metric measuring file mismatch as a timing error Added View->Status Bar options to control information displayed in the status bar Added Non-linear drift correction in Settings to allow the removal of residual non-linear clock-drift errors Changed Notch filter implementation for greater rejection Added labels displaying zoom setting in correct units in custom Zoom dialog Arpiben, esldude, fas42 and 1 other 3 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Popular Post pkane2001 Posted June 30, 2019 Author Popular Post Share Posted June 30, 2019 A bit more detail on the new features in 1.0.32: 1. DownShift frequency option. Allows to shift all frequencies down by a specified number of Hz. For example, down-shifting by 20kHz a 96k-sampled file will result in all the frequencies between 20k-48kHz in the original file being shifted to 0-28kHz. Everything above 28k in this case will be low-pass filtered. This preservers the relationship between adjacent frequencies, and so makes it possible to hear if the audio information in the audible band that would normally be outside the range. Because ultrasonic content is often at a very low level, you may need to raise the volume in DW by 20-50dB just to hear it. Be careful, though, raise the volume slowly while the audio is playing and don't do it before starting the playback to avoid nasty surprises! 2. Jitter metric measures the difference between two waveforms as an error in timing. Existing measures, such as RMS difference and correlated null are both related to the magnitude of the amplitude error, although correlated null is also related to timing. This new measure computes an RMS timing error between the two waveforms. Assuming the amplitudes of the two waveforms are perfectly matched, this number would be the actual RMS jitter. Reported in seconds (microseconds, nanoseconds, picoseconds). The smaller the number, the smaller the overall match error. In effect, that's another number that can be used to judge the quality of the match. 3. Non-linear drift correction. Clock drift removal feature of DeltaWave works on any constant clock differences between the two waveforms, such as one clock is n times faster than the other. The new feature attempts to remove some of the remaining random variations in clocks that are non-linear. In effect, the result should be a much more 'flat' drift error plot after the correction. I'm still working on the non-linear phase correction part of the EQ feature (aka, variable group delay correction) so for now that option will remain disabled. esldude and fas42 1 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Arpiben Posted June 30, 2019 Share Posted June 30, 2019 18 hours ago, pkane2001 said: A bit more detail on the new features in 1.0.32: 1. DownShift frequency option. Allows to shift all frequencies down by a specified number of Hz. For example, down-shifting by 20kHz a 96k-sampled file will result in all the frequencies between 20k-48kHz in the original file being shifted to 0-28kHz. Everything above 28k in this case will be low-pass filtered. This preservers the relationship between adjacent frequencies, and so makes it possible to hear if the audio information in the audible band that would normally be outside the range. Because ultrasonic content is often at a very low level, you may need to raise the volume in DW by 20-50dB just to hear it. Be careful, though, raise the volume slowly while the audio is playing and don't do it before starting the playback to avoid nasty surprises! 2. Jitter metric measures the difference between two waveforms as an error in timing. Existing measures, such as RMS difference and correlated null are both related to the magnitude of the amplitude error, although correlated null is also related to timing. This new measure computes an RMS timing error between the two waveforms. Assuming the amplitudes of the two waveforms are perfectly matched, this number would be the actual RMS jitter. Reported in seconds (microseconds, nanoseconds, picoseconds). The smaller the number, the smaller the overall match error. In effect, that's another number that can be used to judge the quality of the match. 3. Non-linear drift correction. Clock drift removal feature of DeltaWave works on any constant clock differences between the two waveforms, such as one clock is n times faster than the other. The new feature attempts to remove some of the remaining random variations in clocks that are non-linear. In effect, the result should be a much more 'flat' drift error plot after the correction. I'm still working on the non-linear phase correction part of the EQ feature (aka, variable group delay correction) so for now that option will remain disabled. Hi Paul, First of all many thanks for the added features. I am rather happy with DW but still have some concerns or questions: 1° How is phase calculated: single FFT size /average of several FFT sizes/other method? 2° Characteristics of LP filter used in frequency downshift feature? 3° Jitter Metric: - pointing the arrow on Jitter brings the help for Fit Quality (minor bug) - it will probably be more useful to draw an estimated Jitter curve. The Phase delay curve ( delta phase ) is in degrees vs frequency. T.I.E ( Time Interval Error ) is in time (us/ns/ps) vs duration (s). And finally Jitter curves in Time Domain, are in principle obtained from T.I.E. in taking the maximum value over a sliding time window = Tau (s) (M.T.I.E). I am awaiting with great interest your EQ phase correction in order to better match files with non flat group delay. Rgds. Link to comment
Popular Post pkane2001 Posted July 1, 2019 Author Popular Post Share Posted July 1, 2019 5 hours ago, Arpiben said: Hi Paul, First of all many thanks for the added features. I am rather happy with DW but still have some concerns or questions: 1° How is phase calculated: single FFT size /average of several FFT sizes/other method? 2° Characteristics of LP filter used in frequency downshift feature? 3° Jitter Metric: - pointing the arrow on Jitter brings the help for Fit Quality (minor bug) - it will probably be more useful to draw an estimated Jitter curve. The Phase delay curve ( delta phase ) is in degrees vs frequency. T.I.E ( Time Interval Error ) is in time (us/ns/ps) vs duration (s). And finally Jitter curves in Time Domain, are in principle obtained from T.I.E. in taking the maximum value over a sliding time window = Tau (s) (M.T.I.E). I am awaiting with great interest your EQ phase correction in order to better match files with non flat group delay. Rgds. Hi Arpiben, First, you're welcome! 1. That's actually about to change to an average. I already have it coded, but didn't have a chance to test fully for 1.0.32. For now it's just a single FFT. Size is determined by the Spectrum FFT size in Settings. 2. LP filter used in downshift is the same one as defined in Settings under Filter. Either a FIR or IIR filter of the specified size. 3. I was planning on adding a jitter plot, so that'll be in a future release I'm computing the time error value for each sample, so it would be pretty simple to compute a moving average or some other type of sliding window metric. EQ Phase correction is half-way done. I have a good way to measure the difference and curve fitting to phase difference appears to be working extremely well for some of the files I've tried. What's left, and this appears to be not trivial, is to figure out a way to apply this curve back to the complex FFT data. I've yet to spend any time on this, so hopefully it's not going to turn out to be impossible fas42 and Arpiben 1 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
fas42 Posted July 1, 2019 Share Posted July 1, 2019 Just noted what Pluto had to say on the ASR forum, and echo his thoughts on revealing ultrasonic content: remove all audible content and then apply various multiplicative factors would be the best approach, to my mind. Machines I have running right now are not suited for playing with DW - so can't say whether what you've done so far tick boxes ... sorry! Link to comment
pkane2001 Posted July 1, 2019 Author Share Posted July 1, 2019 5 minutes ago, fas42 said: Just noted what Pluto had to say on the ASR forum, and echo his thoughts on revealing ultrasonic content: remove all audible content and then apply various multiplicative factors would be the best approach, to my mind. Machines I have running right now are not suited for playing with DW - so can't say whether what you've done so far tick boxes ... sorry! Using factors is a bit problematic as this either doesn't move the ultrasonic frequencies low enough to be easy to listen to when used with a small reduction factor, or it compresses a large range of frequencies into a very narrow band, such as a few hundred Hz with a large factor. This also doesn't make it easy to listen to or to hear patterns. I've had a chance to play with this for a bit, but didn't find a good way to scale frequencies 'harmonically' using factors. Ideally, I'd want to be able to scale 20k-48k range, for example, into the 0-20k range. Easy enough to do this by applying a linear factor, but this would also destroy harmonic relationships. fas42 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted July 3, 2019 Author Share Posted July 3, 2019 Making some progress on the variable group delay correction, aka, non-linear phase correction. Using Archimago's blind test files that didn't do so well with the standard (linear) phase/drift correction in the previous versions of DeltaWave. Here's a teaser: white = non-linear phase-corrected, blue = uncorrected, as in the previous versions of DW. You can see why the match wasn't so great. The result also improves the null values. Still more improvement seems possible, but that data is fairly noisy. Hope to have a preview version ready soon! Same plot, but with phase unwrapped: fas42 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
fas42 Posted July 5, 2019 Share Posted July 5, 2019 Bummer! The HP laptop is in bits, so tried the Dell beast which is running Vista - DW doesn't like it ; gives me a "The version of this file is not compatible with the version of Windows ... " message. Updated .net to 4.6, but no go - does DW absolutely have to have a 64 bit OS? Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 10 minutes ago, fas42 said: Bummer! The HP laptop is in bits, so tried the Dell beast which is running Vista - DW doesn't like it ; gives me a "The version of this file is not compatible with the version of Windows ... " message. Updated .net to 4.6, but no go - does DW absolutely have to have a 64 bit OS? I can build a 32-bit version, but it will be very limited in the size of files it can process. There's just not much memory available in a 32-bit process to hold large arrays of data that DW needs. -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
fas42 Posted July 5, 2019 Share Posted July 5, 2019 Fair enough. If not a major exercise, would be handy to have a 32 bit version available, to at least try things out if the machinery that happened to be available wasn't up to 64 standard - this laptop has a 64 bit capable processor, but was installed with 32 software; I will look at doing something about that. Thanks, Paul! Link to comment
rando Posted July 5, 2019 Share Posted July 5, 2019 Would the as yet unrealized potential target mp3 audiophiles still holding true to their core x86 principles and hardware? I foresee 10th gen lossy format tests and other hilarity. I did just try installing DW on an older laptop with 3GB RAM running W10. After double checking the PKAudio folder installs itself in Program Files (x86) on a 64 bit system. Predictable results. Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 48 minutes ago, rando said: Would the as yet unrealized potential target mp3 audiophiles still holding true to their core x86 principles and hardware? I foresee 10th gen lossy format tests and other hilarity. Sounds like you really want to be able to use MP3 with DeltaWave. I can certainly look into adding it, just for hilarity sake -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Popular Post pkane2001 Posted July 5, 2019 Author Popular Post Share Posted July 5, 2019 1.0.33 version of DeltaWave is now available. This includes variable group delay correction and the following new features: Changes in 1.0.33b Added non-linear phase correction option (correcting for variable group delays) Results tab now shows group delays in seconds and degrees for a few chosen frequencies Modified delta phase plot to show phase before and after correction, as well as the measured group delay when computed Changed the phase unwrap logic to produce a smoother curve Added support for reading MP3 files Added option to apply current volume control settings to the Reference and Comparison waveforms (under Process Menu) Added one level Undo option to undo previous matching/processing operation The non-linear phase/variable group delay correction depends on being fed a good number of samples (very short files may not work well or at all!) This is still experimental, but shows a lot of promise in my testing, especially when comparing different DACs, or ADC loop results with the original WAV file. I'll post some results a bit later. Here is the setting to turn it on: Let me know if anything is not clear or not working as expected. rando and fas42 1 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 14 hours ago, fas42 said: Fair enough. If not a major exercise, would be handy to have a 32 bit version available, to at least try things out if the machinery that happened to be available wasn't up to 64 standard - this laptop has a 64 bit capable processor, but was installed with 32 software; I will look at doing something about that. Thanks, Paul! Just for you, Frank, here's v1.0.33 in 32-bit form. Don't blame me if it doesn't work https://deltaw.org/DeltaWaveSetup32.zip fas42 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
rando Posted July 5, 2019 Share Posted July 5, 2019 24 minutes ago, pkane2001 said: Added support for reading MP3 files You know what, I did ask to be made fun of. pkane2001 1 Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 As an example of variable group delay (VGP) option working, here's the analysis of @Archimago's two captures, A and B with VGP option disengaged. You can see the RMS delta is fairly poor (-39dB), and phase plot shows an obvious deviation from flat -- that's the variable group delay. Higher frequencies have a larger, increasing phase error. This is the difference in phase after the clock drift and phase offset have been removed by DW(!) Keeping everything else the same, and turning on VGP, the result is as follows: Note that the resulting phase (white line) is now flat out to about 21kHz. What's more, the RMS null has improved by nearly 15dB, correlated null is better, and the timing error (RMS jitter) value went from 15μs to 131ns! That's a 100x improvement in timing accuracy. The brown/orange line is the computed group delay function. You can see that it tracks the original phase error (blue line) pretty well until about 21kHz. Here are the results computed by DW for variable phase delay in the original curve, without VGP correction: ---- Variable Group Delay. Frequency matched from 0Hz to 21.0kHz: 1kHz = 417.8ns (0.15°) 2kHz = 889.1ns (0.64°) 4kHz = 1.3μs (1.84°) 8kHz = 4.4μs (12.79°) 16kHz = 22.4μs (129.26°) rando 1 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 1 hour ago, pkane2001 said: 1.0.33 version of DeltaWave is now available. This includes variable group delay correction and the following new features: @esldude Dennis, the frequency range setting for spectrograms will need to be in a later release. It's not as simple as I had hoped, as it requires increasing frequency resolution when zooming in, meaning that it will require larger and larger FFTs to be performed. Considering that there are many thousands of FFTs being calculated for each spectrogram, this will slow things down considerably. I'll do some more thinking to see if there's a better way to do this. For now, you can simply chose a larger size FFT in the spectrogram settings to see just how slow it may become. Once you do, this will also let you zoom-in further without losing as much resolution. -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
esldude Posted July 5, 2019 Share Posted July 5, 2019 6 minutes ago, pkane2001 said: @esldude Dennis, the frequency range setting for spectrograms will need to be in a later release. It's not as simple as I had hoped, as it requires increasing frequency resolution when zooming in, meaning that it will require larger and larger FFTs to be performed. Considering that there are many thousands of FFTs being calculated for each spectrogram, this will slow things down considerably. I'll do some more thinking to see if there's a better way to do this. For now, you can simply chose a larger size FFT in the spectrogram settings to see just how slow it may become. Once you do, this will also let you zoom-in further without losing as much resolution. Thanks for looking at this Paul. And don't worry about it further. It is a useful difference only very rarely. And I can export the files from Deltawave to look at with other software on those rare occasions. So I wouldn't bother with it. What your software does already is something quite special in its overall capabilities. pkane2001 1 And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 1 minute ago, esldude said: Thanks for looking at this Paul. And don't worry about it further. It is a useful difference only very rarely. And I can export the files from Deltawave to look at with other software on those rare occasions. So I wouldn't bother with it. What your software does already is something quite special in its overall capabilities. But if you do need to zoom in, just increase FFT size in settings. Here's a 96kHz file zoomed in on lower 21kHz, FFT size at 8192: -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
esldude Posted July 5, 2019 Share Posted July 5, 2019 21 minutes ago, pkane2001 said: But if you do need to zoom in, just increase FFT size in settings. Here's a 96kHz file zoomed in on lower 21kHz, FFT size at 8192: The reason that sometimes won't do is because shorter term events get missed by large FFT values. It uses a larger number of samples to generate the FFT and something short enough is no longer resolvable. Lowering the FFT values will catch it, but raises the noise floor so sometimes you obscure what you are looking for. It only comes up very rarely, and only would apply to short events just above, but not too far above the noise floor. So like I said, it is a rare and peculiar thing. So not worth you spending extended time or effort to address because it has such marginal utility. And always keep in mind: Cognitive biases, like seeing optical illusions are a sign of a normally functioning brain. We all have them, it’s nothing to be ashamed about, but it is something that affects our objective evaluation of reality. Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 9 minutes ago, esldude said: The reason that sometimes won't do is because shorter term events get missed by large FFT values. It uses a larger number of samples to generate the FFT and something short enough is no longer resolvable. Lowering the FFT values will catch it, but raises the noise floor so sometimes you obscure what you are looking for. It only comes up very rarely, and only would apply to short events just above, but not too far above the noise floor. So like I said, it is a rare and peculiar thing. So not worth you spending extended time or effort to address because it has such marginal utility. This is a more fundamental limitation of the Fourier transform. Higher resolution in the frequency domain results in lower resolution in the time domain. Wavelet transform is one way around it, but I'm not quite ready to rewrite most of the algorithms in DW. Maybe in version 2 -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
pkane2001 Posted July 5, 2019 Author Share Posted July 5, 2019 For @rando: Here's a comparison between the original 24/44.1 WAV file and an Audacity/Lame converted MP3 copy at 170-210kbps. A fairly decent match, although a large timing error and a start of a low pass filter @ 17kHz are some of the obvious differences: -Paul DeltaWave, DISTORT, Earful, PKHarmonic, new: Multitone Analyzer Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now