Core Audio vs. MT32 Emu on a MAC
Moderator: ScummVM Team
Oh!
All right then. But I could swear that it sounds very similar if not the same like on the LAPC-I.
A real MT32 is not supported yet by SCUMMVM?! But there is an option for it! How can this be?
Fortunately it cost me just 49 Euro to buy the device. I hope that it will be supported soon.
But I am already beginning to think of building a retro PC for the old games, what is indeed true nonsens for an apple-user.
Is there any hope for me and my (not-yet-arrived-but-already-useless) MT32???
Nagra
A real MT32 is not supported yet by SCUMMVM?! But there is an option for it! How can this be?
Fortunately it cost me just 49 Euro to buy the device. I hope that it will be supported soon.
But I am already beginning to think of building a retro PC for the old games, what is indeed true nonsens for an apple-user.
Is there any hope for me and my (not-yet-arrived-but-already-useless) MT32???
Nagra
-
- ScummVM Team Member
- Posts: 377
- Joined: Sat Sep 24, 2005 12:25 pm
- Location: Austria
A REAL MT32 is of course supported by ScummVM, you just need to turn "True MT32" on.
Unfortunately, this only applies to the Windows version of ScummVM. (Just feeling with you)
Nevertheless, I still would recommend to copy the Soundfonts of the MT32, who knows, maybe in the future ScummVM handles the Soundfonts of the MT32 also perfect on a Mac?
Best regards
Joachim
Unfortunately, this only applies to the Windows version of ScummVM. (Just feeling with you)
Nevertheless, I still would recommend to copy the Soundfonts of the MT32, who knows, maybe in the future ScummVM handles the Soundfonts of the MT32 also perfect on a Mac?
Best regards
Joachim
I think there are still several misunderstandings here, so let me clarify some more bits:
On the mac, the CoreAudio and QuickTime "drivers" built into ScummVM currently only will output to the softsynth (read: software emulated MIDI synthesizer). Hence "real" hardware synths are not supported.
For the CoreAudio driver, there is a hack in the source code, which, when enabled, will make ScummVM always use an attached hardware MIDI synth. Using that, I am succesfully using a real MT-32, attached to my PowerBook via a USB<->MIDI converter, to play the music in MI2 and other games.
Now, this hack is by default *off*, because it's just that: A hack. E.g. if you do *not* want to use that HW synth, or if you have multiple, then you have no way to tell ScummVM. I am working on a proper solution, but this is rather low priority for me and my spare time (in which I work on ScummVM), unfortunately, is limited. :-/
Regarding the matter of SoundFonts: The CoreAudio driver supports DLS and SF2 soundfonts. However, you can not emulate a MT32 by simply using a soundfont. Read what Eugene/Sev posted on this thread earlier for a detailed explanation of the reasons. This is not a limitation of the Mac, but rather it's true for all and every system out there.
The MT32 emulator found in ScummVM is (just like our adlib emu, BTW, and the CoreAudio softsynth) a software synthesizer. While the CoreAudio softsynth emulates a GM (general MIDI) synth, the MT32 emu of course emulates a MT32. Doing so is very heavy on the CPU; the only reason it's playable on Intel machinges is that there are hand opimizted assembler (MMX/SSE enabled) core routines. Those are x86 specific; while the emulator still works on PowerPC, ARM, etc., it's a lot slower there.
On the mac, the CoreAudio and QuickTime "drivers" built into ScummVM currently only will output to the softsynth (read: software emulated MIDI synthesizer). Hence "real" hardware synths are not supported.
For the CoreAudio driver, there is a hack in the source code, which, when enabled, will make ScummVM always use an attached hardware MIDI synth. Using that, I am succesfully using a real MT-32, attached to my PowerBook via a USB<->MIDI converter, to play the music in MI2 and other games.
Now, this hack is by default *off*, because it's just that: A hack. E.g. if you do *not* want to use that HW synth, or if you have multiple, then you have no way to tell ScummVM. I am working on a proper solution, but this is rather low priority for me and my spare time (in which I work on ScummVM), unfortunately, is limited. :-/
Regarding the matter of SoundFonts: The CoreAudio driver supports DLS and SF2 soundfonts. However, you can not emulate a MT32 by simply using a soundfont. Read what Eugene/Sev posted on this thread earlier for a detailed explanation of the reasons. This is not a limitation of the Mac, but rather it's true for all and every system out there.
The MT32 emulator found in ScummVM is (just like our adlib emu, BTW, and the CoreAudio softsynth) a software synthesizer. While the CoreAudio softsynth emulates a GM (general MIDI) synth, the MT32 emu of course emulates a MT32. Doing so is very heavy on the CPU; the only reason it's playable on Intel machinges is that there are hand opimizted assembler (MMX/SSE enabled) core routines. Those are x86 specific; while the emulator still works on PowerPC, ARM, etc., it's a lot slower there.
Last edited by fingolfin on Sat Dec 17, 2005 3:28 pm, edited 1 time in total.
Dear fingolfin ,
because of my real mt-32 I would be most grateful, if this hack of yours will be implemented soon in one of the next upcoming versions of SCUMMVM.
But it would also be great, if an apple-user can even with an attached MT-32, use the CORE Audio mode, so that we can compare the soundoutput.
If I understand you correctly, the CORE Audio Output will with your hack, automaticly be "overridden", when an MT-32 is connected to the mac.
Nagra
because of my real mt-32 I would be most grateful, if this hack of yours will be implemented soon in one of the next upcoming versions of SCUMMVM.
But it would also be great, if an apple-user can even with an attached MT-32, use the CORE Audio mode, so that we can compare the soundoutput.
If I understand you correctly, the CORE Audio Output will with your hack, automaticly be "overridden", when an MT-32 is connected to the mac.
Nagra
Nagra, nope, you didn't really understand me correctly, I think . It's a *HACK* means that it is not in any way suitable for regular end users to be used. So unless somebody puts some serious amount of work into it, we won't release it as part of the next ScummVM release.
I may work on it when I have some spare time, but I make no promises.
I may work on it when I have some spare time, but I make no promises.
And the time has now come. I just noticed that the 0.9.0 CVS version of SCUMMVM for MAC OS X now supports the real MT32.Nagra wrote:My MT-32 has arrived today.
Would be absolutely great if sometime in the future the device will be supported for MAC OS X users as well.
Thanks
Nagra
I tested it with MI1, MI2, DOTT, Indy 4, Indy 4 Talkie. All of them performed very well except of MI1 that wouldn´t begin to start. But after deleting the SCUMMVM preferences it worked as well as the others.
Thank you fingolfin. It is really great, that you took the time to implement the OS X support.
Regards
Nagra
Welcome to the real MT-32 owners club
And the time has now come. I just noticed that the 0.9.0 CVS version of SCUMMVM for MAC OS X now supports the real MT32.
I tested it with MI1, MI2, DOTT, Indy 4, Indy 4 Talkie. All of them performed very well except of MI1 that wouldn´t begin to start. But after deleting the SCUMMVM preferences it worked as well as the others.
Thank you fingolfin. It is really great, that you took the time to implement the OS X support.
I find that I really like the sound of the MT-32 and have been enjoying playing the music from a lot of older dos games from http://www.queststudios.com as well as playing scummVM games.
Not owning MT-32 (yet), I listened some of the Monkey Island songs provided and just want to spoil the party by saying that the Amiga Monkey Island sounds better! With the reservation that that might be because that was my first MI experience.
OT
Is there a better looking version of Star Flight than the Amiga one?
OT
Is there a better looking version of Star Flight than the Amiga one?
- eriktorbjorn
- ScummVM Developer
- Posts: 3561
- Joined: Mon Oct 31, 2005 7:39 am
Being the first MI music you heard may have something to do with it, because I've heard recordings of the Amiga music, and I honestly can't understand what the big deal is. And that may be because the first MI game I played was the CD version of MI1, with CD audio tracks for the music. Of course, to me they sound the best.vnena wrote:Not owning MT-32 (yet), I listened some of the Monkey Island songs provided and just want to spoil the party by saying that the Amiga Monkey Island sounds better! With the reservation that that might be because that was my first MI experience.
I never played that game, but I'm reminded of an amusing review of Starglider 2 (which I also haven't played) which said, "Call me mad (well, don't) but I think the game works a lot better on the Spectrum than it did on the Amiga or ST." (I'd provide a link to the review, but either I goofed up somehow, or they don't accept linking from the outside. You can find it at the World of Spectrum Web site.)vnena wrote:OT
Is there a better looking version of Star Flight than the Amiga one?
Well, the only person who ever worked on the MT-32 emu vanished w/o a word 1-2 years ago. Since then, *nobody* made a single change to this code (other than fixing some comments, maybe). So, I think it's highly unlikely that anything will happen there.
Unless somebody pops up to resume work on it, maybe.
Also, I think on Macs, the MT-32 emu suffers from the way CoreAudio handles slow audio generation procs -- if you generate audio data too slowly, it simply stutters. On other systems, it will play the audio data with a slight delay instead. For professional music, the former is of course better, but for our purposes, it causes the pain you observe. We had the same problem with the Audio CD playback code in SDL. It is of course possible to fix that, but it's a bit complicated (some sane threaded double buffering or so) and would require either changes to SDL (i.e. not in our department), or changes to the MT-32 emu code (which, as I explained, nobody has been working on for years).
Unless somebody pops up to resume work on it, maybe.
Also, I think on Macs, the MT-32 emu suffers from the way CoreAudio handles slow audio generation procs -- if you generate audio data too slowly, it simply stutters. On other systems, it will play the audio data with a slight delay instead. For professional music, the former is of course better, but for our purposes, it causes the pain you observe. We had the same problem with the Audio CD playback code in SDL. It is of course possible to fix that, but it's a bit complicated (some sane threaded double buffering or so) and would require either changes to SDL (i.e. not in our department), or changes to the MT-32 emu code (which, as I explained, nobody has been working on for years).
No direct answer to your question but hear this:bushwakko wrote:I would like to breath some fire into this thread again. I have a macbook pro, intel c2d 2,33ghz which should be more than enough for mt-32 emu, but on the mac it still doesn't work. Would be awesome if someone could look into it.
For almost two and a half years I use my MT-32 and a CM32L for SCUMM VM and DOS Box. I have a Mac Pro, 1. Rev, 2,66 Mhz and it works absolutely perfect. No stuttering, no nothing. It is not only that I can HEAR the exact sound like I did back than in the 90s, I can "SEE" it (MT-32).
I have hooked up the MT-32 and CM32L in a chain and have the devices connected to my mac with an Edirol UM2 usb-midi adaptor.
I strongly suggest to stop struggling with that emu-thing and go for a real MT-32. In german ebay they are more often to find than you would think. Cant speak for international ebay. The prices are about 40 Euros plus shipping.
Make your gaming-life easier
Nagra
p.s. Right before the mac pro, I got a G4, Mirror Drive Door, with one cpu 1,25 Ghz and 1,25 GB of RAM. On that machine I tried the emu and it was truly horrible. With the real MT-32 the pain stopped. The device worked perfect with that old mac as well.
EDIT:
Oops you got a MB Pro.