View Issue Details

IDProjectCategoryView StatusLast Update
0001479OpenMPTFeature Requestpublic2021-08-05 18:15
Reporterwoot000 Assigned To 
Status newResolutionopen 
Platformx64OSWindowsOS Version10
Product VersionOpenMPT 1.30.00.* (old testing) 
Summary0001479: Add option to force enable Amiga resampler for non-Amiga modules

I think the Amiga resampler would sound nice on certain modules, especially for older PC modules that use samples with a similar level of fidelity as the Amiga made MODs use. 8-channel MODs and S3Ms come to mind as modules that could stand to benefit greatly from the Amiga resampler being enabled.

I understand that it may not be ideal to have this option enabled by default, so perhaps it could be implemented as a value under the advanced settings so that new users don't accidentally enable it?

TagsNo tags attached.
Has the bug occurred in previous versions?
Tested code revision (in case you know it)


Saga Musix

Saga Musix

2021-08-05 07:08

administrator   ~0004822

The problem is that the Amiga resampler is very specifically tuned towards the constraints of the Amiga; if these constraints (e.g. note pitch range and sample format) are violated by the module, it may not give the desired results. You're better off (and more accurate) using "No interpolation" for those PC modules.



2021-08-05 08:29

reporter   ~0004823

I'm not quite sure what you mean when you say that the Amiga resampler could give undesired results, is it not possible for it to produce a proper waveform under certain circumstances or would it just produce a bad waveform under those circumstances? Because if it is the latter, then I don't see why there shouldn't be a setting to enable the Amiga resampler while ignoring its existing restrictions. I don't think enabling the Amiga resampler on non-Amiga modules would make the program unstable, but I can't say for certain whether it actually would or not, which is why I requested such an option be implemented as an advanced setting.

Saga Musix

Saga Musix

2021-08-05 18:15

administrator   ~0004824

The Amiga resampler cannot handle stereo samples, and 16-bit samples are also not handled with full precision. Most people would probably not notice the latter, but the former is a real issue (S3M files can contain stereo samples). Someone would write a module with stereo samples, not realize that they don't play correctly and then the module would sound different in just about any S3M player (or even in OpenMPT in a hypothetical later version that adds steroe support to the Amiga resampler). With S3M files (PC MODs also get rather close to the limit) it's also possible to go way beyond the maximum frequency for which the Amiga resampler is guaranteed to be working correctly and aliasing-free (which is the whole point of using a BLEP resampler; if you don't care about aliasing, you can use the No Interpolation option as said before).
Last but not least the Amiga resampler can be really expensive - with a high number of simultaneously playing channels, it absolutely can make the program unusable because the mixer thread cannot keep up (just verified with around 70 simultaneous channels on a powerful Ryzen 7).

All of that combined makes me rather uncomfortable offering this option for modules outside of the Amiga parameters. One day there might be another BLEP-based resampler that is not geared towards the Amiga limits (and also not emulating the various filters on the Amiga output etc.) - that would be a much more viable solution.

Issue History

Date Modified Username Field Change
2021-08-05 03:41 woot000 New Issue
2021-08-05 07:08 Saga Musix Note Added: 0004822
2021-08-05 08:29 woot000 Note Added: 0004823
2021-08-05 18:15 Saga Musix Note Added: 0004824