AGI Sound

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
User avatar
MusicallyInspired
Posts: 1062
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

AGI Sound

Post by MusicallyInspired »

The AGI integration via Sarien is a welcome addition to ScummVM. I'd use it for all my AGI games if it weren't for this little hitch: Basically the sound is just not good. I remember hearing that Sarien was made to look more like the Amiga counterparts and that's probably why it sounds like a bad 80s synth or something, but is there any way we can get the original Tandy 3-voice (with volume envelope) square wave sounds implemented as well? The likes of which are supported by DosBOX and other AGI interpreters?

King's Quest I, for instance, should sound like this:

http://brandonblume.commerceculture.co. ... andy3v.ogg
User avatar
WNivek
Posts: 58
Joined: Mon Oct 31, 2005 3:14 pm
Location: New Brunswick, New Jersey
Contact:

Post by WNivek »

ScummVM already supports simulation of the IBM PCjr sound chip, with which the Tandy sound-chip in question was attempting to be compatible. While I agree that it doesn't sound as good as the clip you provided (I can't say if that's because of the different chips or just an imperfect simulation), it still sounds a lot better than the single-voice PC-Speaker music.
User avatar
MusicallyInspired
Posts: 1062
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

Post by MusicallyInspired »

The IBM PCJr selection gives me the same sounds I've mentioned above: a bad 80s synth. I already know it has 3-voice compatibility but it's awful. I'm wondering if a true Tandy 3-voice-like sound will someday be integrated? I can't see how it can be that difficult. In terms of technicality, the current sound ScummVM is using (bad synth) is a lot more complex of a sound to generate than a simple square wave. Currently it sounds like some kind of saw wave. It just sounds bad. And I can't say it sounds anything like the IBM PCJr chip.

Unless my ScummVM 0.11.1 has an outdated sound driver for IBM PCJr for AGI games?
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

PCJr is only supported in SCUMM games.

You may not see how adding that extra sound support is hard, however, I wonder whether you based this on actually looking at the code? If you think it's that simple, we'd be happy to receive help and/or a patch for implementing this :)
User avatar
MusicallyInspired
Posts: 1062
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

Post by MusicallyInspired »

I say I can't see how it's difficult because the creators of other AGI interpreters said it wasn't that difficult. NAGI, for instance. I know ScummVM is a huge program which I guess makes it more difficult. I have experience in programming but currently couldn't hope to do anything so bold as program something on the scale of ScummVM. What little I do know makes me understand how difficult a huge program like ScummVM can be.

I wasn't trying to say "it's barely any work so why aren't you doing it?!" I'm simply asking if it will be supported someday and if it's a goal to be completed or just something that's not a priority (or ever will be). It would be a shame if it was the latter as it's not true AGI support otherwise. Like I said before, I'd really like to use ScummVM for AGI games but not if proper sound support isn't added. I don't mean to sound rude or insult anybody's work, but it seems like a cheap excuse to continue using the current support it has and call the AGI integration "finished." I don't remember any AGI game on any system sounding like that and that breaks the nostalgia factor (unless that's actually how it sounds on the Amiga).

Just wondering when/if it'll happen.
Last edited by MusicallyInspired on Sun Aug 10, 2008 1:28 pm, edited 1 time in total.
Buddha
ScummVM Developer
Posts: 53
Joined: Mon Apr 16, 2007 4:18 pm
Location: Turku, Finland
Contact:

Post by Buddha »

To start off: I'm not the author of the sound engine currently in ScummVM's AGI engine but I've worked on the still-not-very-functional Apple IIGS sound support and other things in ScummVM's AGI engine. Also I have no experience with a real Tandy machine, I played AGI games on a normal PC with DOS back in the day.

So, to the point: I've thought so far that the sound engine used in ScummVM's AGI engine already is emulating the Tandy sound (Not perhaps very accurately but it has multiple sounds that one didn't have with a PC speaker back in the day).

After a quick glance into ScummVM's AGI engine's sound code it looks like it uses a square wave for Amiga and PC sound, but oddly the volume enveloping isn't used with them although there seems to be some code involving volume enveloping already in there. There's also a define for SOUND_EMU_TANDY but it's not used at all, a little weird. The square wave is taken from a small lookup table so that may explain why it doesn't sound very good (I'm not skilled at DSP algorithms but what I know about them generating even a square wave properly can be nontrivial).

BTW is that example sound file from an emulator (And if, from which one?) or a real Tandy?
Last edited by Buddha on Sun Aug 10, 2008 1:10 pm, edited 1 time in total.
User avatar
MusicallyInspired
Posts: 1062
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

Post by MusicallyInspired »

Interesting.

That recording would be from DOSBox. NAGI sounds almost identical with a few differences (I think pitch is one of them). I may be able to get a true Tandy recording from a friend, though, if it'll help.

I should also mention that the current sfx channel sounds different as well (a single pitch hiss as opposed to a multi-pitch noise, if that makes sense). I can get a recording of that as well.
Buddha
ScummVM Developer
Posts: 53
Joined: Mon Apr 16, 2007 4:18 pm
Location: Turku, Finland
Contact:

Post by Buddha »

Ok, it's good to know sources for sounds. And to know which other sound emulation may sound close to them (e.g. NAGI). Hearing examples from a real Tandy might be nice too.

About the sfx channel, I think it's probably because currently the noise channel is simply made using the random number generator that ScummVM uses generally and not using a specific Tandy noise channel algorithm. I've previously searched the net for some info related to the Tandy's noise channel and there are some links already in AGI/TODO at http://wiki.scummvm.org/index.php/AGI_T ... ce_to_have
User avatar
MusicallyInspired
Posts: 1062
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

Post by MusicallyInspired »

Ah, so it's planned but not a priority then.

Here's some recordings taken from an actual Tandy:

King's Quest III
Space Quest I

And for fun, here's a couple from Maniac Mansion.

Maniac Mansion
Maniac Mansion (Enhanced)
User avatar
WNivek
Posts: 58
Joined: Mon Oct 31, 2005 3:14 pm
Location: New Brunswick, New Jersey
Contact:

Post by WNivek »

fingolfin wrote:PCJr is only supported in SCUMM games.
Oh? What sound-mode am I hearing in King's Quest, then?
User avatar
MusicallyInspired
Posts: 1062
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

Post by MusicallyInspired »

Bad sound? :)
Zum
Posts: 3
Joined: Tue Aug 12, 2008 4:40 pm

Post by Zum »

MusicallyInspired wrote: And for fun, here's a couple from Maniac Mansion.

Maniac Mansion
Maniac Mansion (Enhanced)
Well they sound just like ScummVM does in my opinion

So they couldn't just bring the pcjr calls of AGI's games to the sound emulator maniac mansion uses?
Ceri Cat
Posts: 149
Joined: Wed Jun 11, 2008 3:47 pm

Post by Ceri Cat »

Not very easily I'd say. Different sound engines and different game engines. It'd be a complicated mess AFAICT.
User avatar
MusicallyInspired
Posts: 1062
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

Post by MusicallyInspired »

I received an email of a bug report I submitted to SourceForge about this and was overjoyed to discover that this issue has been resolved! Finally ScummVM has proper AGI PCjr/Tandy 3-voice sound support! This is fantastic! Thank you so much! It's in the latest SVN currently and the new sounds are available by default for DOS games while the Atari and Amiga versions default to the original sound engine.

Joy! Happiness! Gladness!
Post Reply