Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: My components (Read 35282 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: My components

Reply #75
I can ask Peter about that, but basically, prior to some semi-recent changes to my component, it would "cheat" to ensure it gained total priority over all AAC formats if installed. Some users asked this to be reduced to its current state, because they care about their > ±1.0 peaks on AAC files being properly represented by a floating point decoder, which this component is not.

Re: My components

Reply #76
So. it's not possible to decode only HE-AAC 960 by this component but leave other LC and HE flavors to the built-in decoder?

Re: My components

Reply #77
It may be possible, if the internal component actively rejects such streams and hands them off to me. And if I actively accept HE-AAC only if it's 960.

I still have to ask Peter about it, because his component doesn't reject such files, so I'd only get them if my component happened to accept HE-AAC and by chance was a higher priority due to the load order.

Re: My components

Reply #78
It is done.

 

Re: My components

Reply #79
Thanks. Will it work as expected with next fb2k update?

Re: My components

Reply #80
What exactly do you mean? It works here. I guess it requires an update to the player for the player to not decode these formats itself.

Re: My components

Reply #81
Indeed, it works with 1.6.1 beta.

Re: My components

Reply #82
I'll be introducing a new feature for 1.6.1 beta and newer as well. Basically, an input component attribute hook that only just got implemented into regular use by 1.6.1 and up, it will allow any input which supports variable sample rates on its own, to automatically configure itself during normal playback to match the settings of the output stream, so that outputs don't need to resample anything you give them.

So, for instance, all of my synthesizer and emulator components which support variable output rate, can do their own resampling or mixing at a different rate, instead of requiring the user to configure a rate, which may or may not be resampled anyway.

Re: My components

Reply #83
Any plans to update foo_midi? I see some BASS libraries and libADLMIDI got updated. Thanks.

Re: My components

Reply #84
It has been updated, and apparently thanks to Visual Studio, it no longer works under Wine.

E: It probably works under Wine now with the latest update. Woohoo for stupidcoding that used to work, but that I forgot to fix.

Re: My components

Reply #85
Hi kode, regarding your usf decoder component. The resampler used with the "Resample to: " option isn't transparent. It makes the audio sound muffled? I don't know how to explain it. I've included a abx log with the usf converted straight to flac with your option ticked off and on set to 44100hz.

Code: [Select]
foo_abx 2.0.6d report
foobar2000 v1.6.2
2020-10-22 16:25:22

File A: CarrInst.flac
SHA1: ca233a9aee993a86391ce7e4f9817274c82bf6a8
File B: CarrInstResampled.flac
SHA1: becda9f29c09b446eb0a3c9ac92b42d6ac66ee29

Output:
Default : Primary Sound Driver
Crossfading: NO

16:25:22 : Test started.
16:25:58 : 01/01
16:26:15 : 02/02
16:26:25 : 03/03
16:26:35 : 04/04
16:26:49 : 05/05
16:26:59 : 06/06
16:27:11 : 07/07
16:27:22 : 08/08
16:27:33 : 09/09
16:27:44 : 10/10
16:27:56 : 11/11
16:28:06 : 12/12
16:28:18 : 13/13
16:28:31 : 14/14
16:28:41 : 15/15
16:28:57 : 16/16
16:28:57 : Test finished.

 ----------
Total: 16/16
p-value: 0 (0%)

 -- signature --
6248b49e980eeb792e0de4acf648d5e710e1f9f9

Re: My components

Reply #86
It isn't meant to be transparent. It's literally the same resampler that the USF sets themselves use to resample when mixing. If you want transparent resampling, turn off the built-in one and let the player resample your audio for you. Just don't expect miracles when upsampling 22KHz or lower audio to whatever rate your sound hardware expects. Hell, I'd have expected a proper sinc resampler to muffle the audio even more than this cubic resampler does.

Re: My components

Reply #87
Thank you very much for the explanation.

Edit: Is it proper to use sinc resamplers when the frequency of files are that low? What did you mean by not to expect much from resampling lower input sample rates?

Re: My components

Reply #88
Sinc resamplers will upsample low sample rate files to higher sample rate files, without actually adding any high frequency content. They should sound identical.

The current resampler, a simple fixed table cubic resampler, will actually add higher frequency content in the form of aliasing. It should be possible to ABX that against a sinc resampler.

I was suggesting that a "high quality" resampler would actually produce transparent results, but it should actually sound more muffled than a cubic filter with the same sample ratio. Anything which sounds less muffled is adding high frequency content that did not exist in the source audio.

Re: My components

Reply #89
I was suggesting that a "high quality" resampler would actually produce transparent results, but it should actually sound more muffled than a cubic filter with the same sample ratio. Anything which sounds less muffled is adding high frequency content that did not exist in the source audio.
Yeah that's odd, using the PPHS resampler shows in a spectrogram that it doesnt add any high frequency content but it sounds less muffled than the cubic resampler, which as you said adds aliasing.

Also as a side note the dbpa/ssrc resampler doesnt actually resample the audio in the foobar converter when it's added as a dsp. Don't know if that's a bug or not.

Re: My components

Reply #90
WASAPI Shared outputs already resample using your preferred resampler to match the output's requirements. Either the DSP chain is ignoring a resampler on the end of the chain in this case, as it is indeed redundant, or you can't hear the difference.

Re: My components

Reply #91
Yeah I know it's redundant  :D, I was just wondering that's all. Thanks again for the explanations.

Re: My components

Reply #92
I just downloaded some USF archives, disabled resampling in foo_input_usf settings and they are decoded at strange sample rates such as 32006 Hz or 21998 Hz.

It seems that SSRC has problems with such samplerates. It can convert from 32000 Hz or 22000 Hz to 44100 Hz, but not from 32006 or 21998.

Re: My components

Reply #93
I did notice that input files at 22018hz whether they were usf or flac didn't get touched by SSRC when transcoding as the resulting file was always 22018hz. 44100 inputs had the end files resampled properly at whatever I chose for example 22050hz or 48000hz.

Edit: Just tested a 22050hz file to upsample at 44100hz and it works as expected.

Re: My components

Reply #94
Yeah, USF runs at integer factors of the system main clock. Therefore it needs a resampler that can handle weird sample rates. Yes, rounding the rates to different rates first will result in tempo/clock drift.

Re: My components

Reply #95
Hello, kode54. I've run into a problem, and it could be fixed with an added feature to your fork of OpenMPT.
Several tracks in the Deus Ex BGM (Unreal Engine 1 UMX tracks) have silence at the beginning, and up to 9 seconds of it each! I can fix the problem with Peter's built-in Skip Silence plugin, but when I add that to my DSP chain it affects other tracks in my library, which is undesirable. I've made separate DSP presets for Deus Ex specifically, but it's a hassle to change between them and I can also be forgetful about changing them because I have memory problems.

If it's not too much trouble, would you be able to please add skip silence functionality to your fork of OpenMPT? Or even a checkbox to remove leading silence? It would be an enormous QoL improvement for me. I already asked in the Wishlist thread if Peter could add playlist-specific functionality to his Skip Silence plugin, which would be ideal, but I don't think that's on his radar at the moment.

Thank you for your time.
Think millionaire, but with cannons.

Re: My components

Reply #96
Which files? I am not experiencing any such issue.

Edit: Looks like some subsongs do it. Report them to libOpenMPT.

Re: My components

Reply #97
Which files? I am not experiencing any such issue.

Edit: Looks like some subsongs do it. Report them to libOpenMPT.
Oh, is this a bug in the decoding then? I just assumed it was intentional and had something to do with the way the game fades from one track to another. The silence seems to be there for the "combat" subsongs (mainly or entirely).

*EDIT*
I just checked, and the silence is only at the beginning of combat subsongs (though there is also long silence at the end of the various ending songs that would benefit from being skipped.) I believe it is intentional and correct decoding of the files.
Think millionaire, but with cannons.

Re: My components

Reply #98
You can also delete the subsongs you don't want to hear from the playlist, but there's no way to permanently toggle those ones off from being listed when adding the base files to the playlist.

Edit: You may wish to keep it anyway, in some cases. For instance, the Paris Cathedral theme also contains the main Paris levels theme.

Re: My components

Reply #99
I prefer to keep every song and subsong on the playlist. I organized and tagged them (external tags) based on chronological order. I don't see removing a song I want to hear because it has long silence as a solution.  :(
Think millionaire, but with cannons.