View Full Version : Reclock Kernel Streaming/WASAPI Support Question
Shakey_Jake33
29th March 2009, 21:10
Just a very quick question, I noticed in the changelog for a more recent build of Reclock, it says that Kernel Streaming has been replaced in favour of the Vista-exclusive WASAPI.
1.8.3.7 - 25/02/2009
* New: Replaced Kernel Streaming with WASAPI exclusive (Vista SP1 and up, experimental)
http://forum.slysoft.com/showthread.php?t=19931
Does this mean Kernel Streaming support is removed entirely? The obvious thing to do would be to test it, but that's the thing - I get no sound using the supposed Kernel Streaming support with Reclock using XP 64-bit, so I can't tell if it's a user/system error, or Reclock doesn't support Kernel Streaming anymore. If that's the case, a link to an older revision would be appriciated.
My sound is the laptop's onboard Sigmatel/IDT Audio Codec, and ASIO works fine using ASIO4ALL v2 in Foobar.
Thanks
Jong
29th March 2009, 22:39
No. XP still uses KS, Vista uses WASAPI.
Shakey_Jake33
29th March 2009, 23:40
Right you are. I did a bit more fiddling, and found that if I resample the sound to 48000Hz using ffdshow, it works... so it seems to accept 48000Hz audio, but not 44100Hz audio. But if I'm resampling anyway, it defeats the point.
But Foobar outputs 44100Hz audio fine using ASIO, so why wouldn't it work using KS?
Leak
30th March 2009, 00:01
But Foobar outputs 44100Hz audio fine using ASIO, so why wouldn't it work using KS?
Braindead drivers? Stranger things have happened...
np: Wiley - No Qualms (Re-Vox ft. Chipmunk, Jme & Skepta) (You Don't Know Ninja Cuts (Disc 2))
Shakey_Jake33
30th March 2009, 00:23
That wouldn't surprise me, the Sigmatel/IDT Audio Codec is braindead full stop. Put it this way, I wish I had a Realtek...
I'm sure the ffdshow resampling is better than Kmixer or the drivers, so it's still an improvement. It's just annoying.
Why not just use Foobar? Videos :)
flanger216
30th March 2009, 00:37
Have you tried tweaking your audio output format in Reclock? Many soundcards only support a specific bit-depth (usually 32-bit integer, but sometimes 24-bit integer or 32-bit floating point) when kernel streaming.
Shakey_Jake33
30th March 2009, 07:18
Yeah gave that a go, it only works if I select 'as-is', it doesn't even work if I select 16-bit PCM.
I'm not really much of a audiophile, it just makes sense to me that the audio should be an unmolested as possible. I know Reclock does some resampling as well, so it means the sound is being resampled twice (first by ffdshow, then by Reclock) =/ I guess there's not much that can be done, short of finding some alternative drivers somehow.
Oh that note, what output mode should I select in ffdshow for feeding the sound to Reclock - 16-bit integer or LPCM?
avivahl
30th March 2009, 08:48
You might wanna test audio playback using foobar2000 (http://www.foobar2000.org/?page=Download) and its WASAPI plugin... just to see if the problem caused by ReClock or the driver/card.
Shakey_Jake33
30th March 2009, 13:52
I can't use WASAPI because I'm using XP 64-bit (and WASAPI is in Vista SP1), but I installed Foobar and tested both Kernel Streaming and ASIO (although in all honestly, I prefer to use MPC because I tend to play individual files, and Foobar is better suited to playlists etc).
Kernel Streaming only works if I use the DSP to resample to 48000Hz (and I'm assuming ffdshow is the better resampler anyway?).
ASIO seems to work straight away, and I've disabled the 44.1Hz->48Hz resampling within ASIO4ALL. Odd. Is the hardware resampling?
Curious, Reclock is aware that it's getting 48000Hz audio (resampled by ffdshow), states that it's 'bit exact' and seems to be making no changes to the sound. Does this mean Reclock is doing no resampling, ans just passing through as-is?
http://img9.imageshack.us/img9/4591/52944751.th.jpg (http://img9.imageshack.us/my.php?image=52944751.jpg)
flanger216
30th March 2009, 16:09
Judging from what you've described, it sounds like the Sigmatel's DAC operates at a hardwired 48khz (not too surprising, given that it's an onboard laptop adapter). The ASIO mode probably just resamples everything to 48khz at the driver level.
You're correct that ffdshow's resampler is much preferable to XP's kernel resampler. You're also correct that you're technically getting two resamples - one from ffdshow, and then a tiny adjustment from Reclock - but as long as you set both ffdshow and Reclock's resamplers to 'excellent' quality, even this double-whammy shouldn't be too big a deal.
The picture you posted demonstrates correct behavior: Reclock never resamples when you're only playing audio files. Obviously it's not truly bit-perfect - ffdshow is resampling - but in this case, Reclock isn't also resampling. When you playback a video file, tha'ts when you'll get the double resampling.
All of which begs the question: if this stuff is important enough to be a concern, then why not drop a few greens on a USB soundcard? Given its restrictions, this Sigmatel sounds like kind of a POS.
EDIT: Now that I think of it, you should also keep this in mind: a lot of these lower-end adapters will always resample. Since your Sigmatel only operates at 48khz, that's probably the case here. So when you watch video with Reclock, you're potentially getting three resamples - one from ffdshow, then a tweak from Reclock, and then the soundcard might resample that right back to 48khz at the driver level. That's pretty unideal. I'd advise either getting a USB soundcard, or I'd advise against using Reclock when watching video.
Shakey_Jake33
30th March 2009, 16:47
That makes sense, thanks. Sounds like the best solution is to use Foobar + ASIO for audio, since that route probably has the least amount of resamples. As for video, pretty dire situation if there could potentially be as manu as 3 resamples. I guess this all depends on whether ffdshow+Reclock double resampling is better than the Kmixer single resampling (knowing that the driver-level resampling is going to happen regardless). It's a shame that Reclock can't just output sound 'as-is' because I really have no use for it's corrections.
In the long term, some kind of USB audio device would be required (although it doesn't help that my laptop only has 2 USB ports, one taken by my Logitech VX Nano). My problem is simply that I'm fussy, and like everything working properly.
EDIT - This is interesting. With video files, if I tick 'Slave Reference Clock to Audio' and select 'Original Speed' and tick the 'locked' box, it says 'bit exact', just like in the picture above (but this time, for video files). Looks like this is bypassing Reclock's resampling.
Shakey_Jake33
25th April 2009, 19:19
Apologies for the double post, just a quick update on this, I have installed Windows 7 Release Candidate 64-bit, and am using WASAPI in REclock, and 44100Hz stuff plays fine without resampling (just like it did using ASIO4ALL), the problem only occurs using Kernel Streaming. I still need to resample for many sample rates below that (such as a few videos I have with 32000Hz sample rate), but ffdshow is flexible enough to allow for this.
Also, setting up REclock like in the above post results in videos being passed through as 'bit exact' without resampling. You loose the functional benefits of REclock, but if you're looking to get sound sent to your speakers/reciever untouched, that's the answer. This now means the only resampling that could be going on is by the Sigmatel audio codec itself, which is pleasing.
leeperry
1st May 2009, 23:00
actually, the next Reclock beta should allow bypassing the resampler and output bit-perfect pitchshifted audio...like this :
http://www.image-load.eu/out.php/t160055_48048.png (http://www.image-load.eu/out.php/i160055_48048.png)
whether it'll work on any soundcard is another matter, but some M-Audio and RME cards have bit-perfect Waveout drivers....and the M-Audio are quite cheap second hand ;)
it might even work through KS/WASAPI....anyway resampling 48000@47952 for 23.976@24 is a digital slaughter, I'm sure any soundcard drivers will do a better job than that..
of course it'll be like pass-through S/PDIF, there won't be any adaptation to the graphic card's drift....so better have some spot-on timings :o
Moti172
13th October 2011, 23:59
Hi
I try to use reclock with my HTPC.
When choosing WASAPI exclusive as PCM Audio interface I receive the message:
"audio format is not supported by the hardware" and there's no sound.
It doesn't help if I change the format in "PCM Output".
My PC - I5 2400. Win7, MPC-HC (LAV filtter-splitter,audio,video), MadVR
Foobar2000 works well with foo_out_wasapi
I'll appreciate your help
nand chan
14th October 2011, 07:27
If you set Reclock up like this is should always be bit perfect where possible: http://img683.imageshack.us/img683/8949/reclockguide.png
Then you can use ffdshow to resample to 48 kHz (does ffdshow support SoX? You should use SoX where possible), and your sound chip shouldn't touch it further if the info above is correct.
Moti172
15th October 2011, 06:58
Hi
I fixed my analog connection to the receiver and "WASAPI exclusive" works :)
Why should ffdshow resample it to 48 kHz, and what is sox?
second, why shouldn't I use the compressor (in reclock)
Thanks
nand chan
15th October 2011, 12:10
Hi
I fixed my analog connection to the receiver and "WASAPI exclusive" works :)
Why should ffdshow resample it to 48 kHz, and what is sox?
ffdshow should resample it because apparently it has preferable quality. SoX is a resampler algorithm, often cited to be among the best software resamplers: http://sox.sourceforge.net/SoX/Resampling
second, why shouldn't I use the compressor (in reclock)
Thanks
The compressor destroys dynamic range, which will make all of your movies sound much less breathtaking and vivid but more like a badly mastered pop track.
leeperry
19th October 2011, 19:58
Why should ffdshow resample
BTW, there's a chinese guy who claims to have modded ffdshow for a much improved SQ: http://www.head-fi.org/t/576196/ffdshow-he-mod
but as usual from him(as he also does foobar "audiophile" mods), not a single word on the modifications....if anyone feels adventurous enough to try, please let us know how amaaazing it sounds now ^^
nand chan
19th October 2011, 20:13
BTW, there's a chinese guy who claims to have modded ffdshow for a much improved SQ: http://www.head-fi.org/t/576196/ffdshow-he-mod
but as usual from him(as he also does foobar "audiophile" mods), not a single word on the modifications....if anyone feels adventurous enough to try, please let us know how amaaazing it sounds now ^^
Oh, if you PM me I can send you a modified version of ffdshow which has even better sound quality, and it's only 20 kB larger! It synchronizes with the latest database settings for the best sound quality in realtime, so don't mind the bit of network usage.
leeperry
19th October 2011, 20:20
well I've googletranslated the comments on his blog, and he says that using DXVA degrades the SQ...Oh gawd, let's hope CUDA is fine http://forum-images.hardware.fr/images/perso/matmanamane.gif
my real world experience is that bit-perfect doesn't quite tell the whole story, as explained in those links:
http://www.cicsmemoryplayer.com/index.php?n=CMP.03Jitter
http://www.phasure.com/index.php?topic=692.0
but I don't try undocumented mods from shady chinese blogs.
leeperry
23rd October 2011, 02:56
the best sound quality
ah well, he claims to have achieved an improved SQ through compiler optimizations only, and he's now posted an uber-awesomey sounding version of the Reclock resampler (http://www.head-fi.org/t/576196/ffdshow-he-mod#post_7841022) on head-fi in case anyone feels the urge to try it...you know you want to :D
nevcairiel
23rd October 2011, 09:19
Compiler settings change the code behaviour now?
leeperry
23rd October 2011, 11:36
night & day, no less.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.