I took a small look at your repo and noticed a possible issue: while Gravis Ultrasound did linear interpolation of samples [1], on Amiga all sample replay was strictly non-interpolated [2] ... essentially on each display scanline the hardware would check the period down-counter and load the next sample if zero was reached.
cf:
[1] http://www.gravisultrasound.com/files/documentation/GUSFAQ.t...
[2] http://bax.comlab.uni-rostock.de/dl/Paula_SystemTheoretic.pd...