• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Kernel Streaming, ASIO, WASAPI... and music players (Foobar, JRiver...)

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
I don't think that will work, ed, because two streams will be sharing the same device. But I'd be happy to be proven wrong on that.

I don't think you're using the correct definition of "device". In WASAPI, a "device" is an audio endpoint device. A given hardware device/chip (say, your integrated motherboard audio), a.k.a "audio adapter" in Windows parlance, can have many endpoints (speaker out, headphone out, microphone in, line in, etc.). When WASAPI Exclusive is used, "exclusive" refers only to a single endpoint, not the entire adapter. It is perfectly possible to have multiple WASAPI Exclusive streams opened at the same time on the same adapter (e.g. one render stream and one capture stream), as long as they're for different endpoints. And in fact this is exactly what PortAudio does when you open a full-duplex WASAPI stream.
 
Last edited:

maty

Major Contributor
Joined
Dec 12, 2017
Messages
4,596
Likes
3,166
Location
Tarragona (Spain)
Related

Archimago's Musings BLIND TEST Results Part 1: "Do digital audio players sound different playing 16/44.1 music?" - Devices Unblinded! (Plus unusual exuberance & possible bias in the media?)

2019-04-28_-_Poll_Close_Result.png
 

bravomail

Addicted to Fun and Learning
Joined
Oct 19, 2018
Messages
817
Likes
461
Gonna have to add my comments on Glitchfree guide. While the settings they talk about will work very good on old crusty very slow laptop, because it lacks any power, for better/faster PC they will be of no use, more, you will pay higher electricity bills, and-or fried CPU, less life for your hard drive and display etc.
If you indeed plan on dedicating old laptop for fairly basic tasks (music, browsing, email, office), then Linux might be your ticket. I use PuppyLinux on so many older PCs.
However, if you plan to use any advanced or Windows only applications, RAW or Photo processing, games etc - your only option will be WIndows (10 as of this writing, do not use 7).
Here are my suggestion if you have problems with dropouts etc:
- add more RAM, 8GB is minimum (and comfortable recommended value), 4GB is a no go
- with 8GB you will need 64 bit version of Windows, it is also 5-10% faster than 32 bit
- get SSD and with it - disable indexing, hibernation, system restore, pagefile (if u run out of memory consistently - enable pagefile back)
- here where I go against glitchfree - enable disk compression for system and program files, leave media files alone as they are incompressible. Disk compression is beneficial, less I/O, CPU is still 10000x faster than disk.
- run some tweaks to disable NTFS access time updates
- setup your music player to pre-buffer whole file and run with higher than normal priority, use Foobar2000 if your player does not allow it
- if you stream from internet - set the biggest possible buffer size in your player
- disable active in-memory scanning of antivirus - you will free both memory and CPU, integrate your antivirus with browser so it will only scan downloaded files, not every launched app.
- disable disk encryption (if you running with it) - free both memory and CPU
- reschedule Windows Update to run once a week 3AM
- if your hard disk is mechanical for media (I use SSD only for my system), then having "turn off if inactive=on" is a good option - it will save/extend HDD life
- processor state in BIOS - leave it alone, unless your PC is 100 years old
- processor state in Windows - set the Min to however comfortable u r (mine is 1%), but not 100%
- desktop slide show - definitely turn off, in fact, set smaller tiled desktop icon or just solid color, memory saved
- USB power settings - depends on PC and DAC, some in fact will not play nice with default WIndows power management, won't work after PC is woken from sleep for example - good play area if u have issues
- PCI Express Link - I've seen very few laptops using PCI express cards, certainly won't help with audio
- turn off display - leave it on, on laptops/battery should be short time, on desktops u can make it 30 or 60 min
- sleep or hibernate - definitely "never", fully agree, close laptop lid when u walk away to save any energy/battery. But if u disable sleep - allow lower processor states, cannot be 100% CPU.
- USB Hub Power - never touched it, might be worth
- screen saver =off, but set display to turn off after inactivity
- do not touch core parking, it's prone to errors, read here https://www.thewindowsclub.com/enable-disable-core-parking-windows
- 3GB User VA space is actually a bad setting, since u will allow a single program to chew 3GB out of your only 4GB. P.S. don't run with 4GB RAM, upgrade to 8GB (or more if u have money and feel like it)
- system sounds =off :)
- disable firewall, if you don't use it for something specific (like blocking spy services of windows 10), I use my router as a firewall, ASUS makes highly customizable routers
- leave Nagle algorithm alone - it won't help, ppl saw some help on F5 load balancers, but not on user PCs https://ingogegenwarth.wordpress.com/2016/01/17/poor-outlook-performance-and-nagles-algorithm/
- there are some TCP optimizers, I suggest running them, they will update your TCP settings in registry https://www.speedguide.net/downloads.php
- BIOS spread spectrum should be always off, there are whole guides on tuning BIOS and BIOS CPU settings, take a look if u have time. https://duckduckgo.com/?q=bios+optimization+guide&t=ffnt&ia=web
 

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
- enable disk compression for system and program files, leave media files alone as they are incompressible. Disk compression is beneficial, less I/O, CPU is still 10000x faster than disk.

With HDDs, sure. With an SSD, I'm sceptical. At best the difference will be imperceptible.

- if your hard disk is mechanical for media (I use SSD only for my system), then having "turn off if inactive=on" is a good option - it will save/extend HDD life

It will likely to the opposite. Spinning up and down stresses HDDs and will likely result in a shorter lifetime than if you just keep them running.

- disable firewall, if you don't use it for something specific (like blocking spy services of windows 10), I use my router as a firewall, ASUS makes highly customizable routers

This is a really bad idea. Lots of IPv6-enabled networks will give each machine a public IPv6 address that is routable from the Internet and allows incoming connections. Keep the Windows firewall on, it won't hurt.

- there are some TCP optimizers, I suggest running them, they will update your TCP settings in registry https://www.speedguide.net/downloads.php

Please don't. If there were easy side-effect-free improvements to make, Microsoft would have enabled them by default already.
 

bravomail

Addicted to Fun and Learning
Joined
Oct 19, 2018
Messages
817
Likes
461
With HDDs, sure. With an SSD, I'm sceptical. At best the difference will be imperceptible.
It will likely to the opposite. Spinning up and down stresses HDDs and will likely result in a shorter lifetime than if you just keep them running.
This is a really bad idea. Lots of IPv6-enabled networks will give each machine a public IPv6 address that is routable from the Internet and allows incoming connections. Keep the Windows firewall on, it won't hurt.
Please don't. If there were easy side-effect-free improvements to make, Microsoft would have enabled them by default already.

Even with SSD there is a difference. I did measurements.
I agree that keep spinning mechanical HDD up and down is bad. But in my case what I see is that HDD is not used most of the time, so if u see the same pattern - setup a timeout.
Firewall can be beneficial, but I block incoming traffic via my router. Firewall eats CPU.
I don't for a second believe that Microsoft goal is to make your system efficient. When Windows 95 came out, being slow and buggy as it was, a group of porgrammers approached them, presenting revised graphical stack, but instead MS did nothing and people ended up buying expensive 2D graphics accelerators. And when Intel caught up with faster CPUs, MS introduced Vista with its 3D Aero interface, launching another hardware buying frenzy.
 

noel_fs

Active Member
Joined
Dec 12, 2018
Messages
270
Likes
181
Hey there, im bringing here the discussion about players. I find myself that foobar and roon sound very noticeable different, im not the only one that noticed it and even someone has done some "measurements" and indeed the result was different. Ofc with same output wasapi or asio.

I guess the known thing is that players dont sound different and i would love that to be true so i dont have to use roon while gaming.

Could you try it yourself or bring some light about players sounding different or not? @edechamps
 

amirm

Founder/Admin
Staff Member
CFO (Chief Fun Officer)
Joined
Feb 13, 2016
Messages
44,563
Likes
239,009
Location
Seattle Area
Hey there, im bringing here the discussion about players. I find myself that foobar and roon sound very noticeable different, im not the only one that noticed it and even someone has done some "measurements" and indeed the result was different. Ofc with same output wasapi or asio.
If the two are configured the same way to use the same output pipeline, there will be no difference. I have tested this occasionally and that is the case.

The first time I tested foobar I thought it sounded a lot better. I had assumed it was using exclusive mode. Then I read that by default it was not. So I did a blind test and all the differences I thought I heard, went out the window.
 

maty

Major Contributor
Joined
Dec 12, 2017
Messages
4,596
Likes
3,166
Location
Tarragona (Spain)
In my very optimized W10 Pro 1809 64 bits (clean install) to play multimedia I can easily differentiate between foobar2000 and JRiver MC v24 64 bits with same output, usually Kernel Streaming (KS), and 50 ms. Until JRMC v21 or v22 32 bits I was unable. I would prefer it not to be so but I can not deny my reality.

Like a tool foobar2000 is very good. I continually verify that it sounds better with JRMC because I usually listen first with foobar2000, which I use to edit the files, along with Mp3tag.

Of course, with very good recordings with high DR. Usually 24/96 and 24/192 WAV and FLAC.
 
Last edited:

Blumlein 88

Grand Contributor
Forum Donor
Joined
Feb 23, 2016
Messages
20,681
Likes
37,391
In my very optimized W10 Pro 1809 64 bits (clean install) to play multimedia I can easily differentiate between foobar2000 and JRiver MC v24 64 bits with same output, usually Kernel Streaming (KS), and 50 ms. Until JRMC v21 or v22 32 bits I was unable. I would prefer it not to be so but I can not deny my reality.

Like a tool foobar2000 is very good. I continually verify that it sounds better with JRMC because I usually listen first with foobar2000, which I use to edit the files, along with Mp3tag.

Of course, with very good recordings with high DR. Usually 24/96 and 24/192 WAV and FLAC.
Do you have any way to measure the output and determine what the difference is? Do you have an ADC so you could record the analog signal?

And is this differentiation sighted or unsighted?
 

maty

Major Contributor
Joined
Dec 12, 2017
Messages
4,596
Likes
3,166
Location
Tarragona (Spain)
I have never measured the differences, they are usually obvious. I know that without measurements this discussion becomes endless.

I repeat, my system is highly optimized for audio mainly. Some final steps I have to do manually before playing music. Sometimes I forget and notice the difference in sound.

I do not know the cause, but something changed in JRMC. And it was before releasing 64-bit versions.
 

maty

Major Contributor
Joined
Dec 12, 2017
Messages
4,596
Likes
3,166
Location
Tarragona (Spain)
The sound is more analog, with more body. More pleasant. More detailed sound -> that is why I passed a few tests that PMA did in diyaudio.com. With foobar2000 I used to have difficulties as the difficulty of the test increased.

Music with acoustic instruments and "natural" voices is what I usually listen to. Old recordings, from analog master. Vinyl, CD or SACD the vast majory. Some files from HDTT web.


How to make the best FLAC. Convert, recoder and CD rip.

https://www.audiocircle.com/index.php?topic=157417.0

PS: now the SACD sounds better with JRMC too than foobar2000 + SACD plugin.
 

FrantzM

Major Contributor
Forum Donor
Joined
Mar 12, 2016
Messages
4,369
Likes
7,855
I don't think you're using the correct definition of "device". In WASAPI, a "device" is an audio endpoint device. A given hardware device/chip (say, your integrated motherboard audio), a.k.a "audio adapter" in Windows parlance, can have many endpoints (speaker out, headphone out, microphone in, line in, etc.). When WASAPI Exclusive is used, "exclusive" refers only to a single endpoint, not the entire adapter. It is perfectly possible to have multiple WASAPI Exclusive streams opened at the same time on the same adapter (e.g. one render stream and one capture stream), as long as they're for different endpoints. And in fact this is exactly what PortAudio does when you open a full-duplex WASAPI stream.

 
OP
daftcombo

daftcombo

Major Contributor
Forum Donor
Joined
Feb 5, 2019
Messages
3,688
Likes
4,069
The sound is more analog, with more body. More pleasant. More detailed sound -> that is why I passed a few tests that PMA did in diyaudio.com. With foobar2000 I used to have difficulties as the difficulty of the test increased.

Music with acoustic instruments and "natural" voices is what I usually listen to. Old recordings, from analog master. Vinyl, CD or SACD the vast majory. Some files from HDTT web.


How to make the best FLAC. Convert, recoder and CD rip.

https://www.audiocircle.com/index.php?topic=157417.0

PS: now the SACD sounds better with JRMC too than foobar2000 + SACD plugin.

I've been using JRiver MC v24 64bits and Foobar2000 for some time now.
My subjective opinion is that JRMC feels more "relaxed". But I am 99.99% sure I wouldn't pass an ABX.
 

FrantzM

Major Contributor
Forum Donor
Joined
Mar 12, 2016
Messages
4,369
Likes
7,855

maty

Major Contributor
Joined
Dec 12, 2017
Messages
4,596
Likes
3,166
Location
Tarragona (Spain)
The idea is not my original. I decided to verify it and it turns out that I notice a lot the difference in the two players. It is a pain because I have to do it every time I log in, because everything else is automated.

It is not only CPU load, also process priority, access to CPU registers, memory and hard disk. And I/O.

Anyway, since I do not have measurements, it does not make sense to write more.
 

edechamps

Addicted to Fun and Learning
Forum Donor
Joined
Nov 21, 2018
Messages
910
Likes
3,620
Location
London, United Kingdom
@maty: unless your listening tests were properly controlled, level-matched and double-blind, or you did measurements, it is almost certain that the differences you're hearing are entirely in your head and have no basis in physical reality.

Also, as a professional software engineer, I can tell you that statements like "AVX2 instruction code" making a difference to sound quality is one of the most outlandish, technically absurd claims I've heard. It's in the same category as cable elevators and audiophile shelves. I would never believe such claims unless I'm presented with extremely strong evidence, and so far you have provided none.

If you want anyone to take you seriously, you either need to do rigorous experiments or you need to move to a forum where people are more open to your line of thinking. Don't worry, when it comes to audio, plenty of such forums exist.
 
Last edited:
Top Bottom