Hello william, Unfortunately, I cannot test the plugin on Windows 2012 server. May be it is a problem with the VC++ runtime ? VC redistributable may be downloaded here: https://visualstudio.microsoft.com/fr/vs/older-downloads/ asio2 has been compiled with Visual Studio Express 2017. kind regards, didier
Hello, Thank you for you kind message and your wise remarks. I didn't knew that there was a 64 bit variant of Foobar2000. I will check this. I could change the affinity range too. But the problem is when ? I have made some changes since the last published release but the new version, albeit fitting perfectly my needs, is not yet ready for a bigger audience (e.g, I have added support for native DSD but with some limitations: no volume control, only one DSD format supported. This version is more sensible...
David, the link is good. you have just to copy the foo_out_asio2.dll file in the component directory of your foobar instance then restart foobar. perhaps you have more than 1 foobar instance installed ? or 2 versions of foo_out_asio2.dll in your component directory with different names ? Anyway, you will fin the dll attached. Didier
David, Can you check if the patch is installed correctly ? the asio2 patch version should be 2.0.3 in the component view, as shown in the attached picture. If it is not an installation mistake, could you set the trace level to 1 in asio2 advanced options, then, after the crash occurs, send me the crash report files (i.e . failure_xxxxxx.dmp and failure_xxxxxx.txt files) ? could you send me a screen copy of your asio2 advanced options, if ever you changed them ? Thanks Didier
Hello Jean-Claude, Thank you for your feedback. Did you use the latest version before (2.0.2) ? The only difference between the patch and 2.0.2 version is the fix for volume control . There is nothing more regarding sound quality. your config with DSD transcoder is interesting. I did'nt know that it worked with asio2. By the way, I'm working on a new asio2 version and it will support native DSD if everything goes well. best regards
may you try the patch here: https://drive.google.com/file/d/1XoAp95sz6IMDvX_sRbfOiqZx8bfR9knL/view?usp=sharing it should fix the crash when changing volume. I cannot reproduce the other crash with output change.
Hi. good news ! thank you. I have uploaded the new version 2.0.2 with the fix.
Hi, may you try the patch here: https://drive.google.com/file/d/1XoAp95sz6IMDvX_sRbfOiqZx8bfR9knL/view?usp=sharing best regards
sorry. "Disable Asio config queries" is only in my debug version. it is not set anyway in 1.1beta2 version so I doubt it changes anything. However I see in your crash log that your asio driver is in version 1: "output_asio2_impl::open - asioVersion:2, driverVersion:1, Name:hdspfire, ErrorMessage:No ASIO Driver Error" There is some controls based on asioVersion and driverVersion in asio2 v2.0.x which didn't exist in asio2 v1.1beta2. That could be the cause of the crash. May be you could try to install...
Could you try this changes in advanced config: first set the "Disable Asio config queries" checkbox then try . If it crashes again, reset the checkbox then change the following parameter: "Sample cache size (Mb") : use e.g. 32 instead of 1024, then try
Hi, did you keep the default in advanced asio2 config ? just to know if it could come from your audio card, does it work with the standard asio plugin ? can you send me your log with trace level set to 1 ? (checkbox in asio2 advanced config) Best regards
Hi, I have tried to reproduce your problems (using same latency, same cache size, and forcing 24 bits asio buffers) but sorry I can't. I cannot test the Reatek asio driver itself : not compatible with my laptop. the text crash report is not very useful. Normally when foobar crashes there is a file with .dmp suffix in the "<foobar installation="">\profile\crash report" folder. this one could be useful : I can load it in VS debugger. Do you have one and may you send it ? also, could you send me the...
Hi May be it is a regression in 2.0.1 (there was many bugs in asio2 with this driver , due to its specific asio buffer format, but normally they have been all fixed with the help of Mo Philips). Can you check this ? i.e testing if you have a crash with both 2.0.0 and 2.0.1 or only with 2.0.1. May you also send me: the console output with asio2 trace level set to 1 the generated .dmp file if any. * a screeshot of your advanced settings (cache size,,..) and your asio driver latency settings. I will...
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...
Hi, a fix for the WMA codec bug (and for MP3/convolver one) is available in Ticket #23. Regards Didier
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...
Hi I am not a specialist of DSD (I only listen to PCM in my system), but I think that Jean-Claude is right when he says that SACD plugin used with ASIO or ASIO2 plugin only supports DSD with DoP. Otherwise the DAC would not be able to make a difference between PCM 176Kz samples and raw DSD64 stream. When looking at the Steinberg ASIO API spec, the Asio plugin should ask for specific type of ASIO buffer when initiliazing the Asio driver, in order to use native DSD. ASIO2 plugin doesn't do this and...
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...
Hello Jean-Claude Do you have the same problem with your DSD tracks when using the official foobar asio plugin ? Regards Meilleurs voeux pour 2022 Didier
Hi, I will try DSD with Turbo Boost off next week. (I am in vacation now). I agree about Redbook vs HighRes SQ: I am not yet convinced that Highres makes a difference, but I have never done in depth tests. I am surprised that SQ is not as good with "start when cache full" is checked. The only effect is to load the internal asio2 sample cache before starting rendering. reading input and loading cache stresses the CPU so in theory it could not degrade the sound to do it before starting rendering. Do...
Hi Feroz, it looks strange. I don't see anything wrong in the logs, and I don't understand why there is a problem on a technical point of view except may be an heavy load on your CPU when listening I have a few questions: do you have the problem with both wavepack and raw DSD files ? do you have the problem just at the start of the track or always during the track ? may you try with the "start only when cache full" checkbox set in asio2 advanced config ? (when checked, rendering only starts when...
Hi Feroz, What errors do you have with DSD when affinity is set to 8/4 , exactly ? May you send me the console output (trace level set to 1) ? Normally, with your 4 cores/4 threads CPU, you can use the 0-15 affinity range only. So 16/8 affinity is not a correct setup. I suppose that in the console output you will find a error message like this one: PROCESS AFFINITY : SetThreadAffinityMask failure: ret=0 asio buffer read - thread id = 10232, SetThreadAffinityMask failed: check configured asio affinity...
something was wrong in code related to " Renderer::GetChunkAlignedCache - chunk size is now aligned on endpoint buffer size : can switch to alignment optimized playback...."
Hard to reproduce the problem, but I have fixed something related to control flow with mono tracks in the attached patch.
I will check this. concerning the new Asio2, I have still some work to do on it. May be in a week or two.
another bug yet. Chunk/buffer alignment is an optimisation which avoid some copy, but make the code more complex :-(. I think it is fixed now.
Great ! Thank you for your help. I will release this new version soon. On the other hand, I am working on a new version which I think is better regarding sound quality. If you are interested in that or simply curious, I will be happy to have your feedback once it will be ready (I need to apply all the recent patches before), in order to decide whether it worth releasing it.
Yes, it is the trace I have added for hiccup debug, but it is normal to see it at the end of the playlist. It might have been a problem I you had it just at the beginning when changing the track. So this is not the cause of the hiccup. I have removed the trace now. I didn't notice although you mentioned it before, but hiccup might have something to do with volume control: there is traces in your log that I don't have myself when I change the track (see attached png) : change volumeRatio =... volumeRatio...
I cannot reproduce it, but I have a doubt on something, so I have added a debug trace in the attached asio2. May you try it and send me the log when you I have the hiccup ? About the cache size, yes I have changed the way it is calculated. The main cause of skipping was that the cache is a circular cache, and there was a defect in flow control between the foobar engine and asio2: asio2 use a threshold for this in order to avoid cache congestion. this threshold need to change dynamically to take into...
Ok. l think I understand better what is the matter with the skips (problem with chunk control flow). try the attached patch. I hope it will be better this time. I don't know for the hiccups. It is not related to volume ( the trace in the console log appears when you change the volume). I have something anyway: now I force silence on asio output before stopping/restarting the driver for the track change.
Finally I can reproduce the bug with skipping tracks, by using a cuesheet with a single wavpack file and a very short first track (1s), which gives me a smaller chunk size for the first track. It should be fixed in the attached version. I don't have hiccup when switching tracks without stopping. Do you have the same behaviour with other foobar outputs or with asio2/asio4all ? Asio2 doesn't work with fading. I develop it with the 1.3 SDK and fading did'nt exist at that time.
Whats wrong with my ASIO
I just realize that I don't use the same foobar version as you (no fading checkbox in foobar 1.3 for example). I need to check with 1.6.
my answers/questions about your items: 2. --> you mean only for the monkey audio codec or also for the others ? 3. --> when you have this message in the log, it means that the size of the sample cache factor configured in the advanced option is too low (e.g. 0 --> minimal sample factor). try with a larger value, e.g the maximum one: 16384 4. --> I'm not sure that I can do something against this. the small delay is due to the time necessary to change volume in the sample cache. may be for the click...
with attachment
Whats wrong with my ASIO
sorry for the regression. clicking bug is fixed. For the change in volume, it should be ok too, but it is hard to be sure as I hear only white noise with my asio driver. May be the skip problem is fixed too but I can't say because I still cannot reproduce the skip problem, even when trying with a cuesheet like the one below and starting different tracks. If skip are always there, may you look at the chunk size in the foobar log and see if it changes according when it skips or not ? i.e this line:...
Whats wrong with my ASIO
sorry for the regression. clicking bug is fixed. For the change in volume, it should be ok too, but it is hard to be sure as I hear only white noise with my asio driver. May be the skip problem is fixed too but I can't say because I still cannot reproduce the skip problem, even when trying with a cuesheet like the one below and starting different tracks. If skip are always there, may you look at the chunk size in the foobar log and see if it changes according when it skips or not ? i.e this line:...
I cannot reproduce it. Anyway, i have changed something that could be the source of the problem. let me know. By the way, I have also fixed a delay problem with pause ou volume change when using a big sample factor. may you check if changing foobar volume works, as I cannot do it myself for 24bits buffers ?
Thanks, These bugs should be fixed now in the attached patch, I think.
I am working on it. The crashes will be fixed and I can reproduce the bug with the 1 channel tracks. but I am a bit confused with tracks which play fast or skip. you are saying: "Monkey audio(.ape) and Wavpack still skipping or playing fast or both with foo_out_asio2. They dont with foo_out_asio. Wavpack skipping in ASIO2:ASIO4ALL>Realtek Monkey audio does not skip or play fast in ASIO2:ASIO4ALL>Realtek." Do you mean that with foo_out_asio2, Wavpack tracks skip every time, either with the realtek...
new patch attached. Crashes should be fixed now. I cannot test the fix for the loud volume, but it should be ok. I cannot reproduce your problem with wavpack tracks. May you test it again, and send me the log ? Thanks.
Here is the patch. I have also fixed a bug related to 24 bits buffer type processing. So give a try with default configuration before trying to force buffer type to 32 bits. In order to do this, go to the plugin advanced options and enable the "Force 32 bits asio buf type" flag.!
There is no way to force the channel type (e.g. ASIOSTInt32LSB) by means of the ASIO api. I can change the code to write 32 bits samples (instead of packed 24bits ones) in the output buffer. is it what you mean ? I doubt that it will work, but I can send you a patch like this (I will need to find a moment in the next days)
Sorry if I was not clear. I simply mean that even with ASIO4ALL, when using a very low buffer size (you can configure it in foobar advanced options for ASIO2, as ASIO4ALL permits to use different buffer sizes), sound may be crappy. Of course, with a decent buffer size (e.g 400 or more), ASOI4ALL sound is ok. My suggestion concerned the realtek Asio output: trying to increase, if possible, the realtek asio buffer size in the realtek asio control panel I have seen in one of your screenshot above (I...
crash seems to occur in rthdasio, not in foo_out_asio2: Crash location: Module: rthdasio Offset: 18F6Dh Symbol: "DllUnregisterServer" (+103CDh) Concerning your initial problem (white noise instead of music), is is possible to increase the asio buffer size in your Realtek Asio control panel ? I have tried with 172 samples for a 44.1Kz/16bits track with ASIO4ALL on top a Realtek driver (not asio) and music is there but with some noise .
I don't have the source code of the patch attached in ticket 6 (I don't use any VCS and keep only source for the published releases), so it is difficult to say. As far as I remember, the latest release also added some change on the sample cache management. May be there is a side effect here. The problem is that as I said in ticket 6, I cannot test by myself asio drivers supporting only ASIOSTInt24LSB buffer type.
may be something wrong because of the type of Asio Buffer returned by your driver: ASIOSTint24LSB (24 bits). Normally it is supported by asio2 plugin but I have not used it for a long time since this not my current config (my driver returns 32 bits buffers). May be you could try to change some parameter in your driver ? I don't know why your latencies are identical to your asio buffer size. these infos are returned by your asio driver. it looks strange. Normally the allowed buffer sizes returned...
What version of asio2 plugin do you use ? Did you try with the last one ? the reference to wasap2 in the log is a mispelling of the log message.
Hello Jens, I confirm that 03.wav is different. When inverting then mixing it with one of the 2 others, there is a residual signal, which seems to be the original track but attenuated. Best regards, Didier
Hello Jens, I have uploaded the patch and added a note in the download page. I don't want to make it a new "official" for fear of people thinking that this version comes with new fonctionnalities. Also, I have stopped publishing new versions because it is hard to maintain an "optimized" (or sort of) plugin which works for most types of hardware and playback configs. As I said above, I keep maintaining a simpler version which works for my own setup. Best regards, Didier
Hello Jens, yes , as far as I remember, there is a bug in the 1.1beta2 version plugin when the "preferred" buffer size supported by the asio Driver differs for different sample rates: the plugin uses the buffer size defined for the previous track sample rate (e.g 544 samples for 44,1kHz), instead of using the one defined for the current track sample rate (e.g. 2304 samples for 192Kz). The patch fixes this. Best regards, Didier
Hello Jens, Hello Zoref, first of all, thank you for your kind words. I confirm you that the last version released is the 1.1 Beta2 uploaded in december 2016. I have stopped releasing new versions of the plugin because I was too busy to maintain it. I still continue to make some little improvements for myself on a lighter and easier to maintain version (2 channels only, AVX2 support only,etc..) So the patch is only available as attached to this discussion Best regards Didier
OK. Crash still occurs in a fiio driver api call (setSampleRate). It's not the same as for the previous crashes because I have added additonnal checks related to the sample rate in the patch code. What looks strange for me is that some driver api seams to work correctly (canSampleRate) whereas other doesn't work (setSampleRate, getChannels ?, getBufferSize). I don't have any more idea for your problem, except that , perhaps, if the problem comes from that your driver doesn't implements well all the...
Hi, Don' bother with these warning logs. 'ResumePlaybackAsync failed' is just a wrong trace that I need to remove in a next version. "chunk size not aligned on endpoint buffer size .." trace means that the plugin cannot use some code optimisations related to sample cache alignment, but it works anyway. 'Renderer::Renderer sends incomplete block of samples ...' traces only matter when you have too many of them during playback. In such a case, you will have to increase the sample cache size. If you...
Hi, The crash occurs in the asio driver (Fiio USB DAC-E10) dll, while the plugin tries to get the available asio buffer sizes. Also, number of available input/ouput channel returned by the driver is strange (see log: init_asio_static_data - ASIOGetChannels (inputs:1970169159, outputs:1231384169)). nb of available channels should be around 4 or 8. May be there is something wrong with your driver installation ? I see that there is 3 versions: 1 for 64 bit, 1 for 32 bit, and a specific one for Win XP....
Hello, No, wasap2 doesn’t allow for native dsd. My current DAC supports PCM only so I cannot make any test with DSD playback. When I will change my DAC I will certainly take a look at this . Regards Didier
Hi, can you set the foobar asio2 trace level parameter to 1 and send me your foobar...
Hi Jacko, Yes I remember you ! Im am happy that you find asio2 to your taste. May...
Hi Wammes, be careful with the hydrogenaudio comments, which are older than 2 years....
Build date has not been updated because I have just done a incremental recompilation....
My apologies, I was using an older version (0.8.4) of the foo_input_sacd plugin....
Hello, In order to install foo_dsd_asio, you will have to run the ASIOProxyInstall-x.y.z.exe...
According to your log, you are playing a DSD file. Do you have configured the foo_dsd_asio...
Hello, I cannot dowload the log (error 404). May you upload it again ? thanks
Hi Wammes, -994 asio error code means, according to the Asio driver development kit...
Hi Sorin, concerning your 1st issue (sound corrupted while switching to a track with...
Hi Isidoro, Yes, you are right. When looking at the code, I found a bug related to...
Hi, I don't see any log related to the asio2 plugin (except the one related to driver...
Hello, May you send me your foobar console output log file or at least the one (.txt)...
Great ! I was starting to feel really embarrassed with this succession of bugs. For...
Hello, did you change something else in your hardware ? in your last log, expected...
still another problem related to the asio endpoint buffer size (preferred=1920 here)....
Hello, Thank you for your feedback. The good news is that, looking at your log, the...
Hello, I cannot reproduce the problem with my sound card or with ASIOForAll. Doest...
Hello, The Asio init return code in your log indicates that there is a problem while...
Yes I guess. I am not sure of what is the maximum chunk size that foobar inputs send...
Hi Artnow, about minimum sample cache size calculation : From my standpoint, it works...
Hi Artnow, Thank you again for your feedback wich really helps me to improve the...
Hi Artnow, I think that the problem with the MP3 file is related to the fact that...
Hi Artnow, There is different way to manage chunk size variation. When this is only...
I hope this attached patch will be better. The problem was not related to the track...
ok . thanks for the feedback. I can reproduce the problem using the same youtube...
Hi, the attachment is the asio plugin dll foo_out_asio2.dll. I have attached it to...
Hi, Normally the bug should be fixed with the attached patch. May you give it a try...
Hi Artnow, sorry for this. it seems to be related to a mistake in assembly code offset...
Hello Artnow, I have uploaded an new release of asio2 plugin. Sample cache management...
Hi Artnow, yes, you can keep this setting. You can also try with a larger sample...
Hello artnow, In your case, the cache size should not change wether you disable or...
Hello Christopher, Thank you for the dump. The crash occurs because the plugin is...
Hi Anton, Josep ! Thank you Josep for the link. Looking at another implementation...
Anton, I don't know if you can change the asio buffer format expected by your device....
Hello Anton, As promised, you will find attached a patch for the wasapi plugin. You...
Hello Anton, Thank you for your feedback. I will check your logs next week-end. Kind...
Hi Gus! Normally you might have to uncheck "Use Chunk Alignment Optimization" box...
Hello Inlemar, I am happy that you feel an improvement with Asio2. Your question...
Hello Gus, Don't worry, I am a french guy and my english is not very good neither....
Hi Jacko, happy that everything is working fine ! I will upload a new release including...