Hi,
Yesterday I was doing a port by request, and because the music was laid back, I decided to use a tempo twice as high as I normally would have. For example, instead of using t39, I used t78 or thereabout. Combined with $f4 $02, I feel this helped improve the overall feel of the port, because the gaps the nspc engine introduces between notes were reduced.
I did some more experimenting today and found that using tempos above t60 is generally not a good idea as the readme hints at. A few of my ports seemed to have just a touch of slowdown with a tempo in the high 50s. #halvetempo doesn't seem to do much for me if slowdown does occur. It might reduce slowdown but I don't think it really goes away. Also I've noticed that the faster your tempo goes, the more dramatic slowdown becomes, and the easier it is to make happen. Just adding a channel with a few notes on it, at insane tempos anyway, is enough to make slowdown happen throughout the entire track, even if some of the channels are silent. I even remember one time the tempo actually slowing down as I increased it in the txt.
I know absolutely nothing about assembly or the NSPC engine when it comes to that level of technicality, but I found this interesting. I know AMK1.1 is meant to optimize the engine and dramatically reduce slowdown, but I haven't tested it in these cases.
No doubt there are ways to work around this even at slower tempos. Using $f4 $01 is a common thing that works. I also managed to eliminate the gaps by spamming the $f4 $01 command, like so:
Which plays c d e, rekeying the note each time, but without a gap. This produces objectionable clicking, but for drums in particular I've found it useful, though I don't do it in anything I intend to be used in smw as it will really inflate insert size for little real benefit.
So what I'm basically wondering is, what is it that creates the gaps between notes? It sounds like a gain fade to my ears that takes effect on a note to ramp it down a tick or two before the next note. But, I really don't know. I've heard this sort of ramping between notes with many other games, and presumably many other engines too. A few don't, though, and in those cases you either get really clicky sound, or rarely, it actually sounds good. Software Creations games seem to use a very different engine which lends well to nearly gapless notes. Winter Gold FX also sounds like its notes have smoother transitions. Maybe my ears and brain are playing tricks on me, but I don't think AMK could easily replicate that. I wonder how they do it and am curious about what would at least hypothetically be done to AMK if tomorrow it was to have its gaps between notes reduced.
Make more of less, that way you won't make less of more!
Yesterday I was doing a port by request, and because the music was laid back, I decided to use a tempo twice as high as I normally would have. For example, instead of using t39, I used t78 or thereabout. Combined with $f4 $02, I feel this helped improve the overall feel of the port, because the gaps the nspc engine introduces between notes were reduced.
I did some more experimenting today and found that using tempos above t60 is generally not a good idea as the readme hints at. A few of my ports seemed to have just a touch of slowdown with a tempo in the high 50s. #halvetempo doesn't seem to do much for me if slowdown does occur. It might reduce slowdown but I don't think it really goes away. Also I've noticed that the faster your tempo goes, the more dramatic slowdown becomes, and the easier it is to make happen. Just adding a channel with a few notes on it, at insane tempos anyway, is enough to make slowdown happen throughout the entire track, even if some of the channels are silent. I even remember one time the tempo actually slowing down as I increased it in the txt.
I know absolutely nothing about assembly or the NSPC engine when it comes to that level of technicality, but I found this interesting. I know AMK1.1 is meant to optimize the engine and dramatically reduce slowdown, but I haven't tested it in these cases.
No doubt there are ways to work around this even at slower tempos. Using $f4 $01 is a common thing that works. I also managed to eliminate the gaps by spamming the $f4 $01 command, like so:
Code
$f4 $01 c $f4 $01 $f4 $01 d $f4 $01 $f4 $01 e $f4 $01
Which plays c d e, rekeying the note each time, but without a gap. This produces objectionable clicking, but for drums in particular I've found it useful, though I don't do it in anything I intend to be used in smw as it will really inflate insert size for little real benefit.
So what I'm basically wondering is, what is it that creates the gaps between notes? It sounds like a gain fade to my ears that takes effect on a note to ramp it down a tick or two before the next note. But, I really don't know. I've heard this sort of ramping between notes with many other games, and presumably many other engines too. A few don't, though, and in those cases you either get really clicky sound, or rarely, it actually sounds good. Software Creations games seem to use a very different engine which lends well to nearly gapless notes. Winter Gold FX also sounds like its notes have smoother transitions. Maybe my ears and brain are playing tricks on me, but I don't think AMK could easily replicate that. I wonder how they do it and am curious about what would at least hypothetically be done to AMK if tomorrow it was to have its gaps between notes reduced.
Make more of less, that way you won't make less of more!