libretro / dosbox-libretro

Port of DOSBox (upstream) to the libretro API.
GNU General Public License v2.0
62 stars 40 forks source link

Munt, External Midi and Mixer levels not working correctly #65

Open MrBlastman opened 7 years ago

MrBlastman commented 7 years ago

There are several issues with the sound system:

MUNT (the MT-32 emulator within libretro dosbox) is not recognizing reverb settings, even if manually specified in the config file. Enhanced reverb is useful for certain games.

External MIDI is not working, even if specified in the dosbox-libretro.conf file with the appropriate value obtained from the "mixer /listmidi" command at the prompt to find the corresponding external port. MIDI only functions in MT-32 emulation mode, but this isn't useful for games that use external devices such as the Roland Sound Canvas (SC-55).

The Mixer sound levels cannot be independently assigned. For example, issuing the command "mixer SB 25:25" either via the prompt or the autoexec section of the dosbox-libretro.conf file does not actually change the internal mixture volume levels in dosbox itself. If issued from the prompt, when issuing the command "mixer" afterwards only displays values of "ff:ff" for the respective devices, thus no change has occured. Changing these levels is sometimes needed for certain games, otherwise the Sound Blaster levels overwhelm the MT-32 music; the same goes for PC speaker.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/45646925-munt-external-midi-and-mixer-levels-not-working-correctly?utm_campaign=plugin&utm_content=tracker%2F2175333&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2175333&utm_medium=issues&utm_source=github).
anothername99 commented 6 years ago

@MrBlastman This should be a non-issue for the most part now that we have real MIDI support in Dosbox and RetroArch.

MrBlastman commented 6 years ago

I'm going to test this weekend. =) I had no idea MIDI had been implemented--must have been recently?

The mixer levels are still pretty important, though, especially with games that combine PC speaker with stuff like Adlib/FM Synthesis. In some games, the PC speaker is obnoxiously loud and the only way to adjust this is through the Dosbox mixer settings--and the speaker overwhelms the FM Synth music.

anothername99 commented 6 years ago

Make sure you set the MIDI Out device in RetroArch's settings. You might also have to check the game's music setting.

Ok, the mixer levels problem still needs a fix then.

MrBlastman commented 6 years ago

Well I tried to get midi to work and no sound plays. Where in RetroArch's settings do you set the MIDI out device? I don't see an option anywhere, and I'm running 1.7.3?

anothername99 commented 6 years ago

@MrBlastman Assuming you're on Windows (other operating systems are not supported yet), start RetroArch and scroll to the right where all the settings are (under the big cogwheel). Now there are two places to look:

Driver -> MIDI Driver. This needs to be set to winmm.

Audio -> MIDI -> Output. This needs to be set to the MIDI device that will play back the music.

If you have a suitable input device (like a piano), you can also set that with the Input setting. This will become more useful in the future when we have a good PC emulator.

anothername99 commented 6 years ago

Also, I don't know if MIDI was added before or after 1.7.3. If you still can't find it, you can try a nightly version or wait for 1.7.4.

MrBlastman commented 6 years ago

I downloaded the latest nightly build and...

That did it!

Someone might want to mention in the Retroarch Dosbox notes though that to use Munt (the MT-32 emulator) with Retroarch and libretro Dosbox-SVN, the 32-bit version of Retroarch must be used instead of the 64-bit, as Munt is only available as a 32-bit version.

Also, mt32.reverb.level doesn't seem to work in Dosbox-SVN, to set the amount of reverb with Munt.

FYI Munt is an external driver that creates its own midi device under windows.

Thanks for the help.

                                    - Blast

On Wed, 8/8/18, anothername99 notifications@github.com wrote:

Subject: Re: [libretro/dosbox-libretro] Munt, External Midi and Mixer levels not working correctly (#65) To: "libretro/dosbox-libretro" dosbox-libretro@noreply.github.com Cc: "MrBlastman" xxbrunoiii@yahoo.com, "Mention" mention@noreply.github.com Date: Wednesday, August 8, 2018, 5:10 AM

@MrBlastman Assuming you're on Windows (other operating systems are not supported yet), start RetroArch and scroll to the right where all the settings are (under the big cogwheel). Now there are two places to look: Driver -> MIDI Driver. This needs to be set to winmm. Audio -> MIDI -> Output. This needs to be set to the MIDI device that will play back the music. If you have a suitable input device (like a piano), you can also set that with the Input setting. This will become more useful in the future when we have a good PC emulator.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.