Giter Site home page Giter Site logo

Comments (11)

sergm avatar sergm commented on April 28, 2024

Hmm, I would agree that getting a MT-32 patch editor working nowadays is a bit of pain as most of them are created for Windows 3.1, others for DOS. Still, I don't think it's impossible, albeit having a tool that would work on modern machines would be nice, of course.

I need to say that the mt32emu-qt has no way to hack on the internals of the emulated MT-32 hardware, no. This is not foreseen by design of the library mt32emu. As we're emulating hardware, we normally provide interfaces of that hardware. Therefore, MIDI is the only way of adding custom patches and retrieving them back. I guess, this is unlikely to change.

Also, I doubt everyone would benefit of adding this feature to the synthesizer application. There are too many users not interested in creation of custom timbres, so this should rather be a new project within munt, to my mind.

from munt.

TheMisterE avatar TheMisterE commented on April 28, 2024

Do you think it could be the case that it's less nobody's interested in making timbres and more that there's no good way to make timbres in the first place?

Anyway, it's a shame the Qt doesn't have access to the registers of the emulated MT-32. Skipping all the preamble and particulars of controlling the MT-32 through SYSEX by directly altering memory sounded like such a clean and straightforward way... Do you think such a feat could even be possible? Say, instead of integrating this timbre editor into the Qt back end (which as we've already established wouldn't work anyhow), someone were to create a program with MUNT built in to it expressly for the purpose of creating timbres and exporting SYSEX as described above would it all work smoothly?

I can't program at all, but maybe one day someone who does will stumble across this feature request and use it as a blueprint for their implementation. Would it bear fruit?

from munt.

sergm avatar sergm commented on April 28, 2024

I suppose, creating a tool that accesses mt32emu's internals directly is well possible, because it's open source :)
But doing so in such a hacky way implies that the result can't be used with real hardware. Trust me, there is no particular simplification one might gain by doing so; the existing SysEx format is well documented, and creation of a compatible MIDI message is barely easier than calling some invented API from the UI code. But anyway, an effort has to be spent for such a tool.

from munt.

TheMisterE avatar TheMisterE commented on April 28, 2024

I was just thinking that there would be no MIDI command overflow risk during real time editing, like knob adjusting during playback, if the commands aren't flooding in on the same line as the rest of the commands.

Anyway, here's hoping somebody saves us (and more specifically me) from the Sisyphean effort of making MT-32 timbres on modern hardware, much less all in-system with MUNT.

...Guess now this means I have no choice but to see if I can do such a thing in ReaLearn. Ugh.

from munt.

now-its-dark avatar now-its-dark commented on April 28, 2024

@TheMisterE, I feel your pain— having gone fairly deep down this rabbit hole over the past couple years myself. What I have found to work best, is the last stable release of the abandoned SoundDiver. It is easy to find on archive.org and will run stably on modern Windows or WINE; It comes with a well designed adaptation (SD name for editor panel) for the MT-32, including librarian functions and drum mapping. There is some jank, but works pretty reliably, once you get to know the quirks. See img below for an example of the UI.

The archived ver. of Seald's Deep Synthesis has an alternate, simplified adaptation; it is faster to use, but more limited. This is helpful in another way though, because it includes default patch / setup configs, so you can begin as though the editor received an initial dump from the synth— Since MUNT does not report the current patches or parameter settings in memory, the connection is unidirectional. To mitigate that, just keep the auto-update function enabled, then MUNT will always match your editor state.

Planning to make a video/tutorial for this workflow pretty soon!

———
Regarding the question of whether there is a real desire to edit this device in general— from what I've seen online, people typically regard the MT-32 as a barebones, proto-GM rompler with limited creative potential in terms of sound design. Presumably, this is due to having no contemporary software editor or on-device editing capabilities and the amount of cheesy presets onboard.

Having spent some time editing it now, I think it is severely underestimated as a synthesizer. The depth of the voice architecture and level of configurability are really impressive in that form-factor, especially for a device from the late 80's.

Wow that was lengthy, hope it is helpful information for you and anyone else who stumbles onto this discussion.

SoundDiver_MT32

from munt.

sergm avatar sergm commented on April 28, 2024

Right, that's all fair enough. I myself have been using an abandoned LA-SYNTH editor running in a VM (as that's a win16 thing) to play with some edge cases which is not a way to go for professional work. Definitely, these synths feature great configurability, else we'd not bother with the emulation. So, as I said above, a good modern patch editor is needed, but rather as a stand-alone app. IMHO, such an editor would support whatever you connect: either munt or a real device via MIDI.

from munt.

now-its-dark avatar now-its-dark commented on April 28, 2024

@sergm Yep that makes total sense! An editing capability would be a pretty distinct use-case from the PC gaming crowd. I wasn't trying to propose anything development-wise, just outlining a relatively modern and usable way to edit it currently, for the sake of anyone who is looking for one. Not a topic that comes up too often, so seemed worthwhile to explain these findings.

from munt.

joerg-knitter avatar joerg-knitter commented on April 28, 2024

I also took a deeper look into the synthesis features, and I even was not aware that the MT-32 is a kind of smaller sibling to the legendary D-50, even though the samples are limited/worse and I think there was just one LFO instead of 3, but the MT-32 is multi-timbral on the other side while the D-50 can only play 2 different sounds at one time. Therefore, it could also e.g. very interesting to the demo scene where GM/GS is too limited, FM too bad and samples too memory hungry.

One of the main issues I discovered and checked with the source code (sorry, I am just able to partly understand source code, but I am not able to fix it myself) is that a lot of tested editors fail because MUNT only supports the DT1 command but none of the other commands (WSD, RQD, DAT, EOD...), so using commands where handshaking is involved does not work. Therefore, as written by someone before, even getting a memory dump right at the start of an editor causes an error message.
If this could be fixed, one might use at any editor out there, but I did fail with the ones I found in DOSBox (DOS and Windows 3.x) apart from SoundDiver that I did not check yet, so thanks for this hint. However, adding the missing MIDI functionality could at least be a great opportunity to get more people interested, especially if they knew that the MT-32 is not only a "stupid sample player"...

I had a look at ctrlr from www.ctrlr.org. It could be a great solution because it is not only a stand-alone controller for MIDI devices, but can also be used as VST3 instrument in a DAW. It is open-source and platform independent.
But: It is kind-of undocumented - apart from 9 year old examples, the C++ source code and discussions on the forum (closed) and GitHub. There is no Wiki (yet) and only <10 basic tutorials on YouTube. The UI for creating panels is awful, and for sending the required syx commands, you would have to use LUA commands and not something more common nowadays like Python. Maybe doing some copy & paste from the example panels might help here creating something.
On the other hand, I am sure that is possible to create an MT32 panel witih ctrlr - if there was not that deep learning curve... And the ctrlr project is not dead (yet) after all those years.

from munt.

sergm avatar sergm commented on April 28, 2024

Good new, BTW! A new project appeared on the scene quite recently called MT32Editor. I suppose, this is more or less what one needs to unleash creativity with MT-32 (at least @now-its-dark seems happy with it, heh). There is just one thing to note, this is Windows-only atm.

FYI, there is also a thread at VOGONS dedicated on this nice tool.

from munt.

TheMisterE avatar TheMisterE commented on April 28, 2024

Oh my god. It works with MUNT! It really works! It's not even done and it works!!

Send out the good word far and wide, christen https://github.com/sfryers with a medal or something! WE HAVE AN EDITOR THAT WORKS WITH MUNT!!

from munt.

sergm avatar sergm commented on April 28, 2024

WE HAVE AN EDITOR THAT WORKS WITH MUNT!!

Well, on Windows at least 🙂

from munt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.