IPB

Welcome Guest ( Log In | Register )

3 Pages V  < 1 2 3  
Reply to this topicStart new topic
Sound card perfomance at different sample rates, Split from Topic ID: 104532
saratoga
post Feb 22 2014, 20:08
Post #51





Group: Members
Posts: 4718
Joined: 2-September 02
Member No.: 3264



QUOTE (YellowOnion @ Feb 22 2014, 05:22) *
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.
Go to the top of the page
+Quote Post
greynol
post Feb 22 2014, 20:16
Post #52





Group: Super Moderator
Posts: 10000
Joined: 1-April 04
From: San Francisco
Member No.: 13167



What is with this latest trend of using absurd signals in order to demonstrate something is "broken?"


--------------------
Your eyes cannot hear.
Go to the top of the page
+Quote Post
saratoga
post Feb 22 2014, 20:21
Post #53





Group: Members
Posts: 4718
Joined: 2-September 02
Member No.: 3264



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.
Go to the top of the page
+Quote Post
greynol
post Feb 22 2014, 20:30
Post #54





Group: Super Moderator
Posts: 10000
Joined: 1-April 04
From: San Francisco
Member No.: 13167



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!"

This post has been edited by greynol: Feb 22 2014, 20:36


--------------------
Your eyes cannot hear.
Go to the top of the page
+Quote Post
saratoga
post Feb 22 2014, 20:52
Post #55





Group: Members
Posts: 4718
Joined: 2-September 02
Member No.: 3264



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.
Go to the top of the page
+Quote Post
bennetng
post Feb 22 2014, 20:52
Post #56





Group: Members
Posts: 215
Joined: 22-December 05
Member No.: 26587



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.
Go to the top of the page
+Quote Post
[JAZ]
post Feb 22 2014, 22:46
Post #57





Group: Members
Posts: 1710
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



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).

This post has been edited by [JAZ]: Feb 22 2014, 23:00
Go to the top of the page
+Quote Post
saratoga
post Feb 22 2014, 22:50
Post #58





Group: Members
Posts: 4718
Joined: 2-September 02
Member No.: 3264



QUOTE ([JAZ] @ Feb 22 2014, 16:46) *

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.

QUOTE ([JAZ] @ Feb 22 2014, 16:46) *

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.
Go to the top of the page
+Quote Post
[JAZ]
post Feb 22 2014, 23:04
Post #59





Group: Members
Posts: 1710
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



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)

This post has been edited by [JAZ]: Feb 22 2014, 23:14
Go to the top of the page
+Quote Post
greynol
post Feb 23 2014, 01:06
Post #60





Group: Super Moderator
Posts: 10000
Joined: 1-April 04
From: San Francisco
Member No.: 13167



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.


--------------------
Your eyes cannot hear.
Go to the top of the page
+Quote Post
YellowOnion
post Feb 23 2014, 01:36
Post #61





Group: Members
Posts: 16
Joined: 9-April 12
Member No.: 98589



QUOTE (saratoga @ Feb 23 2014, 09:50) *
...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.
Go to the top of the page
+Quote Post
saratoga
post Feb 23 2014, 02:01
Post #62





Group: Members
Posts: 4718
Joined: 2-September 02
Member No.: 3264



QUOTE (YellowOnion @ Feb 22 2014, 19:36) *
QUOTE (saratoga @ Feb 23 2014, 09:50) *
...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
Go to the top of the page
+Quote Post
YellowOnion
post Feb 23 2014, 03:03
Post #63





Group: Members
Posts: 16
Joined: 9-April 12
Member No.: 98589



QUOTE (saratoga @ Feb 23 2014, 13:01) *
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.

This post has been edited by YellowOnion: Feb 23 2014, 03:33
Go to the top of the page
+Quote Post
saratoga
post Feb 23 2014, 03:49
Post #64





Group: Members
Posts: 4718
Joined: 2-September 02
Member No.: 3264



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?
Go to the top of the page
+Quote Post
greynol
post Feb 23 2014, 04:25
Post #65





Group: Super Moderator
Posts: 10000
Joined: 1-April 04
From: San Francisco
Member No.: 13167



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.


--------------------
Your eyes cannot hear.
Go to the top of the page
+Quote Post
YellowOnion
post Feb 23 2014, 04:45
Post #66





Group: Members
Posts: 16
Joined: 9-April 12
Member No.: 98589



QUOTE (saratoga @ Feb 23 2014, 14:49) *
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
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


Go to the top of the page
+Quote Post
phofman
post Feb 23 2014, 09:33
Post #67





Group: Members
Posts: 262
Joined: 14-February 12
Member No.: 97162



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.
Go to the top of the page
+Quote Post
bennetng
post Feb 23 2014, 12:09
Post #68





Group: Members
Posts: 215
Joined: 22-December 05
Member No.: 26587



QUOTE (YellowOnion @ Feb 23 2014, 10:03) *
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.
Go to the top of the page
+Quote Post
stv014
post Feb 23 2014, 12:10
Post #69





Group: Members
Posts: 47
Joined: 26-February 13
Member No.: 106902



QUOTE (phofman @ Feb 23 2014, 09:33) *
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).

This post has been edited by stv014: Feb 23 2014, 12:20
Go to the top of the page
+Quote Post
[JAZ]
post Feb 23 2014, 15:19
Post #70





Group: Members
Posts: 1710
Joined: 24-June 02
From: Catalunya(Spain)
Member No.: 2383



@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.

This post has been edited by [JAZ]: Feb 23 2014, 16:04
Go to the top of the page
+Quote Post
bennetng
post Feb 23 2014, 16:38
Post #71





Group: Members
Posts: 215
Joined: 22-December 05
Member No.: 26587



QUOTE ([JAZ] @ Feb 23 2014, 22:19) *

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?

This post has been edited by bennetng: Feb 23 2014, 16:44
Go to the top of the page
+Quote Post
Juha
post Feb 23 2014, 17:52
Post #72





Group: Members
Posts: 368
Joined: 14-February 07
From: EU-FIN
Member No.: 40610



QUOTE (bennetng @ Feb 23 2014, 19:38) *
QUOTE ([JAZ] @ Feb 23 2014, 22:19) *
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).




Go to the top of the page
+Quote Post
bennetng
post Feb 23 2014, 18:33
Post #73





Group: Members
Posts: 215
Joined: 22-December 05
Member No.: 26587



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
Go to the top of the page
+Quote Post
Juha
post Feb 23 2014, 19:43
Post #74





Group: Members
Posts: 368
Joined: 14-February 07
From: EU-FIN
Member No.: 40610



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?




Go to the top of the page
+Quote Post

3 Pages V  < 1 2 3
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st April 2014 - 12:12