Popular Post yamamoto2002 Posted September 21, 2020 Popular Post Share Posted September 21, 2020 Thank you for using PlayPcmWin. On 9/20/2020 at 12:05 PM, manueljenkin said: Update: also I can hear noise band whenever I have content around 8khz when using PlayPCMwin, I think this also affects the low end a little, especially if the hit comes in around the 8khz band together with the bass (guessing this must be USB frame noise 1/125us). This did not happen with Wtfplay with the same system and wtfplay was all round noticeably better, so this is unlikely to be a complete fault of the dac, and has happened with all DACs I own. Wonder what is happening here! Is PlayPCMwin likely playing around with the usb output power profile too? 8kHz noise is High Speed USB packet noise. I don't know exact mechanism to cause this but PlayPcmWin sets computer power state to high-performance-ish when Render thread task type setting is "Pro Audio" (this causes to call Multimedia Class Scheduler Service API). "Timer Resolution = 1ms" setting also may cause power usage increase (but it may cause no effect when other app sets timer resolution. Need to observe the change of actual timer resolution value). These settings can be changed on Detailed settings window. On 9/20/2020 at 6:22 PM, manueljenkin said: My friend got this error when trying to use with his micro iusb 3.0. What I understand so far from the error is that it is looking to see if the address of the dac/slave buffer/memory (889000A, assigned by windows when plugging in) is free for taking in transactions, but since the iusb seems to be holding itself as the master for it, it doesn't seem to be free. Or is 889000A the address of iusb and it is refusing to slave to the PC and free itself? 8889000A is HRESULT error code returned from IAudioClient::Initialize and it means the audio device is in use, may be other music app uses the device with ASIO or WASAPI exclusive. Or the device is set to default playback device of WASAPI shared mode and the endpoint is set to not allow exclusive access. Open control panel > sound > playback devices tab > your device property > Advanced tab Check Allow applications to take exclusive control of this device Check Give exclusive mode applications priority to fix. Surface Book 2015 runs 64-bit operating system and memory address should be 16 digit hexadecimal number, not 8 digit. 18 hours ago, manueljenkin said: Another doubt I have is regarding the fetch of data from RAM. Does the 64bit version use a fetch of 64bits or more data at once (AVX, or SSE) or does it do a 32 bit or less fetch. I'm guessing the former would fetch sample for both channels in one shot (even multiple samples if more than 64 bits), while for 32 bit it would have to do a channel by channel fetch. I cannot ascertain this to any parameters yet, but curious to know if the correlation I'm thinking holds good with respect to stereo separation. PlayPcmWin uses CopyMemory and it is reasonably fast, I don't know implementation details of CopyMemory. I think memory to memory copy method does not affect to channel separation performance. On 9/20/2020 at 6:22 PM, manueljenkin said: Also if I were to try to make a music playback software either in Linux or windows, using full buffer to ram, are there any references you would recommend me? I am thinking of using ALSA in Linux to make one for my Allo sparky, mostly a headless one. Need guidance in what to look for when optimizing the device for lowest noise and better timing on the usb output line. Anything relating to cpu cache processes/coding to reduce even ram access? Linux is more interesting, where all the parameters can be controllable and there is no black box. IIRC USB packet is sent by hardware-defined timings, software sets the data to a send queue and USB host controller will pick it up on the next send timing, and software cannot control the timing. On this article there is an experiment of USB packet noise difference with several different configuration http://archimago.blogspot.com/2015/05/measurements-usb-hubs-and-8khz-phy.html blue2 and manueljenkin 1 1 Sunday programmer since 1985 Developer of PlayPcmWin Link to comment
yamamoto2002 Posted January 1, 2021 Share Posted January 1, 2021 4 hours ago, One and a half said: @yamamoto2002, this is a stop message that doesn't proceed further. The installer starts, then the message. I have full rights to the file, does the installer? How to fix? I've received several bug report about this installer error message, root cause is still unknown. I cannot reproduce the problem on my desk. It seems Portable Zip version of PlayPcmWin works flawlessly on the computer where installer version of PlayPcmWin fails. Sunday programmer since 1985 Developer of PlayPcmWin Link to comment
yamamoto2002 Posted January 1, 2021 Share Posted January 1, 2021 On 12/31/2020 at 6:26 PM, manueljenkin said: @yamamoto2002 setting the playpcmwin as default player for music, whenever I double click a song it opens a new playpcmwin window (or task) instead of overriding the existing one. Is there any way to change this behavior? Thank you for your suggestion, I'll add this functionality on later versions. When multiple PlayPcmWin instance plays music simultaneously with WASAPI shared mode, sound is mixed and I think it is great 😁 Sunday programmer since 1985 Developer of PlayPcmWin Link to comment
yamamoto2002 Posted January 7, 2022 Share Posted January 7, 2022 On 1/6/2022 at 4:36 AM, AudioDoctor said: I am ridiculously late to this party, but are you saying here that you think HQPlayer is zero padding rather than upsampling? There is a pretty big difference between those two, and the developer may take issue with that assertion. No, the text is difficult to read but it is about the method of bit-depth expansion of sample value (such as 16bit to 24bit or 16bit to 32bit) and not about sample point interpolation of temporal direction. I'm not sure about further details. BUT Generally speaking, zero padding is often used in the first stage of software upsampling, before performing low pass filtering. Zero-order hold is also used but its frequency response is not flat and it needs extra HF roll-off compensation zero-padding (periodic impulse train) upsampling → low pass filtering or zero-order hold upsampling → low pass filtering → high frequency roll-off compensation Sunday programmer since 1985 Developer of PlayPcmWin Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now