|
|||||||
![]() |
|
|
Thread Tools |
|
|
#1 |
|
DriverHeaven Junior Member
Join Date: Apr 2003
Location: Jacksonville, NC
Posts: 21
Rep Power: 0 ![]() |
S/PDIF-In Limiting/Compression + Others
It's been a long time since my last post. Even so, you'll no doubt remember me if for nothing more than my wordiness/long-windedness. I'm still having some of the same problems as before, plus a new minor one in 3531.
For starters, card & version info as always... ---- Driver Name:kX Audio Driver (Debug) Driver Date: Mar 27 2003 00:01:41 Driver Version: 5.10.00.3531 - debug DB Name:LiveBay0x SB0060 5.1 [b400] PCI Information: Device: 21102 Subsys: 80611102 ChipRev: 7 Card has MPU device Card model is '5.1' Card HAS AC97 codec Codec name: SigmaTel STAC9708 3D Extension: SigmaTel 3D Enhancement Codec is 2.0 compliant Capabilities[6940] : DAC resolutions : -16-bit- -18-bit- ADC resolutions : -16-bit- -18-bit- Ext Capabilities [80]: -PCM surround DAC- ---- (SBLive! 5.1 Platinum w/LiveDrive IR + original SBLive! Digital I/O bracket) My first, and main, issue is related to S/PDIF-In: I still think there has to be some sort of limiter/compressor going on inside the 10k1 chip. I've got a Sony MDS-JB940 MiniDisc deck hooked up to my SBLive! via coaxial S/PDIF in both directions, usually in record monitor mode using its analog inputs as the source (for listening to my daisychained 400CD jukeboxes, TV, tape deck, etc. through my PC speakers and for recording from them using the HQ 24bit ADC in the MD deck straight to my PC digitally). For recording from my PC to MD or to enable output on my Aiwa minisystem speakers behind me, I unmute the SBLive!'s S/PDIF-Out and mute its S/PDIF-In (to prevent a MOST horrible digital feedback whine), then set the MD deck's recording source to Coax-In. Basically, my MD deck is my receiver at the moment (viva la rec mon). Everything in my room gets hooked up to it in some way or another at some point in time. Anyway, when recording from anything hooked up to my MD deck (or from an MD in the deck itself) via S/PDIF-In to my SBLive!, the recording levels, no matter what I do, are not quite right, and it's not just a matter of the SBLive! doing its internal resampling thing. Watching the level meter while recording, it's quite apparent that there IS some sort of compression/limiting in action (when the MD deck's peak meter shows peaks at 0dB, or even clipping, with a peak range of about 10dB, while the software is receiving a signal with peaks around -1.4dB with an apparent peak range of about 4dB, SOMETHING is going on in the card!), which is very very bad to have active on a *digital* input. You (Eugene or Max) mentioned several months ago the prospect of adding bit-for-bit support to Audigy series cards (yes, I've noticed - and tried to no avail - the b2b passthrough plugin); is there any hope whatsoever for the Live! series? Can the 10k1 be reprogrammed to NOT perform any limiting/resampling? I literally have to overdrive my MD deck's inputs by +12 to +18dB (seems to depend on whether the peaks in the audio itself are constant or impulses - dynamic range, basically) so its S/PDIF waveform output is practically one solid clip before the S/PDIF-In on the SBLive! will even register a 0dB peak (which, after recording, sounds like crap, of course). After viewing the recorded waveform, clipping is present when recorded at +18dB overdrive, but NOT at +6dB overdrive, at least not NEARLY as much as there should be. It's interesting to note that at the beginning and end of each flat-line clipped peak, there's a slightly higher peak with a roll-off, very much like there would be with a slow-attack limiter/compressor in the chain. Here are a few pictures to illustrate my point: http://starseed.dyn.dhs.org/images/k...drive+18dB.gif http://starseed.dyn.dhs.org/images/k...rdrive+6dB.gif http://starseed.dyn.dhs.org/images/kxforum/+0dB.gif http://starseed.dyn.dhs.org/images/kxforum/DAE.gif To make the differences more noticeable: http://starseed.dyn.dhs.org/images/k.../+0dBvsDAE.gif +0dB = Blue, DAE = Red. http://starseed.dyn.dhs.org/images/k...vsDAE+18dB.gif Overdrive +18dB = Blue, DAE +18dB = Red. Please please please PLEASE figure out a way to make S/PDIF-In behave itself! On a side note, and a positive one, S/PDIF-Out does not suffer from this problem at all. Another little bug that creeps up occasionally that I'm sure you've heard about at least a hundred times: Randomly, the left/right panning of a WinMM playback stream will be significantly off. Hitting stop in the application and playing the track again usually results in proper centering. This seems to have gotten a bit better than with previous driver versions, but the problem does still exist. I've pretty much grown used to this bug; it really only causes problems for me when it creeps up while recording a minidisc from my PC or when I'm SHOUTcasting, both of which are rare lately. A new bug in 3531: Where'd the ToolTips go? I've tried resetting the settings, switching ToolTips on/off.. they remain M.I.A. on the main dialog windows. Moving the cursor to a ToolTip hot point on the edge of the window verifies that the ToolTips aren't showing up at all; they're not just being hidden by the window itself (ie, it doesn't seem to be a foreground/background layering mixup). They do work properly on the kX DSP window, however. Thanks again for the kickass drivers, StArSeEd/Jonathan G. Weston PS: Thank you for the WinMM MultiTrack playback! PPS: The volume numbers are a VERY welcome addition, though I'd like to see them respond a little more precisely when using the arrow keys. Sometimes there'll be two steps to raise the volume one point, sometimes three.. I assume there are 256 possible volume levels per slider? A setting to switch the volume display between percentage, -dB, and possibly even the raw 256-step values would be very cool. |
|
|
|
|
|
#2 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
As i remember i already answered to you, the loss of level and changes of waveshape are happened due to resampling... Sony outputs in 44kHz samplerate and Live resamples that signal to 48kHz... And more over, if you record it in 44kHz file sound is resampled twice... And btw... i think you still did not get what "digital domain" is... What +18dB you are talking about?! Any digital signal that is higher then 0dB (in digital world typically associated with the maximum signal level possible with current format)
is saturated (in your case this happens right where you set that +9/+18dB)... Live! is not capable of "bit-to-bit" spdif in recording... You need device that can be synchronized to incoming signal rate...
__________________
Last edited by Max M.; Apr 15, 2003 at 11:08 AM. |
|
|
|
|
|
|
|
DriverHeaven Junior Member
Join Date: Apr 2003
Location: Jacksonville, NC
Posts: 21
Rep Power: 0 ![]() |
By +18dB, I mean I'm increasing the input gain of the signal (optical, in this case) from my jukebox to the MD deck by +18dB, clipping (or, as you put it, saturating) the hell out of it in the process.
I'm well aware of the SBLive!'s 48kHz resampling (and btw, I recorded at 48kHz, and did a quick and nasty 48kHz software resample to the DAE wave so they'd line up). Resampling does not adjust the level by -2.5dB (see that last pic). There IS something else affecting the audio. Judging from my Apache logs, you only looked at the +18dB and +0dB waveforms; please look at the last pic (overdrive+18dBvsDAE+18dB). True, due to resampling, the waveforms should not match up exactly, but since the SBLive! is being fed a signal VERY similar to the DAE+18dB waveform (except 44.1kHz), the recorded waveform should be much closer to the DAE+18dB waveform than it is. Unless the SBLive! has the worst resampling algorithm in the history of resampling algorithms, there is absolutely no way it can screw up the audio THAT much without some help in the form of a limiter/compressor. Would it be possible to implement the SSRC resampling engine into the 10k1 microcode in place of whatever's currently there? Isn't the 10k1's DSP microcode completely reprogrammable? If you want further proof that 44.1kHz->48kHz resampling is not the cause of this problem, here's yet another pic: http://starseed.dyn.dhs.org/images/k.../spdifloop.gif Red = DAE+18dB>48kHz, very dark blue = recorded. This was recorded using an S/PDIF loop. I amplified a DAE rip of the same song by +18dB, then did the quickest, dirtiest, most low-quality software resample to 48kHz that's possible using the software I have. I then saved the wave, set Winamp to use a Kernel Streaming output with the kX 0/1 device as the output device (not wave mapper), hooked the Live!Drive's coaxial I/O up to each other, muted S/PDIF-In (so it wouldn't do any feedback), unmuted S/PDIF-Out, and set the recording source to S/PDIF-In and only S/PDIF-In (yes, I 'muted' the WaveOut recording source by dropping it to -inf). Play, record, line up, screencap, overlay, print. Could it be more tell-tale? |
|
|
|
|
|
#4 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
>Unless the SBLive! has the worst resampling algorithm in the history of resampling algorithms, there is absolutely no way it can screw up the audio THAT much
Well, i did not say that... yes, Live! is not even semi-proffesional card (did this wriiten on its box?)... But well, if you take such clipped signal as on screenshots, make its level lower by ~2dB and apply some filtering to it (like anti-alias one used during resampling) you always get result less or more similiar to one on BvsDAE+18dB.gif... the only difference is that DAE do not makes preventive level scale so "straight clipped lines" stay "straight clipped lines"... I would not say that "curvature of the clipped signal is the measure of the resampling quality..."... well... >with a peak range of about 10dB, while the software is receiving a signal with peaks around -1.4dB with an apparent peak range of about 4dB, SOMETHING is going on in the card!), You look at +10dB peaks of analog signal - there's nothing coming out of MD higher then +0dB... And yes, Live decrease signal before resampling by 1.5...2dB (i did not see -4dB on screenshots) - i'd say it's good practic (no matter if the quality of resampling is good or bad)... since without that, "reasampling" itself can introduce "clipping" to non-clipped signal... >Would it be possible to implement the SSRC resampling engine into the 10k1 microcode in place of whatever's currently there? No, just because programmable dsp is only piece of the chip, and input SRC's are not a parts of that dsp... >http://starseed.dyn.dhs.org/images/...m/spdifloop.gif Resampling is always there, even 48->48 (just becoase live does not know where signal comes from)... This is the nature of the Live, it can accept spdif signals from multiple inputs but they are all are resampled to the internal Live's clock... For example pro-cards that can sync themselves to external spdif sources, can accept only one source at once (any second signal even at the "same" sample-rate will click and glitch)... > then did the quickest, dirtiest, most low-quality software resample to 48kHz that's possible using the software I have See above, reduce level of clipped signal by 2db just before resampling... --- Well, ok, then just what exactly makes you unhappen - "non-straight clipping lines" or "reduced level"?
__________________
|
|
|
|
|
|
|
|
DriverHeaven Junior Member
Join Date: Apr 2003
Location: Jacksonville, NC
Posts: 21
Rep Power: 0 ![]() |
> You look at +10dB peaks of analog signal - there's nothing coming out of MD higher then +0dB...
By this, I meant that when watching the level meter on the MD deck, the audio signal varied between about -10dB and 0dB (10dB range); when watching the recording level meter, the variation was about 4dB (~-6dB to -2dB). > See above, reduce level of clipped signal by 2db just before resampling... Makes absolutely no difference in the 'cleanliness' of the software-resampled signal. Still crisp clean peaks, whether straightline clips or a clean wave peak. I've tried lots of software resampling filters, and have never seen the peaks get mangled like the SBLive! is doing. > Well, ok, then just what exactly makes you unhappen - "non-straight clipping lines" or "reduced level"? Both, but the non-straight clips mainly. If it *was* straightline, ie, the peaks didn't get completely mangled, but were still reduced in level, a simple gain could be applied in the kX DSP to bring the level back to normal. Can the Audigy2 Platinum (or eX) lock onto incoming S/PDIF signals without performing this absurdity? Why can't MAudio make a nice inexpensive all-in-one card with an I/O drivebay?
|
|
|
|
|
|
#6 |
|
h/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,639
Rep Power: 69 ![]() ![]() ![]() ![]() ![]() ![]() |
>Why can't MAudio make a nice inexpensive all-in-one card with an I/O drivebay?
Like "an inexpensive nuclear reactor with built-in eggs fryer"? >Can the Audigy2 Platinum (or eX) lock onto incoming S/PDIF signals without performing this absurdity? Audigy has an ability to get signal from spdif inputs without resampling - but none of existing drivers allows you to record that data... >absurdity - well, they actually are right thinking that you don't need "input clock syncronization" in "a multimedia device"... for example your MD does resampling of digital inputs too...
__________________
|
|
|
|
![]() |
| Thread Tools | |
|
|