libxm icon indicating copy to clipboard operation
libxm copied to clipboard

Playback inaccuracies

Open 9001 opened this issue 9 years ago • 4 comments

Gave it a spin with some tricky songs, and unfortunately I noticed some bugs that also appear in several other player libs. Note that it might be the songs that are at fault, with certain libs (xmplay/bassmod, openmpt/modplug, milkytracker/milkyplay) taking steps to cover it up. I don't know enough about the file format to judge. . binary_world.xm goes bad 39sec in, and OpenMPT has slight issues too http://modarchive.org/module.php?138953 http://clyp.it/hhp3pfex . ~~around 51sec, the lead echo in colond.xm is played at a slightly different pitch than the main lead, resulting in phasing~~ http://modarchive.org/module.php?174415 http://clyp.it/gfuaa1do . ~~as jt_strng.xm hits the higher notes at 35sec, they go off-pitch.~~ libxm gets a fair bit of static as well but I suppose that's intended http://modarchive.org/module.php?46508 http://clyp.it/nh15rq5h . ~~synthetic_attack.xm plays correctly but segfaults at the end:~~ (fixed in ac0bbdb, the module file is unsane. Opening then resaving the module in MilkyTracker fixes it.) http://modarchive.org/module.php?142503 #0 xm_row (ctx=0x7f8d92832010, output=, numsamples=128) at /libxm-master/src/play.c:847 #1 xm_tick (ctx=0x7f8d92832010, output=, numsamples=128) at /libxm-master/src/play.c:948 #2 xm_sample (ctx=0x7f8d92832010, output=, numsamples=128) at /libxm-master/src/play.c:1293 #3 xm_generate_samples (ctx=0x7f8d92832010, output=, numsamples=128) at /libxm-master/src/play.c:1340

. ~~zalza-tequila_groove.xm throws assertion failures,~~ (fixed in f24bcab) and some static at the 49sec and 58sec marks: http://modarchive.org/module.php?66518 xm_sample(): final sample value is 136597905678638606450688.000000, this is a bug xm_sample(): final sample value is 296616456960244306673664.000000, this is a bug xm_sample(): final sample value is 144714319948683478564864.000000, this is a bug . All tests done with master as of writing. Also, what are those (*) in the effects table?

9001 avatar Dec 10 '14 01:12 9001

Thanks for submitting these problematic modules. I use Milkytracker as a reference so if these sound different there are definitely bugs in libxm.

The * in the effects table mean they remember the last nonzero parameter. It came from the original table but I should remove it in the readme.

Artefact2 avatar Dec 10 '14 07:12 Artefact2

~~Found another one: aurora_dawn.xm. The tone portamento in the intro is wrong.~~ (fixed in 467d31262cbf09b27a464a56650d06d719e35750)

Artefact2 avatar Dec 19 '14 14:12 Artefact2

jt_strng.xm playback has been fixed as of 013d8140a8374684eca6be064754d769a8bcaf87. Thanks @rasky

Artefact2 avatar Apr 20 '21 12:04 Artefact2

colond.xm phasing has been fixed as of 21144fcc636b7a39dbef429c10637d4fb12894e4. Thanks @rasky again!

Artefact2 avatar Apr 20 '21 17:04 Artefact2