Thank you very much for your ASIO Plugin.
This fixes the 7 year old issue of foobar hanging and blasting your ears with noise when skipping through files. Very happy!
My settings
ASIO affinity: 10
Input affinity 5
However I don't really understand what these settings are doing honestly :) Suppose multithreading? Could you explain or link me to some infos, please?
Problem:
I see initially very high RAM usage of 2GB. After a while it settles at about 800MB.
These numbers still seem to high. Old ASIO plugin used nearly no RAM.
Any clues? Is this behavior supposed to be normal?
Thank you!
btw. I found the SOX resampler plugin 0.8.7. to have a subpar audio quality and the dBpoweramp/SSRC to be much more detailed. Makes no sense technically if these resamplers are putputting bitperfect. They don't seem to do it to my ears. I listend a lot to "Pink Floyd - 1973 - Dark Side Of The Moon (CP35-3017) Japanese 1st Toshiba Black Triangle with proper deemphasis" and other "perfect" recordings.
Just my findings...
System:
ThinkPad X1 Yoga 3rd, 8550u, 16GB
foobar 1.6.8. + foo_out_asio2 2.0.0 + Resampler (dBpoweramp/SSRC) 48KHz + foo_dsp_convolver 0.4.8 [ with convolver file HIFIMAN Sundara 2020 revised earpads by oratory1990 48KHz] + FiiO Q1 MarkII (balanced output) + FiiO Dac driver 5.22.0 + Hifiman Sundara
Sorry for crossposting to the General Forum
Btw. ASIO2 stutters on playing lossy codecs like mp3. Sounds like pausing for half a second...
Older ASIO works fine.
Last edit: HansWurst 2022-01-07
Hi
Affinity settings aim at avoiding mixing different plugin activities (i.e filling the sample cache vs passing samples to the driver) on the same CPU cores.
Of course these parameters are relevant only if your computer is dedicated to audio (I.e if you don't use for something else at the same time)
Regarding your system (4 cores/8 threads Intel i7-8550u), you could try :
Asio Affinity:160 (128+32)
Input Affinity:8
Concerning RAM usage, asio2 plugin uses a sample cache. By default (Sample Cache size=1024Mb in advanced options), asio2 plugin consumes around 1Gb. It looks strange that you see more RAM used at startup . In my setup, RAM usage is stable
I cannot reproduce your problem with mp3 codecs. May be it depends on the track (size of sample chunks passed by the foobar engine may vary over time whith the mp3 codec) or the foobar dsp you have configured.
Regards
Thanks for the explanation of affinity settings. Do you have any further readings on this?
So if I set the affinity to 160/8 this would only be useful if I do nothing than running foobar, right? As soon as I use Firefox for example these setings are pretty much useless? Is there a preferred setting for "multitasking"? Default of 10/5?
I didn't see the Sample cache size in advanced options. Thx. What happens if the sample cache size is set to 512MB or 256MB? Any disadvantages? ASIO2 by default uses way to much RAM in my opinion on my multitasking system.
I also see about 23% CPU use at start going back to about 3%...
The glitch indeed can be reproduced by enabling the convolver plugin "foo_dsp_convolver 0.4.8." which is bad indeed as I'd like very much to "equalize" my headphones near perfectly.
I did some more testing: with ASIO and ASIO+DSD 0.1.6. the convolver works without a glitch. As soon as I use ASIO2 the glitches appear. I tested on 2 different foobar portable setups with the Active DSPs beeing 1. Resampler (dBpoweramp/SSRC) + 2. Convolver with according wav correction.
So why does this happen with ASIO2 but not with the other ASIO's?
Maybe you guys could work together on an ASIO implementation?
https://sourceforge.net/p/sacddecoder/support-requests/73/
You both surely seem to be very capable of that... :)
Cheers
Edit:
I did a 1by1 setup with two portable foobar instances. Using identical settings and obviously the same FiiO Q1 MarkII. Volume knob untouched.
By extensive Pink Floyd binging :) your ASIO2 sounds better.
I hope not to be too esoteric here. ASIO+DSD gives a different soundstage as if some higher frequencies or transients were cut of. An example would be "Shine on you crazy diamond" from "Pink Floyd - 1988 - Delicate Sound Of Thunder (Columbia C2K 44484) 1st press USA]" where the crowd and the first guitar tone sound different. I know a guitar or two and certainly know if a guitar rips through my head and gives me goosebumps (with ASIO2) or is just "ok" (with ASIO+DSD)....
And I know it makes no sense if ASIO is in both cases bitperfect. There should be no difference but there is...
Edit:
Further findings. The Impulse Response Convolver 0.3.3
https://hydrogenaud.io/index.php?topic=10611.0
works just fine without glitching on lossy files. Wonder where the problems between ASIO2 and foo_dsp_convolver_0.4.7
https://hydrogenaud.io/index.php?topic=85107.0
stem from?
Will also post in their forum...
Last edit: HansWurst 2022-01-07
The bug in ASIO2 with MP3+convolver is fixed (see attached dll)
The bug with WMA codec detected by Jean-Claude (Ticket #22) is fixed too
the rule concerning affinity is that the more load there is on your computer, the less this setting is relevant. I think that if you only use it for internet browsing , the affinity setting is still useful. Affinity settings are bitmask . For example , for a CPU with 4 hyperthreaded cores (i/e 8 concurrent threads) , range of the bit mask is 255, i.e 11111111 in binary. concerning the best values, it depends on the type of your CPU (nb of cores, hyperthreaded or not). In my own setting (4 cores, not hyperthreaded) the best result is obtained with 2 cores used for asio and one for the input thread, i.e. 12/2. (1100/0010 in binary). I don' t use the core corresponding to bit 0x01 , which seems to be used by foobar engine for something else).
Also, I have a better sound with Turbo Boost off (btw, thanks to Faroz , ticket #21, for this tip).
The sample cache aims at avoiding I/O and samples conversion while rendering,
If memory usage is a problem for you, you can reduce the size of the cache.
The CPU burst at start is due to the cache initialisation.
Concerning sound quality, my personal opinion is that there are many factors that can change the sound even when the transferred bits are identical. One of them, that I try to improve in ASIO2 plugin, is the time taken by the driver ASIO callback to get back the audio samples from foobar: speed, and more important, regularity, are the keys.
After much experimentation and inconsistent SQ...I can say on turbo boost etc...
DO NOT touch BIOS and DO NOT use ThrottleStop...
Do this instead in power plan settings...see attached pics...
Then sit back and enjoy...a rock steady cpu speed with boosts, throttles and other SQ destroying gobbledygook...!
Then sit back and enjoy...a rock steady cpu speed with boosts, throttles and other SQ destroying gobbledygook unable to interfere...
f a n t a s t i c!
Can confirm this bugfix works fine with lossy codecs and foo_dsp_convolver_0.4.8 (please update your repo :) )
Got you on your explanation for the affinity settings. Super detailed (even avoiding core 0x01).
TurboBoost can indeed affect sound quality. I was getting nearly crazy until I figured out what made my DAC crackle. You don't have to do this settings in BIOS though.
You can use ThrottleStop.
https://www.techpowerup.com/download/techpowerup-throttlestop/
There are two methods of switching CPU frequencies. The older SpeedStep and the newer SpeedShift.
https://www.anandtech.com/show/9751/examining-intel-skylake-speed-shift-more-responsive-processors
If your CPU can speedshift than disable SpeedStep completely. After doing so you can even TurboBoost with no effect on time-critical processes as SpeedShift is much faster in entering and leaving frequencies.
With my 8850u I'm hence able to undervolt massively and can run the CPU at 4.0+4.0+3.7+3.7GHz (2,3W idle > 14W max) which is damn fast for that CPU. Otherwise I can use a "medium" profile with the CPU using 2,3W (4x 2.8GHz) and still be (switching) faster than on standard "PowerSaver" Mode (2,1W).
NVMe drivers can also be buggy. I use a Samsung 960Pro with the latest fernando driver
https://www.win-raid.com/t29f25-Recommended-AHCI-RAID-and-NVMe-Drivers.html
If your goal is absolutely lowest latency then play with Interupt settings
https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts-msi-tool.378044/
How much could I size down the sample cache without hickups? 512? 256? even 128?
As for the sound quality: Couldn't be happier.
It always strikes me when I listen to one of my favourite songs for the 100th time and can then hear new details. That's the ultimate proof for me. And oh boy did ASIO2 made me smile for the last days!
My final setup for reference:
foobar 1.6.8
Set up your DSP Manager like this:
a) Resampler SOX > 48KHz > much! better quality than dBpoweramp/SSRC
https://hydrogenaud.io/index.php?topic=67373.0
b) foo_dsp_convolver_0.4.8
https://hydrogenaud.io/index.php?topic=85107.0
load the impulse file for your headphone from here
https://github.com/jaakkopasanen/AutoEq/tree/master/results/oratory1990 > ...48000Hz.wav
and of course have ASIO2 (bugfix) from here installed
I hope I could give something back...
Thank you!
Edit:
Sample cache 16MB. See attachement.Wow.
Edit2:
Got a little something for you.
ASIO Link Pro (now free for use). No virus. I'm in the IT business...
Thanks again!!!
Last edit: HansWurst 2022-01-08
great !
thank you for your links and feedback. Very interesting. I think that my CPU (i5-6500) doesn't support speedshift but it is good to know.
concerning the sample cache size , it depends on your constraints. Personnally, as I used one dedicated PC for my audio system, I have defined as much memory as possible. if your cache is smaller, foobar wil have to read samples from file and send them to the plugin more often (i.e, ~every minute with a 16Mb cache for a 2 channels 44,1Kz track).
I am glad that you are happy with the sound! I am working on the next version which should be even better I hope.
Thanks for your further clarifications. I confess I should have looked at your readme. Sorry. Remember to also update your changelog in the readme :)
When people begin to realize what fantastic component this is the downloads will go up and I predict that someday this will be in the official components repository where it belongs (if the developers are not too stubborn).
ASIO2 is o much fun!
I suggest to call it "ASIO2+Phase" to further point out its powerful features.
Now with ASIO Link Pro one could record the ASIO, ASIO+DSD 0.1.6. and ASIO2 streams to actually see if and where's a difference. There are endless possibilities...
Will check here for updates on a regular basis.
All the best Didier!
Merci bien.
Last edit: HansWurst 2022-01-08