Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Looking for pointers on portamento

2 views
Skip to first unread message

commodorejohn

unread,
Mar 12, 2012, 4:38:20 PM3/12/12
to
I'm working on building a music player for the AY-3-8910 PSG (as seen
on the MSX.) The chip itself is well-documented, so most of the
project isn't difficult, but I'm running up against one significant
issue: I'd like to include a portamento effect (ideally compatible
with the Protracker MOD implementation,) but I'm not entirely clear on
how to do this.

I've seen references to logarithmic pitch-bending in various chiptune
literature, so I'm assuming it's *not* a simple linear change in
frequency, but I'm not sure if there's an accepted/good way to do
that. The solution that springs to mind is something like (for a
downward pitch-bend):
freq_new = freq_old - (freq_old >> (16 - portamento_amount))
or somesuch. (Where 16 would be the maximum value for amount.)

(Shifts seem like possibly a bit of a drastic way to do it, but
definitely cheaper on a Z80 than floating-point math. Anyway, the
point isn't so much the practical details of the implementation as
whether that's even the right approach to begin with.)

There seems to be surprisingly little written on the subject out
there; I've been figuring that I might simply have to go digging
through the source for someone else's replay routine, but I'd rather
avoid that if possible. Does anybody have advice to offer here? Thanks
in advance.
0 new messages