Mod Archive Forums

Music Production => Players => PC Players => Topic started by: Dege on October 19, 2011, 19:47:28

Title: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on October 19, 2011, 19:47:28
Hi All,

Recently I revamped my ancient module player code and created a Winamp input plugin relying on it.

For more see: http://www.freeweb.hu/dege/

I would really appreciate for some reviewing of MPPWC.

Greets,
   Dege
Title: Re: appreciate for some reviewing of MPPWC
Post by: m0d on October 19, 2011, 21:08:40
I split and moved your post into the appropriate place, welcome aboard. I'm afraid your project is not big enough to warrant a dedicated forum of its own here at this point in time (this is in response to where you originally posted your post).

If you could post some more detail (similar to a press release) I might be able to write a news post as a feature.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on October 19, 2011, 22:06:47
Oh, I must have misunderstood something. Thanks for moving my post into the right place.
I don't really want a dedicated forum. I just thought that all things related to coding players or decoders go into that thread. :rolleyes:

MPPWC is a tiny tracker module decoder input plugin for Winamp.
Supports the following formats:

Composer669 (.669),
Amiga Protracker (.mod)
Multitracker (.mtm)
Screamtracker 3 (.s3m)
Fasttracker 2 (.xm)
Impulser Tracker (.it)

including support of stereo samples, resonant filter and true seeking.

Substituting Winamp's built-in module decoder with mine wasn't my goal (altough I never liked it).
I've just revamped my old music player (which does not support tons of formats) and decided to publish it in the form of a Winamp plugin to see if somebody like it, I'm just curious how good it is.  :rolleyes:

Yes, I chose Winamp for the frontend GUI because it is well known and popular & easytouse, just didn't wanted to come out with a standalone player.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 01, 2013, 00:55:40
Hi Dege,
thank you for the great module plugin!

Is it possible to implement also the support for the Velvet Studio AMS files?

You can find some e.g. here:
http://www.filewatcher.com/b/ftp/ftp.modland.com/pub/modules/Velvet%20Studio-0.html

It would be the only plugin that will exists to play this.

Thanks.
Lukas
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on June 03, 2013, 12:16:33
Hi Lukas!

Altough I don't know Velvet Studio Tracker, according to a quick search it seems an oldschool one from the DOS era (and FT2-like).
Well, supporting it depends on whether it's compatible both in features and playing logic with the other classic ones (Pro-, Scream-, FastTracker). If it's well compatible and the file format description is available, so that it could be fit into the decoder relatively easily, I could support it, I think.

(But probably even that won't be enough. A lot of self-done reverse engineering needed for the other formats to explore the accurate playing logic, and it was very time consuming. So, the original tracker is also needed.)

I will have an extended look into it later.
But I don't know how much spare time I will have to deal with it, unfortunately.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 03, 2013, 14:16:30
Velvet Studio AMS is slightly more advanced than the "classic" 2nd-generation formats (XM/IT). The AMS format by its predecessor, Extreme's Tracker, is easier, but both formats are well documented, so implementing them isn't that complicated if you have dealt with IT/XM before.

Quote
It would be the only plugin that will exists to play this.
Not correct, libmodplug (and all plugins / players based on it) can "somehow" play Velvet Studio files (but with admittedly rather poor support), and its soon-to-be-done successor, libopenmpt supports Velvet Studio files rather well, and there will be plugins for a couple of players based on it, too.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 06, 2013, 15:43:52
Velvet Studio AMS is slightly more advanced than the "classic" 2nd-generation formats (XM/IT). The AMS format by its predecessor, Extreme's Tracker, is easier, but both formats are well documented, so implementing them isn't that complicated if you have dealt with IT/XM before.
Not correct, libmodplug (and all plugins / players based on it) can "somehow" play Velvet Studio files (but with admittedly rather poor support), and its soon-to-be-done successor, libopenmpt supports Velvet Studio files rather well, and there will be plugins for a couple of players based on it, too.


Yes they exists but none of them can play at all (completely no sound) or don´t play correct way.

Yes, the AMS files are more advanced and I think better maybe the best of all modules, but there has never been much support for it.
Try my links to the archive of AMS files to play with that plugins you mentioned.. It will not play even on Velvet Studio itself.

The only player (tracker) that can play AMS partially well is Milky Tracker. I am not sure but also not everything I think it can play 100% well. And it is a little complicated don´t you think to use tracker for playing AMS files.  ;)

So I see the chance that the MPPWC once could be one and only plugin (player) which could play it well if Dege can implement it and maybe all other format which does exists - it will be great!, so it can at 100% replace all other plugins then.

Quote
libmodplug
I have ModPlug Player/Tracker, yes the player is good and at this time maybe the best for its large file support, but none of the files from the archive this player can play. Only Milky Tracker can play it. So probably libopenmpt also could not!

eLK
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 06, 2013, 18:10:56
I don't think I understand your post.You say that these files don't play in Velvet Studio? You must be using an old verison or something, because I know that I have used these files to test my own AMS routines in OpenMPT, and I know for a fact that e.g. Leinad's Happy Hamster Hop works correctly in Velvet Studio (in fact, I have rendered it to WAV using the provided WAV writer once). Milky Tracker didn't import some of the AMS files quite as well as OpenMPT, I think. OpenMPT internally converts AMS files to IT, which is a more powerful format than XM (which MilkyTrackers imports to) - OpenMPT can thus support things like "Vibrato envelopes" in AMS files, which MilkyTracker doesn't. That's just one example out of many which I can remember right now, it's been a while since I played around with the AMS format.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 06, 2013, 19:35:43
I don't think I understand your post.You say that these files don't play in Velvet Studio? You must be using an old verison or something, because I know that I have used these files to test my own AMS routines in OpenMPT, and I know for a fact that e.g. Leinad's Happy Hamster Hop works correctly in Velvet Studio (in fact, I have rendered it to WAV using the provided WAV writer once). Milky Tracker didn't import some of the AMS files quite as well as OpenMPT, I think. OpenMPT internally converts AMS files to IT, which is a more powerful format than XM (which MilkyTrackers imports to) - OpenMPT can thus support things like "Vibrato envelopes" in AMS files, which MilkyTracker doesn't. That's just one example out of many which I can remember right now, it's been a while since I played around with the AMS format.

No, Velvet Studio plays everything, because it is originaly made on it. I am talking about ModPlug Player/Tracker which can import some of the AMS but not all - try e.g. cream in my bag.ams from the archive link I have write upper or nectar of devotion.ams. This AMS can be only played on Velvet Studio or Milky Tracker if I know - I don´t know any other. The MPP or MPT don´t play it.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 06, 2013, 19:47:07
I have also found this S3M which in not many players did play well.

http://files.exotica.org.uk/modland/?file=pub/modules/Screamtracker%203/Purple%20Motion/charts%20overdrive.s3m

 It was because of very short lenght of the samples which are the separate simple waves. So if the player counted the lenght wrong just of a byte excess the song then play falsely. I know this did the old Winamp original MOD plugin as I remember. Now it seems it is corrected. MPPWC plays absolutely alright! (thumbs up Dege!)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 07, 2013, 11:56:15
I've already said that OpenMPT plays all those AMS files. OpenMPT is not the same thing as ModPlug Tracker / Player - they haven't been updated in over 10 years, while OpenMPT is still in active development.

I also don't see anything complicated about Charts Overdrive. I've been listening to that tune for many years in various players, and they all play it right (I didn't try Winamp because that is known to be bad anyway) - if any player had major issues with this tune because of its samples, it wouldn't be able to play kind of chiptune correctly.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 09, 2013, 19:31:51
Okay, it plays - yes it is able to play the AMS files - but did you listen them? It plays totaly wrong! Try e.g. Necrophilia.ams or hullun päiväkirja.ams which are the demo songs of Velvet Studio. They play bad! If you go to menu View and press Find MPT Hacks in Song you will get:

Found invalid pattern commands
Found channel names
Compatible play is deactivated
Found incorrect mix levels (only compatible mix levels allowed)

Yes - the player plays every notes  ;) but thats all..

Try to play it using Velvet Studio - you will hear the difference!  ;D
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 09, 2013, 19:45:14
if any player had major issues with this tune because of its samples, it wouldn't be able to play kind of chiptune correctly.

Not true, if you have a sample only few bytes long or a sample long about 20kB it is a big difference if you take out one byte - it must logicaly affect the sound pitch while for the 20kB sample you should not hear any pitch. Not many chiptunes has as much short samples like Charts Overdrive.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 10, 2013, 13:45:45
Quote
If you go to menu View and press Find MPT Hacks in Song you will get:
And? This is just because OpenMPT must convert any file into one of its four editable formats (MOD, S3M, XM, IT, MPTM) internally, and my AMS loader makes use of as many OpenMPT features as possible to play those files as well as possible - this includes importing channel names, which are not part of the original IT format, but still that's no a valid reason to simply not import them.

Quote
Try to play it using Velvet Studio - you will hear the difference!
I never said it would be perfect - but at the same time, I strongly doubt that MilkyTracker would do any better job at it. And unless the author of MPPWC wants to rewrite his engine completely, he will also not managed to do a better job than OpenMPT, as the "best" format supported by both players is IT.

Quote
Not true, if you have a sample only few bytes long or a sample long about 20kB it is a big difference if you take out one byte - it must logicaly affect the sound pitch while for the 20kB sample you should not hear any pitch. Not many chiptunes has as much short samples like Charts Overdrive.
Sorry, but you have no idea what you are talking about. 32-byte long samples are very common in chiptunes. Playing a 1kb sample takes as much effort as playing a 32b sample. The pitch of a 32b sample should always be the same, because its loop period is always the same (unless there are off-by-one loop length bugs somewhere, which I've never encountered in regular MOD players)... Maybe you should try implementing your own mod player to understand what this is all about. ;)
There can of course be great differences in interpolation algorithms being used, but using different interpolation algorithms is not a "bug", it's a feature.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on June 10, 2013, 16:15:58
I've just looked into AMS features and format.
It seems and extended XM with its shadowed instruments, vibrato (pitch) envelopes, etc.
Altough it has some very unusual features (varying track number for patterns, max 7(! my god..) effects per note, etc.) that seem totally needless for tracking, it does not seem impossible to be supported.

The only worrisome thing is the echo effect. As far as I remember it was mentioned in the tracker user guide but not in the format descripton.

Quote
I never said it would be perfect - but at the same time, I strongly doubt that MilkyTracker would do any better job at it. And unless the author of MPPWC wants to rewrite his engine completely, he will also not managed to do a better job than OpenMPT, as the "best" format supported by both players is IT.

While converting an imported format to an own, (and hopefully superior) format is unavoidable in a tracker, it's not necessary in a player at all.
The base problem is that even if a superior format contains all features of another format, it does not mean they are fully compatible. Different trackers may handle (not only) side cases differently. For example, MultiTracker is claimed to be Protracker-compatible, but it's easy to create a sample case where Pro and MultiTracker plays that differently. The same goes to Scream and Impulse Tracker, e.g. defining global volume in IT affects all currently playing channels while only newly started notes in ST3. Even handling the default effect parameter is different between them, etc. There are hundreds of such small fries... (so creating a super container format is impossible.)
In MPPWC, one of the goals was to play each format as if it was played in the corresponding tracker. So it does not convert any supported format to a common internal one. It's core player engine deals only with things that are very basic for each format: BPM, speed, tracks, samples, presence of effects, mixer, and so on. Rest of the playing logic (along with the loader code) is implemented separately for each format. The latter requires reverse engineering trackers. This is what should be done to Velvet Studio as well but it is the most time consuming part.



Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 13, 2013, 12:21:26
And? This is just because OpenMPT must convert any file into one of its four editable formats
You talking about nonsense..
You obviously didn´t try Milky Tracker. It plays much better but not everything is good also! OpenMPT plays like it just play notes - it is totally out - and if it is because of that it must convert ?? - how you can convert something what OpenMPT don´t support???  ;D

And then - it is just a tracker - we are talking about to play the AMS format (of course the right way!) - not to convert to MID then play  ;D

You say - don´t drive formula - take a bus - it is the same  :rolleyes:
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 13, 2013, 12:27:33
It seems and extended XM with its shadowed instruments, vibrato (pitch) envelopes, etc.
Altough it has some very unusual features (varying track number for patterns, max 7(! my god..) effects per note, etc.) that seem totally needless for tracking, it does not seem impossible to be supported.

The only worrisome thing is the echo effect. As far as I remember it was mentioned in the tracker user guide but not in the format descripton.


Hi Dege,
yes, it is totaly crazy format :) Do you think you can make the correct player even that craziness? :) (and no echo description?) Then there may be the only way to make it correct to play - to compare the outputs from the Velvet Studio by some method.. earmetricaly?  :angel:
Thanks.
Lukas
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on June 13, 2013, 21:51:44
I think Saga Musix speaks about converting imported formats to the native, editable format of trackers. He is right. This conversion process is probably better implemented in one while worse in another. Some of the AMS format features cannot be converted to any other format so they get lost (however I don't know importing capabilites of particular trackers, so I cannot judge if Milky or OpenMPT is better in that). Of course, probably most AMS tunes out there don't utilize those features so they should play fine after importing.

Quote
(and no echo description?)
Having another look into the tracker readme, it's the feature of the editor not the format itself, if I got it right. It's good.

Quote
Do you think you can make the correct player even that craziness?
Quote
to compare the outputs from the Velvet Studio by some method.. earmetricaly?  
Most of the reverse engineering was done earmetricaly, but a strong guess was also needed in most cases.  :) AMS documentation isn't too verbose, so I don't know... Perhaps.  :-\
A good example: I was fiddling a little with the speed of envelopes to figure out what it means when it's bpm-independent. No success so far, and this one cannot be figured out just by ears. Any "mismeasuring" could mess up a complete song later.  :(
Implementing 7 effects per note wouldn't be so hard but it implies a lot of questions like how they combines together, what if more than one of the same type are given, etc.
7 effects of more than 16 types are a tremendous number of combinations, even a fraction of them cannot be checked one by one.
(Original source code always helps a lot in such cases.  ;D)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 13, 2013, 23:03:31
Yes..
I don´t know how can I help you if you will try it.. I only know about that also exists the player of the Velvet Studio AMS files. It is a small DOS 32bit utility. It is a part of the package with it and its name is VPlay.exe.
It is for DOS but it is 32 bit extended DOS. I don´t know how to reverse engineer this :) even tried it using IDA. But it is somehow packed with D3X DOS Extender by Adam Seychell. I have tried to unpack it using stubx tool, which may have been used to it with no success :( The only think it gaves me is that the code is starting at 2308h. I don´t think there may be the chance to get source code. Who knows if the developer is reachable yet and still has it.


You can also try to analyze the AMS2WAV converter. It is not packed and should be more readable.. But I am not familiar with this  :angel:
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 13, 2013, 23:11:10

Having another look into the tracker readme, it's the feature of the editor not the format itself, if I got it right. It's good.


This I don´t exactly understand.. If the Studio can do it and saves it in AMS, the format must also include it - no?
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 13, 2013, 23:13:42
You talking about nonsense..
You obviously didn´t try Milky Tracker. It plays much better but not everything is good also! OpenMPT plays like it just play notes - it is totally out - and if it is because of that it must convert ??
Yes, I did try Milkytracker. necrophilia.ams sounds pretty much the same in OpenMPT and MilkyTracker. Needless to say there are differences between OpenMPT and MilkyTracker, such as MilkyTracker resetting the default panning on every note, which is not intended behaviour. That's a limition of MilkyTracker interpreting the file as an XM file (whereas OpenMPT interprets it as an IT file). If it sounds "totally out", maybe you are using a really old version of OpenMPT? I think I've completely rewritten the AMS loader in OpenMPT 1.20 or 1.21, so try the latest version (1.22) if you haven't done so before.

How about if you find some big mistakes that OpenMPT makes in the conversion you simply tell me the details about them and I'll fix it?

Quote
how you can convert something what OpenMPT don´t support???  ;D
See what Dege said. OpenMPT converts every format into its editable formats, MilkyTracker does the same - with the difference that it has less internal formats (MOD, XM) to choose from.

Quote
Of course, probably most AMS tunes out there don't utilize those features so they should play fine after importing.
That's correct. There aren't many (if any) files that would make constant use of the up to 7 effect columns, or fine vibrato envelopes, or whatever...
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 13, 2013, 23:46:30
Yes, I did try Milkytracker. necrophilia.ams sounds pretty much the same in OpenMPT and MilkyTracker. Needless to say there are differences between OpenMPT and MilkyTracker, such as MilkyTracker resetting the default panning on every note, which is not intended behaviour. That's a limition of MilkyTracker interpreting the file as an XM file (whereas OpenMPT interprets it as an IT file). If it sounds "totally out", maybe you are using a really old version of OpenMPT? I think I've completely rewritten the AMS loader in OpenMPT 1.20 or 1.21, so try the latest version (1.22) if you haven't done so before.

How about if you find some big mistakes that OpenMPT makes in the conversion you simply tell me the details about them and I'll fix it?
See what Dege said. OpenMPT converts every format into its editable formats, MilkyTracker does the same - with the difference that it has less internal formats (MOD, XM) to choose from.
That's correct. There aren't many (if any) files that would make constant use of the up to 7 effect columns, or fine vibrato envelopes, or whatever...

8)
I don´t know what is it about.. I just hear the difference..  :angel:
Try to make it play like Velvet Studio which can read also other modules and play it correctly..
Do the OpenMPT like Velvet Studio for Windows and the Player - this is what I would like to..  ;)

The Velvet Studio is probably the most advance I have ever seen, and the AMS format is the most advanced format as I see it - every other format includes what Velvet studio (AMS) already has also.
You can see it in the PDF included - it can also open other advanced formats like S3M, XM, MTM and other.. And it plays correctly all of them!
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 00:10:50
Quote
I don´t know what is it about.. I just hear the difference..
Yes, there are many differences between OpenMPT and MilkyTracker, most of them are because of MilkyTracker not supporting certain features, though. Another example in necrophilia.ams are the channel volume commands on channel 10/11 - they are supposed to turn the guitar samples on and off, as it happens in OpenMPT, but in MilkyTracker they are just played without any interruptions.

Quote
The Velvet Studio is probably the most advance I have ever seen, and the AMS format is the most advanced format as I see it - every other format includes what Velvet studio (AMS) already has also.
I don't really feel like counting features, but without even having to look I can think of several features that the IT format has which are not present in AMS - e.g. fully configurable MIDI macros, resonant filters and stereo samples. Compared to other formats, it also lacks DSPs (e.g. MT2, DBM), synthesized samples (MED), and many other things. The truth is - there is no single format which covers all other formats as well.

To be honest, I cannot spot any remarkable differences between the AMS2WAV output and OpenMPT's output for this specific song. Again, if you can spot any obvious errors - point them out. "I just hear the difference" is not a valid argument and suggests that you just want to hear a difference even if there is none. That helps neither me, nor you, nor Dege if he wants to try better.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 00:22:19
And regarding the echo thing mentioned earlier - judging from the manual, it simply generated echo pattern commands automatically. No magic involved. It's an editor feature, not a file format feature.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 00:30:26
Yes, there are many differences between OpenMPT and MilkyTracker, most of them are because of MilkyTracker not supporting certain features, though. Another example in necrophilia.ams are the channel volume commands on channel 10/11 - they are supposed to turn the guitar samples on and off, as it happens in OpenMPT, but in MilkyTracker they are just played without any interruptions.
I don't really feel like counting features, but without even having to look I can think of several features that the IT format has which are not present in AMS - e.g. fully configurable MIDI macros, resonant filters and stereo samples. Compared to other formats, it also lacks DSPs (e.g. MT2, DBM), synthesized samples (MED), and many other things. The truth is - there is no single format which covers all other formats as well.

To be honest, I cannot spot any remarkable differences between the AMS2WAV output and OpenMPT's output for this specific song. Again, if you can spot any obvious errors - point them out. "I just hear the difference" is not a valid argument and suggests that you just want to hear a difference even if there is none. That helps neither me, nor you, nor Dege if he wants to try better.

It´s nice that some tracker can open as many formats - but what is it for if it doesn´t play like it may play??
This I will never understand..
The Velvet studio opens XM, S3M - it don´t open IT because it don´t know stereo samples.. OK - the Velvet studio then should open IT also - but why if it don´t support stereo samples - so it will not interpret it corectly?? It is just an example.. Sorry - but AMS on OpenMPT don´t play as it plays on Velvet Studio - try it and you must hear it! Nevermid that is must convert something to anything - it is not an argument! I would like to hear the AMS with all its features! You may NOT to have left the interpretation on tracker itself - the music is written somehow and it may play correct in any event! If something is able to open some format it may be obvious that it will play exactly as it was meant.
If you don´t hear the difference - I will send you exported MP3 ;)  if you don´t want to install Velvet Studio..
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 00:41:47
Quote
It´s nice that some tracker can open as many formats - but what is it for if it doesn´t play like it may play??
This I will never understand..
There are many reasons, for example:
- Song authors may want to rewrite their existing tunes in a better tool. For that, they are glad about any automated help, i.e. not having to re-enter everything into patterns again.
- Many formats have rarely-used features that are simply not worth being emulated.
Seriously, would you rather see OpenMPT and Milky not having basic AMS support?! If you only want 100% perfect replayers, then there would be none - simply because no player / tracker is perfect enough to emulate another tracker (e.g. even if XMPlay claims to play XMs "100% accurate", there are still many bugs that can only be discovered by very obscure test cases).

Quote
The Velvet studio opens XM, S3M - it don´t open IT because it don´t know stereo samples.. OK - the Velvet studio then should open IT also - but why if it don´t support stereo samples - so it will not interpret it corectly??
I think IT was simply not well-known enough when Velvet Studio was written. It didn't even exist when Extreme's tracker (that's the old name of Velvet Studio) was written. At that time, no IT-compatible software could write or read stereo samples anyway, so this feature is certainly not the reason why Velvet Studio won't read IT file. Velvet Studio will also play many XM files wrongly because it doesn't emulate all XM quirks perfectly - again, is this a reason for you to drop XM support out of Velvet Studio? If it is, you are simply thinking different from 99% of all other module composers and tracker creators.

Quote
I would like to hear the AMS with all its features!
There is only one solution, as with every other format as well: Play the file in the software it was written in. That's the only way to get 100% authentic output the way the original author intended it.

Quote
If you don´t hear the difference - I will send you exported MP3 ;) if you don´t want to install Velvet Studio..
As I've said, I hear no big differences between AMS2WAV and OpenMPT - obviously I have Velvet Studio in my tracker collection.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 00:46:01
So, which of the two is Velvet Studio, and which one is OpenMPT? ;)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 00:48:42
OK, I don´t need the tracker, I will better wait for 100% perfect player  :angel:
OK, if 99% and I will not find the difference on first try..  ;) But it is not a case of OpenMPT yet.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 00:49:52
Sorry, board didn't like the second file. So here's the one you should actually compare it to!

And again: A perfect player that isn't AMS2WAV itself will never exist. Certainly there can be a player that's better than OpenMPT at playing AMS, and in theory this could be MPPWC, but nothing will ever be as accurate as the original program, unless you actually rip out the original play routines and put them in your own program.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:01:07
I havent heard b but a is openMPT ;) but this part plays ok, but not everything plays not play like this part of this one song.. Try the others demosongs.. :) It is the shame - yes - this one plays relatively ok..
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:05:28
hmm - sorry - b is openMPT probably.. .) I have just heard b. Something is wrong - but I am not sure.. :) Ok - you got me! ;) This play just fine..  :D The a.zip - this should be because of ogg compression or another settings of your card what confused me ;)


SURELY B.ZIP

listen the song - it plays a note out of the rythm completely!
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 01:12:00
a is AMS2WAV. You see my point? ;) The only differences I could hear are panning differences, but I cannot explain why stuff is panned differently in AMS2WAV. It just doesn't make sense from the format documentation's point of view.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:13:04
You are actually wrong - a is AMS2WAV. You see my point? ;)

No I don´t - AMS2WAV plays OK

B.zip - OpenMPT
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:15:32
You see my point ;) ?

The only small part and the note is out in OpenMPT

plays well in AMS2WAV - just maybe small details - like the sound volume or what should be little different to velvet studio..

Wait - I will tell you exact second - you should then fix it ;)


5s 130ms - chinnel :) - B.zip - there is no chinnel in original! - How it is possible??
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 01:25:03
Quote
note is out in OpenMPT
You mean the crash cymbal that's there in OpenMPT but not in AMS2WAV? That's exactly one thing that cannot be emulated in OpenMPT (or MilkyTracker, for that matter) for now: AMS has some extra loop types for samples that other formats don't have, for example "bidi loop, starting at end of sample", which essentially makes the crash cymbal play backwards instead of forwards. OpenMPT and MilkyTracker do as well as they can and simply apply a standard bidi loop, starting at the beginning of the sample.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:27:12
But you gave me an idea - I will convert all of them to WAV - I don´ t wanna to edit it.. Just listen using some normal player..  ;D It shouldn´t be as much work as to build correctly playing player as I see it..  :angel:
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:28:48
You mean the crash cymbal that's there in OpenMPT but not in AMS2WAV? That's exactly one thing that cannot be emulated in OpenMPT (or MilkyTracker, for that matter) for now: AMS has some extra loop types for samples that other formats don't have, for example "bidi loop, starting at end of sample", which essentially makes the crash cymbal play backwards instead of forwards. OpenMPT and MilkyTracker do as well as they can and simply apply a standard bidi loop, starting at the beginning of the sample.

OK, if you know it - just fix it! ;) Go for it!  ;D
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:33:28
As I already said - and what is this all about - I just want some player that is able to play it correct way - you know that OpenMPT now don´t and you exactly explained to me what is the problem - e.g. bidiloop ;) and so long..
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 01:52:16
You know - I am glad you are still developing the OpenMPT. So it is a chance that one day it will play all the formats like I will not hear any difference.

The panning is not the problem - if it is a little more left then it is in the original player/tracker where it was created, nevermind of little differences - ok - nevermind if some volumes is little less or more loud - if it is not able to hear.. But when the notes plays where they should not or don´t play or plays another sound or what - it is not good, and this I think should not happen to any good player!

Thank you!
:)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 02:06:47
I certainly agree that it would be a good idea to integrate this feature - it's just a matter of how this should be done. I implemented it for a quick test and it works well, but it's not editable from the GUI and such - so there is more work to be done.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 10:22:48
I certainly agree that it would be a good idea to integrate this feature - it's just a matter of how this should be done. I implemented it for a quick test and it works well, but it's not editable from the GUI and such - so there is more work to be done.

hmm, thumbs up!

It is the word of the man! Great! Thank you, then - if it is possible - can you build the simple player from it also? I am yet using the old ModPlug Player for playing modules which I think is about 10 years old.. It is told that it also is able to play ams but when you try it - it is absolutely catastrophic, but plays very couriously e.g. Hullun päiväkirja  :o  But it supports and play well many of other formats. The pitty that it don´t play AMS as well.

Maybe - connect your forces with Dege and I will be glad if I could then test it for you :)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 10:30:00
it's not editable from the GUI and such

Yes, it is the pitty, but it then should not be possible to save it as ams - but I think it is not as necessary at all. I think you can have it implemented as you made it yesterday, just only tell that by opening AMSs (some message window) that some features will not be accessible but will play for now but will not be saved and if the user would like to remove it for now and loosing it completely or leave it (just for playing) but next time when it will be saved and then opened the feature will be lost..

So even that it is not yet implemented at all, it can be here for better support of playing and listening AMS files.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on June 14, 2013, 11:46:43
Quote
It is the word of the man! Great! Thank you, then - if it is possible - can you build the simple player from it also?
There will eventually be OpenMPT input plugins for various players such as XMPlay, Winamp, foobar2k and others. This is a work-in-progress and might come public later this year.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on June 14, 2013, 14:57:13
There will eventually be OpenMPT input plugins for various players such as XMPlay, Winamp, foobar2k and others. This is a work-in-progress and might come public later this year.

Alright - I will be watching and waiting for it.
Thank you very much and don´t be anger to me for that messages.. I think by this igneous discussion we have found together the useful stuffs to improve this good tracker/player!
 ;)
Lukas
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on July 22, 2013, 10:46:06
Altough I don't have much spare time nowadays, last week I started to add AMS support.

However I'm not sure about the outcome... I can't promise anything. The goal is perfect support because no one likes half-baked, useless implementations, including me.  :)
Don't even know when it will get ready.  :-\ It depends on how much rev engineering needed, etc.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on August 06, 2013, 15:48:34
And to hijack this thread one last time... OpenMPT has been updated (http://openmpt.org/openmpt-1-22-04-00-released) today, finally bringing those backwards loop improvements for AMS files - several effects in the PTM format has been improved as well, OpenMPT might very well be the first external player to get them right. :)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Baldric on October 10, 2013, 10:04:17
Hi!

I stumbled upon this post and was surprised it is an active thread, and not something written 20 years ago :) I'm honored that people still finds interest in my old music format AMS, and the tracker Velvet Studio. It was a dear baby for a couple of years and still brings many nostalgic memories.

I'm interested in the outcome of your project, and if there's something I can help you with, please don't hesitate to ask. I can't promise I remember everything after 20 years though, but the answer is in the source code which I have lying around somewhere.

Best
Patrik Oscarsson, a.k.a. Baldric
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on October 10, 2013, 13:41:16
Hi Baldric, nice to see you around! :) Is there anything that would speak against open-sourcing your old tracker? Only a few people from back then have done that so far, or they have given out bits of the code to some fellow tracker/player developers. It would be nice to see more people moving to giving out complete tracker source codes, because honestly, there's no real reason not to do so.
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Baldric on October 11, 2013, 09:29:57
Hi Saga Musix,
Do you really think people would care about that old code?
The code is in assembler, and not organized very well. It was among the first things I ever coded ;)

However, I have nothing against releasing it as open source, but I would need help to do it, since I've never released anything open source before. I could send you the zip-file if you're willing to help.

Best
Patrik
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on October 11, 2013, 12:47:54
Well, naturally there wouldn't be too many people interested in the code, but it can often help to have a quick glance at the original code to understand why things happen in a certain way.

Regarding the opensourcing process, it's not very complicated, the most important thing would probably to stick a code license into the archive. Since we're talking about 20 year old code, using the unlicense (http://unlicense.org/) (practically a "public domain" license) might be the most sensible thing to do. Just have a look at the license to see if you can agree with it. :)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Baldric on October 18, 2013, 08:15:27
Hi!

Now I've submitted the code as Open Source to GitHib

https://github.com/Patosc/VelvetStudio

Best
Patrik Oscarsson
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Saga Musix on October 18, 2013, 10:15:29
Yay, thanks a lot! I'm certain this will be interesting to look at. And maybe it will convince a few other tracker developers from back then to finally open their sources, who knows. :)
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on October 18, 2013, 12:40:34
Hi Baldric!

I'm a bit lagging behind, as for the recent Velvet Studio news. :)
Thanks for releasing the source so quickly, great news!

Unfortunately implementing AMS support in mppwc is been paused for some time, but I didn't give it up.
I would really appreciate if you could give me some hints and help to some unclear playing logic if I come accross them. But, having the source, I hope I won't have to reverse engineer so many thing by ear as I did with other formats. I also hope that everything will be clear by the source and bothering you by a lot of questions will be unnecessary after all. :)

(BTW, a long ago I found a bug in the decoder. Not so serious, but a few IT modules plays totally wrong so it's annoying after all. I think I'm going to release a new version fixing that, without AMS support, for the time being.)



Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Baldric on October 18, 2013, 13:20:20
Hi Dege and Saga Musix

I'm just glad I can help. Hopefully the sourcecode can get some insights how to correctly play .AMS files.

If you have any questions, I'd be happy to help. It would be interesting to beta test the AMS support in your plugin :)

Patrik
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: eLK on November 04, 2013, 22:31:21
Hi Baldric and all friends of AMS format and Velvet Studio great application!
I am very happy to see that the AMS is still alive and that there is maybe chance to there be a player to play the AMS correctly as it was intended. I like the format as it seems to me it is very advanced more than others, even I know that every formats has its own pros and cons.. :)
Thank you for putting sources of Velvet Studio for free use, maybe someone can reverse them and make the new version which will be working under new windows systems without need of using any emulator.
Or simply to add the support to ModPlug Tracker which is on the good way to support it! :) I would also like to thank to Dege, who is trying to make the well playing plugin for Winamp which is also very useful and last but not least to thank to Saga Music who coordinate all this to be possible enable to rise this all about AMS and ModPlug and also this web etc. 8)
I am very interesting good modules and good players and I am enjoying what will come now next here on this scene..  ;)
eLK
Title: Re: Yet another Tracker Module Decoder - MPPWC
Post by: Dege on November 18, 2013, 10:06:54
I've released a new version.
However, there is still no AMS support in the plugin, it's just a patch for Impulse Tracker related bugs.
I hope I haven't messed up anything with it. I listened a tons of IT modules during work and it seems to be ok. Anyway, I also hope I don't have to deal with IT anymore.

As for AMS, I would really like to continue the developing but my spare time has dwindled... :(

Patrik, I really appreciate your help in advance.  8)