OK, so what CAN I reliably measure from a PC soundcard ?
Aug 16, 2012 at 5:29 AM Post #16 of 51
Thanks for the feedback on this guys - incredible amount of effort went into those measurements and I hope that this might inspire others.
 
Sep 14, 2012 at 3:46 AM Post #17 of 51
Here is an older post on measuring the approximate output impedance of an amplifier with only a sound card (which can be onboard for this purpose), a headphone with known impedance, and a splitter cable. Of course, this assumes that the amplifier can safely be tested in a sound card loopback.
 
Sep 14, 2012 at 12:11 PM Post #18 of 51
Thanks stv014 for this, putting it in my siggy to spread the word on easy testing. I think the biggest tip to for anyone who wants to do audio related testing with decent soundcards should really start with a good DMM first, absolutely needed, the rest just fall in place.
 
Oct 2, 2012 at 7:51 AM Post #19 of 51
There is an extensive set of new measurements of a sound card here. It includes many parameters that cannot be tested with RMAA, although the device tested is not bad enough compared to the recording equipment for very accurate results.
 
Dec 2, 2012 at 9:41 PM Post #20 of 51
Can someone give me in-depth directions on how to run these RMAA tests on amps and DAPs? I've tried it on my DX100 which already is suppose to measure flat but I can't get the signal on both L and R to remain stable. Either its too low or clipping. Any help would be very appreciated. I was able to do a good RMAA test on my own sound card which everything came back very good or excellent. So I'm not sure what I am doing wrong? Is there a specific recording you have to play back to have balance on both L and R channels? Seems there are no idiot proof guides on how to do this and this is sad.
 
 
Dec 3, 2012 at 7:53 AM Post #22 of 51
Quote:
If the signal is not stable on one channel, make sure that there are no contact problems. By the way, what are you trying to measure, and exactly how ?


I'm trying to do RMAA test on my DX100, Studio V etc. I was able to do a successful test on my sound card by looping it from the mic to the the first line in port. Now trying to do the test on the DX100 and I can't get the channels to be balanced. Its either clipping or not enough power. I also notice the channels changing. I was under the impression this is due to the actual music being played since left and right channels do change in actual music.
 
Dec 3, 2012 at 8:02 AM Post #23 of 51
I was able to do a successful test on my sound card by looping it from the mic to the the first line in port.


The mic? What? You're supposed to connect the output of whatever device you're measuring (a headphone out or a line out) to the line in of your soundcard, and record that. The mic input should never be used for RMAA measurements.
 
Dec 3, 2012 at 8:11 AM Post #24 of 51
Quote:
The mic? What? You're supposed to connect the output of whatever device you're measuring (a headphone out or a line out) to the line in of your soundcard, and record that. The mic input should never be used for RMAA measurements.


When I did the RMAA test on the sound card I looped it back from the line out 1 to line in on the sound card. I was able to get great results on that test. The first time around I got horrible results as I had things set up wrong.
 
I did connect from the HO to the Line In and am not able to get the sound balanced. Its either clipping or the signal is too low.
 
Jan 25, 2013 at 1:45 PM Post #26 of 51
A few more simple command line utilities:
dsputils.zip
"convolve" convolves a sound file with another one. But it can also convolve with a maximum length sequence, or a simple FIR lowpass or highpass filter. Additionally, some transforms (inverse filter, linear phase, minimum phase) can be applied to the impulse response. By convolving a recorded maximum length sequence with a reverse MLS, the impulse response can be extracted. It is also possible to resample the input file by any fractional ratio, to correct DAC/ADC sample rate mismatches.
"resample" converts the sample rate of a sound file. There are obviously many tools for that purpose, but it allows for resampling by fractional ratios (e.g. from 44100.28767753 Hz to 44100 Hz), can apply fractional sample delays, and do this with decent accuracy and quality. The interpolation quality, lowpass filter length, cutoff frequency, and linear vs. minimum phase are configurable.
Both the above utilities can apply a gain to the output (overall and separately for each channel), and write WAV files in floating point or 8, 16, 24, or 32-bit integer format. Integer formats are dithered.
"sinetest" analyzes and prints the frequency, amplitude, and phase of a sine wave. This can be used, with the "resample" utility, to correct the level, sample rate, and delay of a loopback recording that includes a few seconds of a test tone.
 
Jan 25, 2013 at 7:49 PM Post #27 of 51
Quote:
A few more simple command line utilities:
dsputils.zip
"convolve" convolves a sound file with another one. But it can also convolve with a maximum length sequence, or a simple FIR lowpass or highpass filter. Additionally, some transforms (inverse filter, linear phase, minimum phase) can be applied to the impulse response. By convolving a recorded maximum length sequence with a reverse MLS, the impulse response can be extracted. It is also possible to resample the input file by any fractional ratio, to correct DAC/ADC sample rate mismatches.
"resample" converts the sample rate of a sound file. There are obviously many tools for that purpose, but it allows for resampling by fractional ratios (e.g. from 44100.28767753 Hz to 44100 Hz), can apply fractional sample delays, and do this with decent accuracy and quality. The interpolation quality, lowpass filter length, cutoff frequency, and linear vs. minimum phase are configurable.
Both the above utilities can apply a gain to the output (overall and separately for each channel), and write WAV files in floating point or 8, 16, 24, or 32-bit integer format. Integer formats are dithered.
"sinetest" analyzes and prints the frequency, amplitude, and phase of a sine wave. This can be used, with the "resample" utility, to correct the level, sample rate, and delay of a loopback recording that includes a few seconds of a test tone.

 
This is all alien to me lol :wink:. I already gave it up. I don't know how I was able to get good results testing the damn sound card itself but can't for the life of me properly run the test on a DAP. They need to make this **** easier lol.
 
Jan 27, 2013 at 8:47 AM Post #29 of 51
Quote:
This is all alien to me lol :wink:. I already gave it up. I don't know how I was able to get good results testing the damn sound card itself but can't for the life of me properly run the test on a DAP. They need to make this **** easier lol.

 
I did not post these in response to your questions, but rather for being somewhat relevant to this topic. I do not think many people will use those programs, though, but I do use them (and a number of others) for the measurements, ABX files, etc. posted here, so the tools being available makes the tests more repeatable by others. I also plan to release the utilities I used for creating graphs like the ones that can be found here, these can analyze sine sweeps for frequency response, THD vs. frequency, and THD vs. level, and also impulse responses for group delay vs. freqiuency.
 
Jan 30, 2013 at 4:47 AM Post #30 of 51
To show a practical example of using these tools, here is how they can be used to create a level matched, pitch corrected, and accurately synchronized (to a fraction of a sample) loopback recording from the line output of a RealTek ALC887 onboard audio codec, for the purpose of ABX testing or measurements. The resulting A.wav and B.wav files are both in 96/24 format, and A.wav is created in software with high quality sample rate conversion (but using a lowpass filter with deliberately slow roll-off to simulate a real DAC).
 
The test sample also includes a maximum length sequence that is not used here, but could be for measuring the impulse response of the loopback, which would be useful for null testing (i.e. to convolve the original sample with the IR to eliminate frequency and phase response differences; note however, that low frequency jitter makes a null test difficult to implement if the DAC and ADC do not share the same clock).
 
The files can be found in this archive, except some large and redundant ones (sample2.wav is created by appending sample.wav to test.wav, and then 1 second silence at the end, and lb_fixed.wav is created as shown below).
 
Code:
 testgen testgen.txt test.wav 44100 16 arecord -f dat -f S32_LE -r 96000 -D hw:1,0 --period-size=8192 --buffer-size=16384 -d 52 loopback.wav aplay -D hw:0,0 --period-size=8192 --buffer-size=16384 sample2.wav sinetest -d 13 loopback.wav -c 1 -f 2500 -a 0.9 -p 0     Channel #1: frequency = 2499.94092442 Hz                 amplitude = 0.54074378 (-5.340169 dBFS)                 phase = 288.296957 degrees                 frequency correction = 1.000023630791                 amplitude correction = 1.66437422 (4.42501961 dB)                 start time = 2.280533559587 s (218931.2217203 samples) sinetest -d 13 loopback.wav -c 2 -f 3000 -a 0.9 -p 0     Channel #2: frequency = 2999.92910926 Hz                 amplitude = 0.54400694 (-5.287911 dBFS)                 phase = 201.926923 degrees                 frequency correction = 1.000023630806                 amplitude correction = 1.65439065 (4.37276132 dB)                 start time = 2.280533586866 s (218931.2243391 samples) average frequency correction = 1.0000236307985 average start time = 2.2805335732265 resample -il 128 -k 2.2805335732265 -m 1.0000236307985 -g1 1.66437422 -g2 1.65439065 -d 50 loopback.wav lb_fixed.wav resample -il 128 -fl -2000 -r 96000 -f 3 sample.wav A.wav resample -k 19 -d 29.78544217687 -f 3 lb_fixed.wav B.wav
 

Users who are viewing this thread

Back
Top