alexmarsev / sanear Goto Github PK
View Code? Open in Web Editor NEWRobust DirectShow audio renderer. Used in MPC-HC.
License: GNU Lesser General Public License v2.1
Robust DirectShow audio renderer. Used in MPC-HC.
License: GNU Lesser General Public License v2.1
IIRC MPC Audio Renderer doesn't do timestretching so it asks the audio endpoint to output at a specific rate. If the hardware doesn't support it, you won't get any output.
This may or may not be better depending on the timestretching DSP used vs the audio hardware implementation (the audio hardware may very well just change its internal clock) so I'd prefer if Sanear gives you the option (accessible via COM interface) to select timestretching or directly setting the rate on the audio endpoint.
Hi
I am happy using sanear in MPC-HC, and waiting for some of the missing features to come. Could you please add support for ASIO output in sanear?
Thanks and regards
aproce
Performance during menu navigation in some DVDs is slow.
I will upload an example so that this can be tested.
My upload speed is very limited so this may take a while.
Can you create a new release tag if you feel it's ready for an another one?
Thanks
Create a Settings tab in the filter properties and allow for the tray icon to be disabled here also.
In MPC-BE and Reclock there is a checkbox to use or not the system channel layout. Using Intel Display Audio HDMI to my AV receiver shows up with 8 Max Supported channels however the system only maps left and right channels.
I need to bypass the system channel layout in order to get 8 channel PCM over HDMI using the Internal Audio Renderer in Exclusive mode. Bitstreaming works just fine and outputs on all 8 channels, however PCM only outputs on 2 channels.
8 channel PCM output works correctly with Reclock or MPC-BE but I'd rather stick to MPC-HC if I can.
Hi, I wanted to know whether you will be providing support for audio dithering when the output bit depth is 24 bit, in the new audio renderer. It would be really great if you could implement 2 LSB peak to peak TPDF (Triangular Probability Density Function) dithering when the bit depth is reduced from floating point audio to 24 bit or lower. Alternatively, you can also allow usage of VST plugins for dithering.
Thanks, aproce
The music mode of my AVR converts 2ch sources to 7.1 and I hate the center channel sounds. It can be also useful for analogue output with 4/6 speakers when the sound driver doesn't support mirroring.
Currently if I select Quadrophone in the speaker setup (Windows) only the front 2 sounds -> that means windows won't upmix stereo signal to the selected speaker config.
Option 1 would be asking wasapi to do so (using the system default speaker config).
But Option 2 would be more flexible: the plugin could determine the max speaker config and automatically select the right config or allow to set smaller than or equal amount (if it's achievable).
I think it doesn't concern downmixing.
This option can also exist with Exclusive mode as well not just shared one.
That's the only thing that I'm missing.
Thanks
ATM it's simply called sanear in the filter list.
Capital letters and descriptions are nice.
A. Surrender exclusive-mode device after inactivity only works with audio that is decodeable (e.g. mp3, aac) but not with bitstreamable audio (e.g. ac3, dts):
Can it also be done? (MPC-BE team recently implemented these as well.)
B. It would be also nice to have mute functionality with bitstreamable audio (like in MPC-BE):
Thanks
When I play the sound file@8bit 22050Hz (e.g. "The Microsoft Sound"), Sanear renders strange sound.
Not sure where this issue lies exactly. Try configuring Sanear through the filters menu.
Quoting Zach from MPDN.
".NET is very strict when it comes to COM object conformance. For example, XySubFilter had a bug that prevented it to be used in .NET because it forgot to tell .NET it is an XySubFilter when it's queried. A common error that gets unnoticed in unmanaged code where you can cast it to anything and it'll never fail but .NET wants to make sure you can only cast it to something that is valid, for various reasons such as making sure you never have invalid access and above all security."
GraphStudio also doesn't display a status tab, so looks to be an issue with Sanear.
For the past few days i've worked on some more up to date builds of Sanear, as nothing i have found beats it's low latencies when used with motion interpolation and audio-stretching...
Everything appears to be working correctly, but i can't be sure yet; so if anyone wants to test it out and reports back any regressions, i can have a look. At least if it's something my changes caused, i should be able to figure out how to reverse it.
I'm not sure if or how often i will be making updates to this, but let me know if i forgot about anything.
I'm not quite sure how to handle the licensing of Sanear's various dependencies as github basically only lists one license per project, plus i've been having trouble with compiling things via github's linking mechanism, so i'll just put the full source up on another site instead of updating to my own fork(s). So here:
Changelog:
v0.3.1.3 (Unofficial) - 2022/01/24
v0.3.1.2 (Unofficial) - 2021/07/10
v0.3.1.1 (Unofficial) - 2021/06/06
v0.3.1.0 (Unofficial) - 2021/06/04
Updated to latest bugfixed code from clsid2's mpc-hc fork.
Upgraded project files to newest Visual Studio, Toolset & newer C/C++ Standards.
Fixed typos in 'OuterFilter.cpp' & 'TrayWindow.cpp' from 'Ouput' -> 'Output' to get rid of some compile errors.
Commented out some seemingly outdated workarounds in rubberband's 'float_cast.h' to avoid errors.
Got SoXr v1.3 to compile by doing various small edits to 'soxr.vcxproj'.
Sanear Audio Renderer Unofficial Updated Builds:
https://www.mediafire.com/file/c1v1z6c3v34f2hk/sanear-0.3.1-bin.zip/file
https://www.mediafire.com/file/9xni1omv8sp8ue1/sanear-0.3.1.1-bin.zip/file
https://www.mediafire.com/file/yzu9g5117htx6kb/sanear-0.3.1.2-bin.zip/file
https://www.mediafire.com/file/ak7byffbpjs5k5o/sanear-0.3.1.3-bin-Opt_VC%252B%252B17.zip/file
https://www.mediafire.com/file/p8ppth5mxdlluc6/sanear-0.3.1.3-debug-Opt_VC%252B%252B17.7z/file
Sanear Audio Renderer Unofficial Updated Debug Build:
https://www.mediafire.com/file/rdtd4bat7zk1t5v/sanear-0.3.1-debug.7z/file
https://www.mediafire.com/file/kad7f6a7ffpispe/sanear-0.3.1.1-debug.7z/file
https://www.mediafire.com/file/gmrrw9q1us6hwko/sanear-0.3.1.2-debug.7z/file
https://www.mediafire.com/file/p8ppth5mxdlluc6/sanear-0.3.1.3-debug-Opt_VC%252B%252B17.7z/file
https://www.mediafire.com/file/cau6plgnynymrp0/sanear-0.3.1.3-debug-Opt_VC%252B%252B20.7z/file
Sanear Audio Renderer Unofficial Updated Source Code:
https://www.mediafire.com/file/kmc2jgm0phrjjrm/sanear-0.3.1-src.7z/file
https://www.mediafire.com/file/p4u3m6tlwecnhal/sanear-0.3.1.1-src.7z/file
https://www.mediafire.com/file/1kkjhsdfmf5stxu/sanear-0.3.1.2-src.7z/file
https://www.mediafire.com/file/l8mkq6idyd46dfh/sanear-0.3.1.3-src-Opt_VC%252B%252B17.7z/file
https://www.mediafire.com/file/ramoz1otxbop3qm/sanear-0.3.1.3-src-Opt_VC%252B%252B20.7z/file
For the time being, optimized C++17 builds are recommended, but i've included experimental C++20 builds as well and have really no idea which are better.
I probably won't be making any more builds for quite some time, but feel free to make requests if/when something needs updating...
It would be very nice to have the ability to set rules for audio delay based on the display refresh rate. Many displays apply additional processing at 24hz which can cause the audio sync to be out by a considerable amount, 120ms in my case, whereas the audio sync does not exist when the display operates at 60hz. Some players have included the ability to do this but it would be nice to be able to achieve this independent of the player and have the render take care of the audio delay.
Design and implement.
I have this USB DAC...
http://www.hirestech.com/product/?pid=107
A common problem with USB DACs is pops/clicks in the audio, and it's easily solvable by changing the buffer size. A lot of people run into this problem because this isn't an optimized setting until you change it yourself. Jriver defaults at 100 ms. Most USB DACs need 50 ms; often 25 ms.
Some examples of lowering the buffer to fix pops/clicks...
https://yabb.jriver.com/interact/index.php?topic=72880.0
http://forums.stevehoffman.tv/threads/got-the-new-hrt-microstreamer.308955/
https://yabb.jriver.com/interact/ind...8794#msg378794
http://www.audiocircle.com/index.php?topic=119290.0
https://hydrogenaud.io/index.php/topic,92299.0.html
I'm running the latest stable MPC-HC on Windows 7 64-bit. This only happens to me when I try to use exclusive mode. Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.