Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Sound card perfomance at different sample rates (Read 33924 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Sound card perfomance at different sample rates

Reply #50
My Xonar DS has terrible ultrasonic performance, I get an audible tone near the 4-5k area if I play a ~44kHz sinewave http://i.imgur.com/zu9Kevt.png

The internal DSP (all settings, 44.1/48/96/192 same result) must lack any sort of anti-aliasing on its LPF, though why it applies a LPF in the first place, I have no clue.

I make sure I have Windows set to 48kHz as it has a functional LPF for the rare occasion I ever come across high sample rate content.


I think your card is probably running at 48KHz in that picture (note that it aliases about 48k/2Hz), and what you are seeing is just a resampler from whatever sampling rate your sweep was at to your cards actual sampling rate.

FWIW, I don't think that plot looks all that bad.  Playing a pure, full scale ultrasound tone just a hair below the sampling rate of a sound card will generally introduce artifacts unless the resampler is very, very slow.  Its almost impossible to +100dB of rejection very close to the Nyquist rate, so a pure tone at that point will generally be audible.  Doesn't matter in practice though, since no one masters real audio huge massive amounts of power 40KHz+.  You'd risk blowing out people's tweeters.


Sound card perfomance at different sample rates

Reply #52
Yes indeed, one can always pick a signal to break a well engineered system, and over-engineering systems to handle irrelevant or absurd circumstances is generally not a great idea.

Sound card perfomance at different sample rates

Reply #53
FS sweep detection with an output that says the user is an idiot shouldn't be too hard to code.

I can hear it now: "This doesn't sound like your everyday jitter. Oh dear, my signal generator must be broken!"

Sound card perfomance at different sample rates

Reply #54
I would argue that RMAA is essentially that.  A tool that can give you what you want to know without forcing you to have a detailed understanding of the underlying theory and hardware design.

Sound card perfomance at different sample rates

Reply #55
YellowOnion's picture is quite similar to MadTracker 2.5
http://www.maz-sound.com/index.php?show=mp...&page_id=62

Audio samples can be downloaded by clicking the speaker icon at the top right corner of each software, which include a tambourine sample.

Sound card perfomance at different sample rates

Reply #56
greynol: Sweeps are the natural tool in this case to see if there is any serious issue in the playback chain. And in this case there is one.
You might argue that it doesn't matter, but if you do so, then you say that is perfectly fine that something that can play 96Ksamples signals should be previously filtered at around 24Khz.

I am with saratoga in this. There are several resamplers going on in there. It is really suspicious that it mirrors in the middle of the frequency range. That's why I started to make the tests with my soundcard in the attempt to find possible ways to reproduce something similar to that.


Edit:
Mm... Yup... seems the only plausible explanation is  96Khz-> Resampled to 48Khz with a sinc that does not filter (to create the bounce back), and then resampled back to 96Khz, applying a filter at 24Khz frequency.

In case of trackers like MadTracker, this way of working is by having a precalculated table, which filters at the input samplerate frequency. When upsampling (going down in the note scale) this is ok, but when downsampling (going up in the note scale) this doesn't work (it alias without any filtering).

Sound card perfomance at different sample rates

Reply #57

You might argue that it doesn't matter, but if you do so, then you say that is perfectly fine that something that can play at 96Ksamples signal should be previously filtered at around 24Khz.


No, just that they don't contain very high power ultrasonic tones, which is very reasonable as no real music will contain those.  If they do, you should configure a slower resampler or else figure out how to put that card into whatever sample rate you're actually using. 


I am with saratoga in this. There are several resamplers going on in there.


No, I think its just one resampler, from whatever the source is to 48k. 

Sound card perfomance at different sample rates

Reply #58
The posted image is at 96Khz, and contains aliasing above 24Khz, that's why i talked about two resamplers resampler passes.

Of course, the problematic one is the first one. (i edited my post with what I think that could happen)

Sound card perfomance at different sample rates

Reply #59
I have no problem with sweeps.  I have a problem with sweeps using a full scale signal with the expectation that nothing goes awry when the signal approaches Nyquist.

My bad if that isn't what is going on here.

Sound card perfomance at different sample rates

Reply #60
...else figure out how to put that card into whatever sample rate you're actually using.


As I mentioned, running my card at 192 or 96kHz doesn't work, this test was in fact run with 96kHz set on Windows "output", the soundcard DSP and the Loopback input, and yet this tone is audible (even over SPDIF at a native 96/24), not much below the test signal volume, it doesn't install much confidence in their product if they can't even achieve the same performance as the Windows resampler, though in most real world situations outside audio engineering and dog research I don't see this being an issue.

There are other issues I've had with the card, like the soundcard list taking 30-60s to open, and the driver install process failing and causing my system to load the kernel at 100% CPU, ironically the Linux drivers are awesome, I can get jack running down to 1.5ms, and I even got the dev (Clemens Ladisch) of the driver to fix a polarity issue with the sub-channel causing a very large lack of bass.

On a side note I'm running Windows 8, I don't think that hotfix applies (nor did it matter in the Foobar test).

I can provide the sox script if anyone is interested.

Sound card perfomance at different sample rates

Reply #61
...else figure out how to put that card into whatever sample rate you're actually using.


As I mentioned, running my card at 192 or 96kHz doesn't work


What do you mean "doesn't work"?  Looking online theres RMAA plots for the Xonar DS in 96k mode, and it seems to work fine:  http://www.elitebastards.com/index.php?opt...mp;limitstart=4

Sound card perfomance at different sample rates

Reply #62
What do you mean "doesn't work"?  Looking online theres RMAA plots for the Xonar DS in 96k mode


Sorry I mean it doesn't fix the issue, RMAA can use ASIO, Foobar with ASIO output does not produce any audible tone, I guess something could be said for testing common playback APIs over Audio Engineering APIs, I have absolutely no clue how to disable the onboard DSP.

Also greynol, is it common for someone to not read axis? it is not a fullscale signal, its -6dB, as none of it is white like shown on the side indicator, I appreciate if I wasn't called an idiot for your own mistakes, or assumptions.

Sound card perfomance at different sample rates

Reply #63
I don't know about Windows 8 specifically, but I don't think you should need to use ASIO to get 96k playback, or at least get better resampling.  Are you sure you're setting everything correctly?

Sound card perfomance at different sample rates

Reply #64
Sorry, it wasn't directed at anyone personally.

About my mistake, I suppose I should apologize for not being an expert at deciphering subtle shades of yellow, even if one of the graphs submitted looked pretty darn white.  Whatever.

Sound card perfomance at different sample rates

Reply #65
I don't know about Windows 8 specifically, but I don't think you should need to use ASIO to get 96k playback, or at least get better resampling.  Are you sure you're setting everything correctly?


I've doubled checked this a bunch of times, I'll include screenshots to clarify my setup.

If I set Windows soundcard settings to 48kHz I get a nice clean signal with a proper LPF/Resampler, if I set my entire chain (Windows speaker soundcard settings, the onboard DSP, and the mic soundcard settings) to 96kHz the onboard DSP applies some form of LPF.

My batch script is below, though I've also tried outputting the same content in to a file and playing it back in Foobar2000 to eliminate any possible MME issues.

Code: [Select]
set SOX=H:\\Apps\sox.exe

start %SOX% -r 96k -b 32 -t waveaudio "Wave (Asus Xonar DS Audio Devic" -n trim 0 31 spectrogram -w Kaiser
%SOX% -r 96k -n -t waveaudio synth 30 sine 10-44000 gain -6



Sound card perfomance at different sample rates

Reply #66
What do those options on the screenshots exactly do? Is it the mixer samplerate, or output samplerate? What does the bitwidth actually mean? According to the linux driver xonar supports only 16 and 32 bits http://git.kernel.org/cgit/linux/kernel/gi...xygen_pcm.c#n44 , what are those 24bits?

Typical questions about the closed-source black box, unlikely to get answers. I personally would not waste time with this glass ball guessing.

Sound card perfomance at different sample rates

Reply #67
Foobar with ASIO output does not produce any audible tone, I guess something could be said for testing common playback APIs over Audio Engineering APIs, I have absolutely no clue how to disable the onboard DSP.

Did you mean no sound at all or no audible aliasing when using ASIO? If the latter then it is obviously Asus' fault and have nothing to do with Windows.

Sound card perfomance at different sample rates

Reply #68
According to the linux driver xonar supports only 16 and 32 bits


The 32-bit recording mode is just 24 bits effective resolution with left shifting and zero padding by 8 bits. Playback probably does the opposite (throw away the lowest 8 bits).

Sound card perfomance at different sample rates

Reply #69
@greynol: Please, look at the graph again, you interpreted it incorrectly. There is a signal sampled at 96Ksamples with a sweep that should go from 10Hz to 44Khz (as said in the original post and by the sox line provided), but bounces back at 24Khz. So it is not near Nyquist (48-44=4) and the problem is not subtle (there is a strong signal at 4Khz).

From here comes the several comments that I've made about two resampling passes, a sinc resampling that doesn't adapt the filter frequency, and an attempt to locate which part of the system could be working at 48Khz even when the rest is set at 96Khz.


@YellowOnion: i tried your sox lines. I've found that the signal generated by audacity (2.0.5) is of slightly better quality than the one generated by the synth effect of sox (sox's one has aliasing below -100 dBFS and some DC.).
Now, one question: is the "Wave" recording device that you use, the equivalent of "what you hear"/"Stereo mix"? Could it be that you changed the settings to the incorrect element?


I did several more tests to find out more use cases. With the 96khz wave file, and recording in sox at 96khz, the playback and recording devices also have their own samplerate, and I tried several configurations.
The most similar graphic to that of yours was when i configured both, playback and recording to 48Khz.
With playback 96Khz and recording 48Khz, i had the aliasing at 48Khz but the bounce back was filtered in my case
With playback 48Khz and recording 96Khz, i didn't have the aliasing at 48Khz but the bounce back was just a bit filtered (around -60dB down)
With playback 48Khz and recording 48Khz, i had the aliasing and the bounce back a bit filtered (around -60dB down)
(I add just the first one as an image and the rest as urls to not fill the screen)

In my case, the recording device only accepts 16bits. This helps to see where the aliasing comes from



48-96
96-48
96-96   I have some DC offset in my line in that can be seen here. In the other captures, i activated the DC offset cancellation. Also, there's noise shaping, contrary to what i said in a previous post. In that case i was mislead because of different volume level.
I also added 44-44, for fun. Quite some amount of aliasing, but most below 70dB.

In all them, it is present one obvious defect of my soundcard (at least as implemented in this laptop), that constant signal above 15Khz (with aliasing in some cases).


I would say that the bounce back is added by the playback chain at one point resampling to 48Khz, and the mirrored aliasing is added (by windows?) when converting from the recording device samplerate, to the program's asked samplerate (in this case, sox at 96Khz from the 48Khz input).


samplerate of original signal -> samplerate in which the output device is opened by the program -> samplerate at which the output device is configured to work (windows setting) -> (optional) samplerate at which the output device own's control panel (hardware) is configured to work -> (optional) samplerate at which the input device own's control panel (hardware) is configured to work -> samplerate at which the input device is configured to work (windows setting) -> samplerate in which the input device is opened by the program -> recorded file samplerate.

Supposedly, the ASIO scenario avoids the windows setting stages, and forces the program and the hardware to work at the same value. WASAPI exclusive should do so as well, depending on the hardware drivers' goodwill.
Samplerate of the file and the program's samplerate are supposed to be the same (but in sox it can be different)

Edit: serveral edits to clarify and change sentences.

Sound card perfomance at different sample rates

Reply #70

depending on the hardware drivers' goodwill.

Agree. My X-Fi's WASAPI exclusive mode sample rate can be set differently from the driver's hardware sample rate, but it is not possible with ASIO. However, ASIO is also not 100% secure in revealing the true sample rate, for example, kX driver can use 44k ASIO in my old SB Live CT4830 but the card itself only support 48k. When using 44k ASIO aliasing artifacts can be easily measured.

Also YellowOnion, did you disable SVN and enable HF DSP mode in your Xonar control panel and try 2 speakers mode instead of headphone mode?

Sound card perfomance at different sample rates

Reply #71
depending on the hardware drivers' goodwill.
Agree. My X-Fi's WASAPI exclusive mode sample rate can be set differently from the driver's hardware sample rate, but it is not possible with ASIO. However, ASIO is also not 100% secure in revealing the true sample rate, for example, kX driver can use 44k ASIO in my old SB Live CT4830 but the card itself only support 48k. When using 44k ASIO aliasing artifacts can be easily measured. 


Hmm... Before X-Fi serie cards, Creative's ASIO was fixed for 48kHz because of the DSP (10k serie) which is fixed for 48kHz (this way the ASIO outputs can be routed through DSP effects w/o additional SRC). IIRC, E-MU series cards which has a 10k series DSP onboard supports DSP effects but only when SR = 48kHz.

There's a note on Creative's ASIO driver: "For use with ctaud9x.vxd, ctprxynt.sys and ctprxy2k.sys" (this information is taken from driver .dll (ctasio.dll) installed for Audigy 2 series PCI card in Vista 32-bit). What could this mean? BTW, Creative's ASIO driver bundled with X-Fi and E-MU PCI cards worked well with Audigy series card on XP installation (tried these about 2 years ago).





Sound card perfomance at different sample rates

Reply #72
SB Live can use X-Fi's (normal Windows DS/MME/soundfont) driver and it is also possible to use SB Live and X-Fi together with the same driver. However SB Live could not use Creative's ASIO driver because ASIO is not an advertised function for SB Live and Creative explictly blocked it. Hacked APS driver and kX driver enable ASIO for SB Live.

IIRC, kX's 44k ASIO for SB Live have some limitations. Firstly, only playback is supported. Secondly, only two channel mode is supported. In 48k mode kX ASIO supports up 16in/16out full duplex multiclient operation for my SB Live.

All of the above were tested in Win XP in about 2005-2007

 

Sound card perfomance at different sample rates

Reply #73
Frequency response for ESI DuaFire (24-bit, various samplerates).

http://i60.tinypic.com/34hapvb.png

Measured using path ESI [Direct Sound] --> E-MU 0404 USB [ASIO]. Samplerate settings 1:1.

Does responses look OK?