FEAT. RQ.: bypass channel to foobar audio_chunk interface, getting proper DoP in Foobar2K |
This is NOT a tech support forum.
Tech support questions go to foobar2000 Tech Support forum instead.
See also: Hydrogenaudio Terms of Service.
![]() ![]() |
FEAT. RQ.: bypass channel to foobar audio_chunk interface, getting proper DoP in Foobar2K |
Oct 9 2012, 15:00
Post
#1
|
|
|
Group: Members Posts: 34 Joined: 28-May 11 Member No.: 91053 |
Would it be possible to add an option in advanced preferences that would add a bypass channel to foobar audio_chunk interface skipping DSP chain and Volume control?
The idea is that this channel should directly deliver unchanged sound data to output device (like WASAPI or ASIO) without going into DSP and Volume Control chain. This way it will be possible to add true DoP mode without needing to resort to ASIO or WASAPI Proxies. I've no idea about the innards of Foobar so if this is against any TOS or policy I'm sorry and please any admin move it to the bin or delete it. Ditto if it belongs in another sub forum. Cheers |
|
|
|
Oct 19 2012, 07:36
Post
#2
|
|
|
Group: Members Posts: 34 Joined: 28-May 11 Member No.: 91053 |
Sorry to bump but.... no one? Peter?
|
|
|
|
Oct 19 2012, 11:58
Post
#3
|
|
![]() Group: Admin Posts: 3231 Joined: 30-September 01 Member No.: 84 |
Not sure what you mean "foobar audio_chunk interface", doesn't sound like it's what I refer to by "audio_chunk".
If passing unaltered PCM stream to the device is what you want, you can already do that by setting volume to max, disabling ReplayGain and DSP. What else do you want, a single checkbox to toggle all of volume/RG/DSP with one click? Sounds like it will generate "volume control doesn't work" and "equalizer doesn't work" tech support traffic. -------------------- This job would be great if it wasn't for the users.
|
|
|
|
Oct 19 2012, 14:42
Post
#4
|
|
|
Group: Members Posts: 34 Joined: 28-May 11 Member No.: 91053 |
Thanks Peter but it is not about PCM but rather about DSD (DoP= DSD over PCM -> DoP).
It would seem switching off Volume/RG/DSP is not enough because all kinds of visualizers (VU meter, oscilloscope, etc) will still work and interpret DoP stream as PCM data. What's needed is to add set_data_type(t_data_type data_type) method to the audio_chunk interface. So it can be called like p_chunk.set_data_type(RAW_AUDIO_DATA) for each audio_chunk of DSD sound data to request that this chunk needs to be delvered to output device unchanged and witout any processing by visualizers like VU meter and others. The setting entry could be well hidden in advances preferences so those not in the know wouldn't mess with. Maybe name it "DoP Bitsreaming enable" or something similar. Cheers This post has been edited by Jackal29a: Oct 19 2012, 14:43 |
|
|
|
Oct 19 2012, 15:05
Post
#5
|
|
![]() Group: Admin Posts: 3231 Joined: 30-September 01 Member No.: 84 |
audio_chunk was specifically designed to carry PCM data only and will not be changed to carry anything else; using it to carry any data other than plain PCM is broken by design. Further than that, it cannot possibly be changed without breaking component compatibility.
-------------------- This job would be great if it wasn't for the users.
|
|
|
|
Oct 19 2012, 16:55
Post
#6
|
|
|
Group: Members Posts: 34 Joined: 28-May 11 Member No.: 91053 |
Thanks for the explanation.
Pity it is not possible, it could have been the first and only free DSD player for Windows, much like MPD in the Linux world. There are a few players out there capable of DSD (DoP or DSD over ASIO) but all are commercial products. Cheers |
|
|
|
Oct 19 2012, 16:57
Post
#7
|
|
![]() Group: Admin Posts: 4231 Joined: 15-December 02 Member No.: 4082 |
Likely only ASIO is capable of carrying DSD anyway. foo_input_sacd includes its own ASIO output component just for this purpose, it may even work for you.
|
|
|
|
Oct 19 2012, 16:59
Post
#8
|
|
![]() Group: Members (Donating) Posts: 779 Joined: 25-September 03 From: Umeå, Sweden Member No.: 9001 |
Note that visualizations are incapable of modifying the audio stream.
The way a vis works is that it occasionally asks for copies of chunks of decoded audio which it may analyze and generate awesome looks from. The only plugins that mutate audio streams are DSPs, and if you disable all the things that Peter mentioned, nothing will be mutilated. Now, if your problem is that visualizations are showing "the wrong thing" by not knowing that the PCM stream they get isn't PCM, well, that's a different problem, and it should not have anything to do with playback. -------------------- Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered. |
|
|
|
Oct 19 2012, 17:32
Post
#9
|
|
|
Group: Members Posts: 34 Joined: 28-May 11 Member No.: 91053 |
Likely only ASIO is capable of carrying DSD anyway. foo_input_sacd includes its own ASIO output component just for this purpose, it may even work for you. foo_dsd_output does indeed work fine with ASIO compatible drivers but for WASAPI/KS ones a 2nd proxy (ASIO4All) has to be thrown in. It works but it isn't the most elegant solution (DSD decoder -> foo_dsd_asio -> ASIO4All -> WASAPI/KS driver) . When I started this thread, before learning DSD was ruled out by design, I was just wondering if something better was possible as now there are some very affordable USB->I2S+DSD adapters becoming available (there is one going for 39€ in a GB at DIYA) that allow for designing very cheap DIY universal DACs. Note that visualizations are incapable of modifying the audio stream. The way a vis works is that it occasionally asks for copies of chunks of decoded audio which it may analyze and generate awesome looks from. The only plugins that mutate audio streams are DSPs, and if you disable all the things that Peter mentioned, nothing will be mutilated. Now, if your problem is that visualizations are showing "the wrong thing" by not knowing that the PCM stream they get isn't PCM, well, that's a different problem, and it should not have anything to do with playback. Thing is, as Peter pointed out, it does not work with DoP neither on ASIO nor on WASAPI/KS, even if it looks like it should. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 20th June 2013 - 13:30 |