libxm
libxm copied to clipboard
Playback inaccuracies
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=
. ~~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?
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.
~~Found another one: aurora_dawn.xm. The tone portamento in the intro is wrong.~~ (fixed in 467d31262cbf09b27a464a56650d06d719e35750)
jt_strng.xm playback has been fixed as of 013d8140a8374684eca6be064754d769a8bcaf87. Thanks @rasky
colond.xm phasing has been fixed as of 21144fcc636b7a39dbef429c10637d4fb12894e4. Thanks @rasky again!