Martel, I did some tests with simultaneous tones around 22KHz and 23Khz. No difference frequency (e.g. 1KHz) was audible if separate speakers were used.
This contrasts with tones much lower down such as 2500Hz and 3000Hz which for my ears produce a 500Hz difference if I listen carefully, even with a separate speaker for each tone. [There are many webpages that refer to this phenomenon of a difference frequency being audible at these lower test frequencies.]
What the explanation is for 24999 affecting the hearing of 8333 using separate loudspeakers I cannot say. Since making my previous post in this thread, I've tested using an entirely separate tone generator and found it is not necessary for the frequency to be exact for the presence of the higher frequency to be detectable.
For my ears, it is not so much a case of 'hearing' the higher tone, as being conscious of it. The effect on hearing can be a little unpleasant, and not dissimilar to having a cold. Anyway I am now looking at another aspect: time resolution affecting the downsampling process.
_____________________________________________
MLXXX's 96Khz 'repeating clicks' test file
96/24 is very topical in the home theatre community. Sound cards are only just now coming on to the market that will enable high-definition sound from Blu-ray or H-DVD to be played back on a Home Theatre PC through HDMI.
"How 'useful' is this?", we might ask, if it cannot be shown that 96Khz is superior to 48Khz.
I thought it relevant to enquire into the ability of human hearing to detect slight differences in timing as between the sound reaching one ear, and the other. I discovered articles on interaural timing differences, and interaural level differences. Some articles referred to the capacity to detect differences of tens of microseconds, whereas others referred to differences in the order of milliseconds.
With my own stereo speakers, I discovered I could detect a difference of one sampling interval at 48Khz, i.e. 20.83μS (microseconds), when listening to a click coming from both speakers, if the click was advanced or retarded by one sampling interval.
With difficulty I could even detect a difference of advancement or retardation of one sampling interval at 96Khz, i.e. 10.42μS.
'Aha!', I thought. Now I will be able to create a test to demonstrate that 48KHz is inadequate. So I ran the 96KHz test file containing the stereo click through a resampling conversion (using Adobe Audition) to 48Khz and played the click back, expecting not to be able to hear the difference of one sampling position between the left and right channels. But I was wrong. It was audible, possibly even more audible than in the original 96KHz file!
How was this possible? Well, on examining the dowsampled file I saw that Adobe Audition had flattened out the waveform if it was displaced by one sampling position. Cooledit did the same. So did Audacity. (The resampling algorithm used by N-track did not produce as noticeable a difference.)
The click sounded different at 48Khz than at 96Khz but it depended on whether the click occupied an odd sample number or an even sample number in the 96KHz file, as to how different the click at 48KHz sounded!
It is geekish to listen to single sample clicks. To make this phenomenon more accessible, I decided to create them in a regular rhythm so that they could be heard as a continuous tone. I found it easier to write my own code rather than attempt to use the tone generators in Cooledit etc.. I chose to repeat the click every 30 samples at 96Khz, and to alternate the polarity . This was equivalent to a 1600Hz square wave (with a very low duty cycle).
Knowing that readers of HA tend to be [very] keen on proof, I supply the following code that will generate a test file at 96KHz in three bursts, using GNU Octave as the software. The middle burst is displaced one sample position compared with the first and third bursts:
% Creates a waveform in accordance with the waveform values for one cycle appearing in line 5.
% The final output is at a sample rate of 96KHz in three bursts with the middle burst offset by one sample compared with the other two. The offset can make a difference when subsequently downsampling to 48KHz.
totalsamples=150000
c=zeros(totalsamples,1);
d=[0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;.5;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0
;0;0;0;0;0;0;0;0;0;0;-.5;0] #60 values
wavespace=int16(totalsamples/60)
tranche2=int16(wavespace/3)
tranche3=int16(wavespace*2/3)
offset=0
for e=1:wavespace -2
if (e==tranche2) offset=1
elseif (e==tranche3) offset=0;
endif
f=(60 * e)+offset
for h=1:60
c(f+h,1)=d(h);
endfor
endfor
%The next section adds fadeins and fadeouts.
for z=1:totalsamples
v=c(z,1);
% To disable the optional sine wave, add a percentage sign at the start of the next line
v=v+.05*sin(1.995*pi*z/60);
if (z==1) | (z==50000) | (z==100000) fade=0
elseif (z==46000) | (z==96000) | (z==146000) fade=-4000
endif
fade=fade+1;
fd=abs(fade);
if (fd<2000) v=0;
elseif (fd<4000) v=v*(fd-2000)/2000;
endif
c(z,1)=v;
endfor
wavwrite('1samplewidthat96KHz---10.42microseconds---clickswithrepetitionrateof1600Hz---Optionalsinewaveat1595Hz.wav',c,96000,16)
disp('***Completed***')
[I find QtOctave convenient as a graphical user interface. It is available as a free all-inclusive zip download, as a binary for Win32. The code above runs in about 30 seconds on a 3.0 GHz single core PC using Windows XP.]
For those preferring to download the file direct, here it is as a 96Khz 16-bit wav file:
[attachment=4552:attachment]
Here it is resampled to 48Khz 16-bit (no dither) using Audition at the maximum quality setting:
[attachment=4553:attachment]
There is a wavering quality because of the inclusion of a low level sine wave at approximately 1595Hz. This interacts with the clicks. The clicks come every 30 samples, and last for 1 sample period, and alternate in polarity. I find the sine wave acts as a reference level for the ear making it easier to pick that the middle burst is different. (If desired, in the code, the sine wave can be disabled by using the comment character '%').
You will probably find that with file 2, the middle burst is softer and has a different tonal quality.
For those who like a graphical presentation, here is how Audition displays the files after the conversion to 48KHz:
[attachment=4554:attachment]
The top right-hand graph is without any sine wave added (simply a click every 30 sampling periods at 96KHz, resampled to 48KHz). The drop in level according to the audition output meters is about 3.5dB for the middle burst.
So what do I conclude? I conclude that if a brief click is captured at 96KHz, and then downsampled to 48Khz there may be a change in the tonal quality and/or apparent volume. An electronic instrument could produce such sounds continuously, just as the Octave software has done.
I would conjecture, though I haven't tried this out on anything other than files of repeating clicks, that if downsampling a sound file from 96Khz to 48Khz, there can be a different result [both in the arithmetic values, and how they sound when reconstructed] if one sample of silence is added at the beginning, prior to commencement of the resampling process. This would presumably only be the case for brief clicks or other transient content.