Opened 16 years ago

Closed 16 years ago

Last modified 5 years ago

#8799 closed patch

Improved sound playback for Amiga SCUMM V2/V3 games

Reported by: SF/quietust Owned by: Kirben
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game:

Description

The current sound code for Amiga SCUMM V2/V3 games (i.e. Maniac Mansion, Zak McKracken, Indiana Jones and the Last Crusade, and Loom) makes use of the RateConverter class to handle playing the various audio samples at custom sample rates. Unfortunately, said class is not capable of changing input frequency on the fly, so a hackish workaround had been used which involved deleting/recreating the rateconverter on each frequency switch (which caused significant degradation of sound quality, due to the 512-sample buffer being flushed every time).

This patch implements an unbuffered linear resampler for Amiga SCUMM V2/V3 audio, capable of dynamic frequency switching. Pitch-bending sound effects in Maniac Mansion and Zak McKracken sound much better as a result, and music in all 4 games seems to pop a bit less than it did before.

It should also use a bit less memory, though probably a bit more CPU time.

Ticket imported from: #1891606. Ticket imported from: patches/904.

Attachments (1)

amiaudio.dif (4.1 KB ) - added by SF/quietust 16 years ago.
Amiga audio patch

Download all attachments as: .zip

Change History (5)

by SF/quietust, 16 years ago

Attachment: amiaudio.dif added

Amiga audio patch

comment:1 by Kirben, 16 years ago

Thanks, I added the patch to ScummVM SVN.

comment:2 by Kirben, 16 years ago

Owner: set to Kirben
Status: newclosed

comment:3 by fingolfin, 16 years ago

Note that the patch did/does not comply to our code formatting conventions. So somebody has to clean it up now in VN.

comment:4 by digitall, 5 years ago

Component: Engine: SCUMM
Note: See TracTickets for help on using tickets.