Comments (6)
I could only think of some latency settings that are unfortunate for the poor driver. It could be that increasing latency will make it happy, or maybe switching the audio backend.
from munt.
I am not yet sure if dosbox itself is the problem or munt... but is there any setting in munt which I can change ? I already tried a different rom set. I will have to do more testing with dosbox to see if it is the culprit. I tried disabling aero theme in windows has no effect. I did change output=ddraw in dosbox conf to solve color issues when alt-tabbing/full screen... hmmm tried dosbox 0.65 and dosbox 0.74-3 both have same problem with audio driver hanging after usage. Not sure if I can disable munt such that dosbox stops using it to detect if it truely is a problem with munt... but seems somewhat likely.
I could also try and run everything in windows 11 inside a virtual box/vm to see if that performs any different lol :) could be a bit risky if it takes down the whole machine but probably no risk to vm/save files etc. Would be strange if windows 11 does work well and windows 7 not, could be a windows 7 vs windows 11 driver thing.
What OS do you test munt on ?
Driver I am using is: non-whql-win8.1-win7-radeon-software-crimson-relive-16.2.1-sep20.exe
It's the only one were HDMI works properly, the official:
whql-win8.1-win7-catalyst-15.7.1-oct30.exe
^ HDMI does not work haha.
from munt.
I will give DosBosX a try it claims to have build-in MT32 support.
The MT-32 emulation that is integrated into DOSBox-X is based on the Munt project.
I am not sure if it's save to install munt seperately and dosbox-x as well, but I will give it a shot ! ;)
Hmm there are also some options to play with, documented here:
https://dosbox-x.com/wiki/Guide%3ASetting-up-MIDI-in-DOSBox%E2%80%90X
Will copy paste here just in case it disappears:
MT-32 config options
At a minimum you need to have the following set in your DOSBox-X config file:
[midi]
mididevice=mt32
mt32.romdir="C:\Users\My User\emu\cm32l"
Adjust the path as needed. In the example above, it points to the CM-32L ROMs, which will cause DOSBox-X to automatically emulate a CM-32L, which will work fine for the majority of games.
You can check the MT-32 compatible games list on Wikipedia for known compatibility issues for games requiring the MT-32 Old ROMs, or games that are better played with General MIDI.
If a PC game asks for the base IO address and IRQ, you should be able to use the default IO 330 and IRQ 9 (or IRQ2 will also work).
mt32.romdir
Default:
This should point to the directory with MT-32 or CM-32L Control and PCM ROM files. Emulation will not work without them.
If no path is specified, DOSBox-X will check the directory from which it was started.
Accepted file names are as follows:
CM32L_CONTROL.ROM and CM32L_PCM.ROM
or
MT32_CONTROL.ROM and MT32_PCM.ROM
If the directory contains both CM-32L and MT-32 ROMs, DOSBox-X will use the CM-32L ROMs and emulate a Roland CM-32L.
mt32.reverse.stereo
Default: false
Possible values: true, false
Reverse stereo channels for MT-32 output
mt32.verbose
Default: false
Possible values: true, false
MT-32 debug logging
mt32.thread
Default: false
Possible values: true, false
MT-32 rendering in separate thread
mt32.chunk
Default: 16
Valid range: 2-100
Minimum milliseconds of data to render at once (min 2, max 100)
Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.
Valid for rendering in separate thread only.
mt32.prebuffer
Default: 32
Valid options: 3, 4, 32, 199, 200
How many milliseconds of data to render ahead. Increasing this value may help to avoid underruns but also increases audio lag. Cannot be set less than or equal to mt32.chunk value.
Valid for rendering in separate thread only.
mt32.partials
Default: 32
Valid options: 8, 9, 32, 255, 256
The maximum number of partials playing simultaneously.
mt32.dac
Default: auto
Possible values: 0, 1, 2, 3, auto
MT-32 DAC input emulation mode. 'auto' equates to '0'.
Nice = 0 - default
Produces samples at double the volume, without tricks. Higher quality than the real devices
Pure = 1
Produces samples that exactly match the bits output from the emulated LA32. Nicer overdrive characteristics than the DAC hacks (it simply clips samples within range) Much less likely to overdrive than any other mode. Half the volume of any of the other modes, meaning its volume relative to the reverb output when mixed together directly will sound wrong. So, reverb level must be lowered. Perfect for developers while debugging :)
GENERATION1 = 2
Re-orders the LA32 output bits as in early generation MT-32s (according to Wikipedia). Bit order at DAC (where each number represents the original LA32 output bit number, and XX means the bit is always low): 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 XX
GENERATION2 = 3
Re-orders the LA32 output bits as in later generations (personally confirmed on my CM-32L - KG). Bit order at DAC (where each number represents the original LA32 output bit number): 15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14
mt32.analog
Default: 2
Valid range: 0-3
MT-32 analogue output emulation mode
Digital = 0
Only the digital path is emulated. The output samples correspond to the digital output signal appeared at the DAC entrance. Fastest mode.
Coarse = 1
Coarse emulation of LPF circuit. High frequencies are boosted, sample rate remains unchanged. A bit better sounding but also a bit slower.
Accurate = 2 (default)
Finer emulation of LPF circuit. Output signal is upsampled to 48 kHz to allow emulation of audible mirror spectra above 16 kHz, which is passed through the LPF circuit without significant attenuation. Sounding is closer to the analog output from real hardware but also slower than the modes 0 and 1.
Oversampled = 3
Same as the default mode 2 but the output signal is 2x oversampled, i.e. the output sample rate is 96 kHz. Even slower than all the other modes but better retains highest frequencies while further resampled in DOSBox-X mixer.
mt32.output gain
Default: 100
Possible range: 0-1000
Output gain of MT-32 emulation in percentage.
mt32.reverb.mode
Default: auto
Possible values: 0, 1, 2, 3, auto
MT-32 reverb mode
mt32.reverb.time
Default: 5
Possible range: 0-7
MT-32 reverb decaying time
mt32.reverb.level
Default: 3
Possible range: 0-7
MT-32 reverb level
mt32.rate
Default: 44100
Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716
Sample rate of MT-32 emulation.
mt32.src.quality
Default: 2
Possible range: 0-3
MT-32 sample rate conversion quality
'0' is for the fastest conversion
'3' provides for the best conversion quality.
mt32.niceampramp
Default: true
Possible values: true, false
Toggles "Nice Amp Ramp" mode that improves amplitude ramp for sustaining instruments. Quick changes of volume or expression on a MIDI channel may result in amp jumps on real hardware. When "Nice Amp Ramp" mode is enabled, amp changes gradually instead. Otherwise, the emulation accuracy is preserved.
from munt.
OK So far DosBoxX seems to work, I went with Roland SC-55 sound font for now because that is what this game Master Of Orion uses:
https://github.com/trevor0402/SC55Soundfont/releases
So far music and sound is working well, maybe later I try MT-32 again :)
(In DosBoxX and also DosBox 0.74 it is necessary to set keyboardlayout to us otherwise keyboard keys are weird which is kinda strange)
WOW. I just had my first taste of this Roland SC-55 it sounds fantastic ! =D Probably best case scenerio for this game, the drums are a bit overwelming though but ok ! ;) =D
Hmm after having listened to Roland SC-55 for a while, I am starting to think MT-32 will still sound better, so still worth it to persuit this ! =D
from munt.
Sorry, I have no clue what your setup is, but the rant above suggests you were trying a vanilla DOSBox with maybe mt32emu driver for Windows multimedia. If that's the case, I would also consider a possibility that the audio device simply works in the exclusive mode, so only one application may play audio at a time. If you're still interested, please provide more details on what exactly setup you want to make working.
from munt.
Timed out.
from munt.
Related Issues (20)
- DOSBox Patch LCD messages to LCDProc
- Problem writing reverb settings over SysEx HOT 3
- Dosbox r4479: MIDI:Can't find device:mt32 HOT 2
- [Feature Request] Partial exhaustion indicator in UI HOT 4
- [UI Feature Request] Numeric entry Output Gain control
- Make UI better self-documenting
- Application crashes occasionally when a new JACK audio device is started
- UI may show obsolete info when a pinned synth is stopped
- Add basic unit tests
- Improve emulation accuracy of partial allocator implemented in old-gen devices
- New Output Gain textboxes don't work well on Windows HOT 1
- Provide callback to inform clients about events of synth engine running out of available partials
- Add visual indication for events when the synth engine exceeds the currently available partials
- is there any documentation on how to use mt32emu? HOT 2
- SHA1 digests in ROMInfo objects may be initialised incorrectly HOT 1
- [Enhancement] Dark theme HOT 8
- The geometry of the floating LCD can become inaccessible HOT 5
- mt32emu-qt: add command to CLI for opening one or more MIDI port(s) at startup
- More of a question to the creator.
- Guides or information on dumping MT-32 ROM? HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from munt.