Code Monkey home page Code Monkey logo

sanear's People

Contributors

alexmarsev avatar kasper93 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sanear's Issues

Option to enable timestretching or set rate of audio endpoint

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.

Feature request: ASIO support

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

Creating new release

Can you create a new release tag if you feel it's ready for an another one?
Thanks

Checkbox to use or not use system channel layout

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.

Regarding dithering in sanear audio renderer

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

Add option to be able to duplicate stereo sources to back channels

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

HRESULT E_FAIL Error when configuring Sanear audio renderer in MPDN

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.

Unofficial Maintenance Release(s)...

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

  • Updated to the latest bugfixed code from clsid2's mpc-hc fork (again).
    • Note that due to changes in the code maintained by clsid2, 'Bitstreaming' is now always allowed regardless of 'Exclusive WASAPI' mode; thus i've also removed the tray/registry toggling/handling for it.
  • Updated Rubber Band Library to v2.0.1 release.
  • Updated SoundTouch to stable v2.3.1 release.
  • Updated fftw3 to official v3.3.10 release.
  • Updated SoXr to unofficial v0.1.3-1[feace70] (from github.com/ShiftMediaProject/soxr)
  • Little bit of code cleanup, speed optimization tweaks applied in compiler options, MSVC17/MSVC++17 & MSVC17/MSVC++20 binary build variants available.
    • The whole project can now be compiled using C/C++ 17 Language Standards & v143 Platform Toolset.
    • Old Microsoft BaseClasses code causes problems with C/C++19/20 compilation, however '/permissive' switch can be used on 'baseclasses', 'sanear' & 'sanear-dll' as a workaround for making experimental C++20 builds.

v0.3.1.2 (Unofficial) - 2021/07/10

  • Fixed a crash issue resulting from setting SoXr C++ Language Standard too high.
  • Updated to custom compile of fftw3 v3.3.10 code from github. (Enabled flags for sse2 & openmp in addition to the defaults.)
  • Changed default filenames from 'sanear.ax' & 'sanear64.ax' to 'Sanear32.ax' & 'Sanear64.ax'
  • Revised, cleaned up and added comments to my edits.

v0.3.1.1 (Unofficial) - 2021/06/06

  • To get fftw3 v3.3.9 working i also had to revert #Include and SIMD_HEADER paths back to the old format (of no paths specified).
  • Forgot to meantion that i updated SoundTouch to v2.3pre. Had no problems whatsoever with that one. :-)
  • Updated Rubber Band Library to v1.9.1. Almost didn't find the updated version, otherwise same as above; just copy and paste :-)
  • Updated Version String; forgot about that last time around.

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'.

    • Also tried the Commit from TheFireKahuna's Pull Request, but it caused crash on load with the updated code, so i had to revert it.

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...

Feature Request: Set Audio Delay Based on Refresh Rate

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.

Feature request: selectable buffer

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.