Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: OpenMPT Module Decoder (Read 29840 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: OpenMPT Module Decoder

Reply #100
Today I noticed a post in the Discord server of the "Nectarine Demoscene Radio", they mentioned a YouTube video: Amazing AMIGA Multichannel Music - MoSeZ - NNZ Collection #1 - there is an archive of SymMOD modules as well as MP3 versions of the same tracks linked in its description.

Playing the first file (Gloomyness.SymMOD) I noticed that foobar2000 with OpenMPT module decoder 0.7.1 / 0.7.3 plays this song in mono. But the MP3 has a stereo panorama.

I don't know anything about this module format; might it be that its support is incomplete, and the decoder is unable to retrieve the position of instruments in an audio panorama? When I watch the YouTube video of an Amiga tracker it has an analyzer in the center of the screen, displaying dots on concentric rings, which looks like they should present a relation to instrument positions, I guess?

Re: OpenMPT Module Decoder

Reply #101
Not sure there is much to be done about SymMOD. I found https://bugs.openmpt.org/view.php?id=672 which shows that the format author has published Amiga assembler sources and a Java player. The Java player, which was used as a source to create the decoder, also plays these files as mono.

Re: OpenMPT Module Decoder

Reply #102
I see ... a demo player as reference may not be as optimal as a verbose specification though (and who knows, maybe even incomplete on purpose?).

I searched a little for "Symphonie module documentation / specification" but did not yet find them. Found a github repo of "compileable" sources at most. So it seems chances are that the player which allowed Nikol Nazarov to record MP3s from these modules is more elaborate than your OpenMPT module's source.

Shall I make a new issue on the tracker, linking the samples there as well?

PS: I tried to write Patrick Meng an email. But the bluewin address failed.

Re: OpenMPT Module Decoder

Reply #103
That repository is mentioned in the link I posted. Those are the Java player sources. Only other source is the original undocumented assembler code for the tracker, from the same guy. I hope you understand that re-creating the player from the assembler code would require insane amount of work.

Your Youtube video explains and shows the guy running the original tracker in Amiga emulator.

I'm not stopping you from creating a bug report, just warning that getting correct stereo playback may not be so simple.

Re: OpenMPT Module Decoder

Reply #104
I understand that completely, therefore, before doing so, I will try to collect more facts.

Re: OpenMPT Module Decoder

Reply #105
Attached is the glowyness.symmod module.
It can be downloaded from the link: ftp://ftp.modland.com/pub/modules/Symphonie/Mosez/gloomyness.symmod
Pay attention to the pattern structure of this module. Each pair of channels consists of a pair of identical instruments (see picture 1).
If you turn off some duplicate channels using View\OpenMPT control (see picture 2), then the stereo mode will be noticeable by ear.
I believe the reasons for this may be either in the libopenmpt library https://lib.openmpt.org/libopenmpt/ or this is a feature of this module.
For example, some parts of this module corona.symmod ftp://ftp.modland.com/pub/modules/Symphonie/Mosez/corona.symmod are played in stereo mode without turning off the channels.

By the way, it would be great if Peter updated this plugin with a new version of libopenmpt.

Re: OpenMPT Module Decoder

Reply #106
Unrelated question - it possible to improve the performance of pattern view display or is there some internal limitation to it?
Random digital audio nerd girl

Re: OpenMPT Module Decoder

Reply #107
Hi all, OpenMPT author here. I see that the plugin hasn't been updated in a while. @Peter would it be possible to update the plugin to use the latest libopenmpt version? There have been quite a few playback fixes since the last update.

Playing the first file (Gloomyness.SymMOD) I noticed that foobar2000 with OpenMPT module decoder 0.7.1 / 0.7.3 plays this song in mono. But the MP3 has a stereo panorama.
The file plays exactly the same in Symphonie. You can see in the video that the video creator has set the "dPit" value in Symphonie's GUI to 20 and "dSmp" to 150, and those two effects are responsible for creating this effect (they detune and delay the left and right channels slightly), but the dPit and dSmp values stored in the file are both 0. So the author of the video thought that the song sounds nicer that way and they edited it. But the original file doesn't play like that. Hence there's nothing to fix here.

If you feel that anything else might not be played correctly by this plugin, please open a bug report at the OpenMPT issue tracker as I will not be monitoring this forum constantly.

Re: OpenMPT Module Decoder

Reply #108
New build will be out shortly, thanks for the heads up.
Microsoft Windows: We can't script here, this is bat country.

Re: OpenMPT Module Decoder

Reply #109
Hi Saga Musix! It's great that you looking into the forum!
Devs, Thank you for updating OpenMPT.
:-)

Re: OpenMPT Module Decoder

Reply #110
Thanks for the update Peter!

Re: OpenMPT Module Decoder

Reply #111
Heck yeah! Thank you. I still listen to a bunch of video game music pretty often, like Deus Ex and Unreal.
Think millionaire, but with cannons.

 

Re: OpenMPT Module Decoder

Reply #112
A small request:

Could you make the View menu entry text be 'OpenMPT Control' instead of 'OpenMPT control', so it matches the case style of the other menu items.

Maybe I am pedantic (I probably am) but I always fix it with a hex editor each time an update is released.