How different is the Adlib and Genesis Soundchip?

Started by minebrandon, May 14, 2025, 06:10:23

Previous topic - Next topic

minebrandon

Sorry if this is in the wrong thread, but I know the Adlib and Sega Genesis both use Yamaha chips, and to me they sound really similar, but how different are they actually? Like I asked one of my friends who uses furnace a lot and likes Sonic if there could be 1:1 recreations of Sonic songs in s3m, and they said no because it's different and I asked them to elaborate and they said they didn't know enough to tell me how. So like how's it different, and with how much work has been put into Adlib emulation, how much pain would it be for someone to extract out Genesis emulation from OpenMPT too?

Saga Musix

The difference between OPL and OPN chips are well-documented and can be looked up easily. The most relevant difference is that the OPN supports more algorithms (i.e. how the operators in each patch are combined with each other), which is the main thing that influences the sonic possibilities of different FM synths (the other being being the available operator waveforms). Additionally the S3M format only supports 2-op patches, further reducing the sonic possibilities.

OpenMPT is not, and never will be, a chip tracker. OPL support exists out of necessity, and emulation of other FM chips will not happen. If you need that, use a VST plugin for emulating a specific chip (ADLplug comes to mind), or use a dedicated chip tracker such as Furnace.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

minebrandon

The reason why I didn't look it up (and also took so long to respond) is that I kinda just didn't know how FM synthesis worked, but cs127 gave me a VERY good explanation so:

How hard would it be for me to add it in? Like I said in Revision, I'd like to maybe learn how to code and join the OpenMPT development team, but you said it'd take about 6 years. So would it be possible for me to fork OpenMPT and add that in myself before those 6 years are up to get like a feel for the program?

Saga Musix

Quote from: minebrandon on June 07, 2025, 11:55:17but you said it'd take about 6 years. So would it be possible for me to fork OpenMPT and add that in myself before those 6 years are up to get like a feel for the program?
Except that's not at all what I said. Those 6 years is how long it took me from writing my first line of code to writing my first line of code for OpenMPT. And it's not like I have been working towards a specific goal like contributing to OpenMPT during those 6 years. Things just happened. Whether you would feel confident to touch OpenMPT code after 1 year, after 6 years or after 10 years, I cannot know.

However, what I definitely can say is that what you want to do is probably one of the most complex things you could have picked, requiring to integrate a whole new emulator into the playback engine, deciding how to expose its parameters to module effects, serializing the data into module files, presenting the patch editor to the users, ... That is certainly not something I would have been able to pull off when I just got started with OpenMPT development with no prior knowledge of how to develop something like that.

Quite honestly: I don't think it's realistic at all. It's not what OpenMPT is made for, and so it's not at all easy to pull off. But if you want to prove me wrong, it's entirely up to you to level up your skills.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.