Audio DiffMaker freeware for checking for equipment effects

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
This might be relevant to the "cable debate" thread that is also going on here.

Audio DiffMaker has been revised to version 1.26, and the included Help file has been rewritten and additional examples have been added. As before, Audio DiffMaker is freeware, so feel free to download it and work with it yourself. You can also use Audio DiffMaker to listen to "difference recording" made by others, such as the ones posted at the Liberty Instruments' web site.

Download from:
http://libinst.com/Audio DiffMaker.htm#DiffMaker Download

Available difference recordings ("Dyf" files) on the site are

- the effect of changing the IC type in an outboard DAC
- the effect of painting the edge of a CD with a green Sharpie pen!
- The difference between sound from using a ceramic disk capacitor and a film capacitor
- more to come, particularly if some of you send in dyf files you've made!

Audio DiffMaker is a program for demonstrating the possible effectiveness of changes (tweaks, etc.) on audio signals going through components. It works by recording the signal from audio gear before and after a change is made. The two recordings are aligned and subtracted to leave any difference (other than starting time or volume level) that may exist, and you can then listen to JUST the difference that was made. Useful for checking whether tweaks have any real effects on audio signals or whether circuit modifications are changing anything.

Audio DiffMaker is for Windows2000 or WinXP (sorry Mac and Linux users) . It is also usable with Vista, though a bit more complicated.

Also, watch for an upcoming article on Audio DiffMaker in AudioXpress magazine.
 
But I don't think Sound Forge can do time alignment of two tracks to within less than one whole sample, though. Being aligned within just one sample is nowhere near close enough. Even if SF can shift in thousandths of a sample, it would take a long time to get them together manually using trial and error. DiffMaker uses trial and error, too (a "binary search" version of it), but the computer does the trials and evaluations in more steps than a human will be patient enough to do.

I've recently found that it is also important that sample rates be extremely constant between recorders and players (if they drift at different rates, a deep null won't be possible because the alignment will be out even just a few seconds away). If anyone is having trouble getting equal signals to cancel, try doing them with the recording soundcard's clock locked to the player's clock (or use the same soundcard to do the recording and the playing).

Thanks for looking at it.
 
bwaslo said:
Audio DiffMaker is a program for demonstrating the possible effectiveness of changes (tweaks, etc.) on audio signals going through components.

Hi Bill,

I've been playing around with Audio DiffMaker version 3.22 a bit, to evaluate the difference between high-res 24/96 files and their downsampled 16/44.1 counterparts. In testing the software, I first did the following:

1) Choose a reference file called, say, "file1.wav".
2) Make an identical copy of "file1.wav" called "copy of file1.wav".
3) In DiffMaker, for the "reference track", press the "Load" button and choose "file1.wav".
4) For the "compared track", press the "Load" button and choose "copy of file1.wav".
5) For the "difference track", press the "Extract" button.

DiffMaker then goes through its extraction process, and in its text file showing the status, it says:

"parameters: 0sec, 0.000dB (L), 0.000dB (R)..Corr Depth: 300.0 dB (L), 300.0 dB (R)"

So it looks like it's getting a perfect null here (within the 300 dB range of 64-bit floating-point maybe?). This all looks fine. However, when I play back the difference file, for a fraction of a second at the beginning, there is a sound that seems just like the reference file leaking through, but in the left channel only. Is this normal? If not, how do I eliminate this effect?
 
Re: Re: Audio DiffMaker freeware for checking for equipment effects

andy_c said:
...but in the left channel only.

Scratch that. The particular file I looked at had silence in the right channel for the first fraction of a second. I tried other files and got a blip in both channels of the diff file at the beginning. After that, there was complete silence in the diff file as expected.
 
It can give you a burst of audio if the files are much misaligned to start with. It can only cancel where both files have audio that overlaps, so if one starts first, that part will get through till the other file's audio arrives to be subtracted from it.

If I remember right (it's been a long time!), I did something to block out that kind of thing if one runs longer than the other, to try to avoid blowing out someone's speaker or eardrum if they gun the volume trying to hear the residual. But not at the beginning I think.

I don't know what's the deal with th one channel only, though, so it could be something else. And now that I read your post closer, the files should be absolutely identical, so, I guess I don't know.

It might be some left-over from trimming that is done in the program on the compared file during processing?
 
Ok, looks like our posts crossed. Glad it's making sense.

The 300dB is just where the dB calculation bottoms out. You can't take 20log of zero without triggering a processor exception, so if the program sees zero (which identical files should give you), it just tosses back 300dB. It has to return something. You'll never get zero with real recordings (through A/D) because there will always be at least noise added.
 
bwaslo said:
It might be some left-over from trimming that is done in the program on the compared file during processing?

The thing that's confusing me is that it's doing this when I have two identical WAV files I'm diffing. IOW, I take "file 1.wav" and in Windows Explorer, do a Ctrl-C, Ctrl-V on it to get "copy of file 1.wav", then run the two files through Audio DiffMaker. The diff file has an audible "blip" in the first fraction of a second. I was thinking it might have been something put there so the user can set the volume?
 
No, nothing that smart, though that would be a good idea.

Probably just end trimming that gets done on the one version of the file, by the matching-up process. When it is setting up to do the trial and error thing to line things up in time, or to tweak sample rate (even if it ends up not having to do it) it needs some breathing room to shift back and forth within. I THINK that's what you're hearing.

That won't affect the usability, of course, though.

I did some tests with some 24/96 files I got from the Linn web site, comparing them to versions converted to 44/16. Got about the deepest nulls of any (other than identical file copies, of course, or comparing "original" with "CD copy" files)
 
This thing is a fantastic tool. I've recently discovered that one can rip DVD-A discs using some programs available on BitTorrent. Back in 2003, I got a universal player and a bunch of DVD-A discs. One of those was Workingman's Dead. The sound quality of this DVD-A blew away the CD and LP, but I always wondered whether this was due to Mickey Hart's excellent remastering or the high resolution of the format. I've since gone to computer audio, and all my files are 16/44.1. I haven't been able to play a rip of this DVD-A until now. But was I sacrificing sound quality by downsampling to 16/44.1?

I did an experiment. I ripped a couple of songs from this album to their native 24/96 format. Then I downsampled them to 16/44.1 using a program called r8brain, at the highest quality setting. Using the same program, I upsampled the downsampled file back to 24/96, then subtracted this file to the original using Audio Diffmaker.

In order to hear anything at all in the difference file, I had to turn the volume all the way up and put my ear almost right on the tweeter. I could hear only hiss, except for one spot where there was a very audible "click". This ticked me off. I wasn't sure how to fix it.

Then, while reading a thread on hydrogenaudio.org, I found out about a program called sox. There's another fantastic program! I tried downsampling the same 24/96 files from Workingman's Dead to 16/44.1 using sox. The first thing I noticed was that it gave me a warning, saying that digital clipping had occurred in the downsampling. So I tweaked a scale factor until it just barely went away. Then I upsampled the resulting file back to 24/96. I again got a warning about digital clipping. So I tweaked a scale factor again until it just went away for the upsampling as well. Then I subtracted this 24/96 file from the original 24/96 file using Audio DiffMaker. It found the correct scale factor for the subtraction, and actually gave me a deeper null than what I got when doing the resampling using r8brain.

Then I listened to the difference file. What I got was only a little hiss with the volume turned all the way up. No click! So Audio DiffMaker uncovered a fault in the r8brain resampling software. DiffMaker always reported a scale factor of 0 dB for the r8brain files, so r8brain apparently does not scale to prevent digital clipping. I think that's where the click is coming from. I'm now using sox exclusively, and tweaking the scale factor for each individual track to just avoid digital clipping.

Thanks so much for this tool. It found the r8brain problem, and also told me that the "magic" of the Workingman's Dead DVD-A was due entirely to the remastering, not the 24/96 format at all. All in all, it was time very well spent.
 
Hi Scott,

I used the freeware r8brain version with quality set to "very high" (the highest settinig). The results in the difference file were "in the noise", except for the occasional clicks that were quite a bit higher than the noise. I'm assuming this was due to clipping that wasn't detected or corrected for. I've stopped using it because of this. When running DiffMaker, the scale factor DiffMaker computed was always 0 dB with the files that were converted by r8brain, so this seems to indicate that it does no scaling to prevent clipping.

Here's a sample sox command line I used for the downsampling:

sox -v 0.963 track-01-01[0]-01-[L-R]-24-96000.wav -b 16 -r 44100 "01 - Uncle John's Band.wav" dither

The funky WAV file name was automatically generated by DVD-A Explorer, which I used to rip the DVD-A. -v is the volume, -b is number of bits, -r is the sample rate, and "dither" specifies the default dither which is triangular PDF. In this case, I kept trying different values of volume, like 0.99, 0.98, 0.97, and 0.96. Once I figured out that 0.96 eliminated clipping and 0.97 didn't, I did increments of 0.001 to find the largest one that had no clipping. So in this case, 0.964 would cause clipping. I know this is overkill, but hey, this is audiophilia :). When using sox to do the sample rate conversion, the results in the diff file are only random noise, no clicks at all. Sox is fantastic. I haven't even begun to explore its possibilities.
 
scott wurcer said:
Thanks for the tip SOX looks great, and has a nice tutorial on how MATLAB was used to study its algorithms. Open source rules!

Cool! I will have to read that. Meanwhile, looks like I posted a command line above that's not optimum for this application. Here's the command line:

sox -v 0.963 track-01-01[0]-01-[L-R]-24-96000.wav -b 16 -r 44100 "01 - Uncle John's Band.wav" dither

It turns out there's a better way. Sox uses "options" and "effects". In this case, the "options" are the command-line elements that precede the name of the relevant file (input or output file). The "effect" goes at the end. In this case, "dither" above is an "effect". But it turns out that if you specify -r and the sample rate before the output file name, this implicitly invokes the "rate" effect with the default "rate" options. If instead you explicitly invoke "rate" as an effect at the end, you get options that aren't available when specifying -r before the output file name. The important option here is the conversion quality. It defaults to "high" if you use -r before the output file name, but if you explicitly invoke "rate" as an effect, you can specify "very high" as the conversion quality. Here's the command line for that.

sox -v 0.963 track-01-01[0]-01-[L-R]-24-96000.wav -b 16 "01 - Uncle John's Band.wav" rate -v 44100 dither

The "-v" after "rate" (not to be confused with the -v volume option) is the "very high" conversion quality option. This makes the determination of the volume setting very time-consuming because this option slows down the conversion a lot. But I've found that if you determine the volume using -h (the default "high" option for the rate effect), the required volume setting comes out exactly the same as for -v, but is much faster. At any rate (no pun intended :)), I save all my command lines to a batch file in case I need to re-run the conversion. This has already come in handy, as when I discovered the -v option, I decided to re-convert all my DVD-A's using -v. Since I have the batch files, this is pretty easy and quick. Here's my batch file for converting Workingman's Dead.

sox -v 0.963 track-01-01[0]-01-[L-R]-24-96000.wav -b 16 "01 - Uncle John's Band.wav" rate -v 44100 dither
sox -v 0.994 track-01-01[0]-02-[L-R]-24-96000.wav -b 16 "02 - High Time.wav" rate -v 44100 dither
sox -v 0.991 track-01-01[0]-03-[L-R]-24-96000.wav -b 16 "03 - Dire Wolf.wav" rate -v 44100 dither
sox -v 0.976 track-01-01[0]-04-[L-R]-24-96000.wav -b 16 "04 - New Speedway Boogie.wav" rate -v 44100 dither
sox -v 0.988 track-01-01[0]-05-[L-R]-24-96000.wav -b 16 "05 - Cumberland Blues.wav" rate -v 44100 dither
sox -v 0.996 track-01-01[0]-06-[L-R]-24-96000.wav -b 16 "06 - Black Peter.wav" rate -v 44100 dither
sox -v 0.995 track-01-01[0]-07-[L-R]-24-96000.wav -b 16 "07 - Easy Wind.wav" rate -v 44100 dither
sox -v 0.989 track-01-01[0]-08-[L-R]-24-96000.wav -b 16 "08 - Casey Jones.wav" rate -v 44100 dither

Oh, and one more thing. This site has quality comparisons for many different ASRC software implementations. It looks like sox with the -v rate option is about as good as it gets.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.