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: foo_dumb (Read 313559 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_dumb

Reply #101
Quote
First listening test with volume ramping enabled sounds good. I found the linear setting to work best so far.


Logarithmic ramping is possibly closer to the "sensitive" setting supported by BASS and XMPlay. The two automatic modes apply linear only to XMs, while allowing use of the more sensitive ramping scheme on all other files.

Jeroen Tel's two infamous chip tunes, Stranglehold and Letting Go, manage to break my ramping scheme, as it is not smooth enough for them. I would need to implement a system that calculates one tick ahead of the renderer, just for the purpose of catching volume changes so they can be ramped in a linear fashion.

Currently, I just use a cheap-ass weighting scheme so volume changes are just applied gradually in a logarithmic fashion. While I do ramp sample start/end points in a linear (1/256th of a second ramp) or logarithmic (1/8192th of a second ramp), the actual volume changes are currently always logarithmic, but somewhat less sensitive in the "linear" mode.

Quote
While you mentioned the tricks used in Nearly.mod to overcome the 31 sample limit i was especialy interested to have a look at foo_dumbs sample info for this file again. It only displays 2 out of 31 samples?  I checked several .mod files and never got to see a complete list of included samples. Looks like samples without a name/text info in the sample table aren't displayed anyway for every module format. Sampleslots containing text only i.e. without an existing sample are listed, though. Btw., Foo_Mod/Bass.dll behaves the same here.
[{POST_SNAPBACK}][/a]


Sample names were originally added only for the purpose of displaying song messages inserted there. I may add a more complete song/sample info dialog, but most of this information could also be found in various trackers. While not as convenient, it does serve as a decent alternative until I design such a dialog.


Quote
Hi
I hope you received all my files by email some days ago.

I found some new mods who refuse to play in foo_dumb:

[a href="ftp://ftp.modland.com/pub/modules/composer%20669/cc%20catch/cc-hell1.669]ftp://ftp.modland.com/pub/modules/compose...ch/cc-hell1.669[/url]
ftp://ftp.modland.com/pub/modules/compose...ch/cc-hell2.669
ftp://ftp.modland.com/pub/modules/compose...ch/cc-hell3.669

ftp://ftp.modland.com/pub/modules/multitr...20beginning.mtm

ftp://ftp.modland.com/pub/modules/multitr...n/flashback.mtm
ftp://ftp.modland.com/pub/modules/multitr...0the%20wind.mtm
[a href="index.php?act=findpost&pid=248028"][{POST_SNAPBACK}][/a]


I'll look at these shortly.

foo_dumb

Reply #102
After some more listening tests i find myself to switch off current implementation of foo_dumb's volumeramping. While clipping appears much less with "linerar" it softens the samples to much. "Logarithmic" preserves crispness of the samples but isn't as good in clipping removement. Plus it adds noise/disturbances to some samples. Hopefully OCP's mixer sources can lighten the task for improving foo_dumbs mixer.

Volume ramping testfiles:
Phazer.s3m : massive clipping over the whole song, good for testing
Jos-Ssin.xm : noise/disturbances with logarithmic volume ramping

Do you remember the Foo_Modplug plugin by KarlKox? I checked it again, it supports the ASYLUM .mod format from the "Crusader" games. Just wanted you to know that the modplug sources provide an functionable base for ASYLUM -mod replay among other (exotic/seldom) formats: psm mt2 umx ult stm ptm okt mtm med mdl far dsm dmf dbm ams amf 669 it  xm  s3m mod. The .psm support sounds horrible, though.

foo_dumb

Reply #103
Uploaded v0.9.5.2.
  • Added a minor hack to MOD loader to skip unused patterns in the Iguana demo files. Whee.
  • Minor bug fixes to the MOD loader's buffered reader.
Uploaded v0.9.5.1.
  • Changed MOD and 669 truncated sample handling a bit for more consistency.
  • Added support for ('M',0,0,0) and ('8',0,0,0) MOD signatures used by the files from this demo, which feature delta encoded samples. Hackity hack hack...
Uploaded v0.9.5.
  • Overhauled volume ramping into a more acceptable state.
  • Tweaked XM Amiga frequency sample auto vibrato a bit, it should be more correct now. (See: F0x-test.xm)
  • 669 loader is now lenient with truncated sample data. (cc-hell1.669, cc-hell2.669, cc-hell2.669)
  • MTM loader is now lenient with track numbers which are out of range, and also ignores the main header attribute byte, for which there are no defined values other than zero. (the beginning.mtm, flashback.mtm, yell of the wind.mtm)
I should separate volume ramping from start/end declicking, since ramping is always linear, while it is only that declicking which can be logarithmic. Then there is the original declicker, which is probably unnecessary now that I've implemented volume ramping, but I'll leave it in there just to be safe. (Load up Jt-strng.xm in XMPlay, disable volume ramping completely. Original declicker is all that kept DUMB from going totally clicktastic on that file.)

Hmm, it also appears that sample end ramping is insufficient. Maybe I should pre-ramp the ends of non-looping samples which are at least 2000 samples long or so... Kind of hard to predict the end of a non-looping sample with this resampler setup, for the purpose of ramping it to silence.

Oh, and you may not have noticed it yet, but, uh, the current sample end declicking, which kind of fails for non-looping samples, briefly consumes NNA voices. It shouldn't have a noticeable impact on voice availability with most IT files which already use NNA.

Quote
After some more listening tests i find myself to switch off current implementation of foo_dumb's volumeramping. While clipping appears much less with "linerar" it softens the samples to much. "Logarithmic" preserves crispness of the samples but isn't as good in clipping removement. Plus it adds noise/disturbances to some samples. Hopefully OCP's mixer sources can lighten the task for improving foo_dumbs mixer.[{POST_SNAPBACK}][/a]

Why, yes, this did help enlighten me. Although I did know that I needed to make ramping linear from tick to tick, I didn't really think to move all volume/panning processing to the voice processing which only occurs once per tick.

Quote
[a href="ftp://ftp.modland.com/pub/modules/Screamtracker%203\Karsten%20Koch/phazer-demo%20(kk).s3m]Phazer.s3m[/url] : massive clipping over the whole song, good for testing[{POST_SNAPBACK}][/a]

Yes, indeed, this clicking is quite noticeable with the logarithmic declicking. Have you also compared with BASS/XMPlay using the sensitive ramping setting?

Quote
[a href="ftp://ftp.modland.com/pub/modules/Fasttracker%202/Josss/sweetest%20sin%20-%20josss.xm]Jos-Ssin.xm[/url] : noise/disturbances with logarithmic volume ramping[a href="index.php?act=findpost&pid=248092"][{POST_SNAPBACK}][/a]

While there is still light clicking with only logarithmic declicking, that is probably to be expected. It is safe to use at least one of the automatic settings, which will always apply linear declicking to XM files.

Quote
Do you remember the Foo_Modplug plugin by KarlKox?[a href="index.php?act=findpost&pid=248092"][{POST_SNAPBACK}][/a]

I have dealt with libmodplug in the past. It hasn't changed much in the last year or so since it was first released, other than bug fixes.

Quote
I checked it again, it supports the ASYLUM .mod format from the "Crusader" games.[a href="index.php?act=findpost&pid=248092"][{POST_SNAPBACK}][/a]

I assume you mean just another MOD variant, and not just their .AMF format. If they don't already work, post some files and I will look into it.

Quote
Just wanted you to know that the modplug sources provide an functionable base for ASYLUM -mod replay among other (exotic/seldom) formats: psm mt2 umx ult stm ptm okt mtm med mdl far dsm dmf dbm ams amf 669 it  xm  s3m mod.[a href="index.php?act=findpost&pid=248092"][{POST_SNAPBACK}][/a]

Why yes, I have found it to be quite useful as a reference for several formats.

Quote
The .psm support sounds horrible, though. [a href="index.php?act=findpost&pid=248092"][{POST_SNAPBACK}][/a]

Wouldn't you know it, libmodplug was my entire base reference for the newer PSM format. Modplug's PTM support has some glaring faults as well. I guess unlike Olivier, I've actually bothered to test and debug most of the exotic formats I've added.

foo_dumb

Reply #104
Hi
1. I uploaded in the upload forum some module format descriptions, maybe you don't have all of them:
http://www.hydrogenaudio.org/forums/index....pe=post&id=1077


2. There was a useful option in x-fixer's in_mod : it displayed an error message each time it loaded a module with unsupported/unknow effect. You just had to load all your modules in the playlist and see directly those unsupported. Then send the file to the developer.

Could you add a similar feature, maybe with displaying an error message in the console each there is a problem (unsupported effect and other things too)?

foo_dumb

Reply #105
Quote
Yes, indeed, this clicking is quite noticeable with the logarithmic declicking. Have you also compared with BASS/XMPlay using the sensitive ramping setting?

Of course i did. I used to listen to my mod collection with it once, you know? Then came foo_dumb.
With In_MOD/Bass.dll and XMP i use sensitive ramping by default, Phazer.s3m sounds quiet good there.

Quote
While there is still light clicking with only logarithmic declicking, that is probably to be expected. It is safe to use at least one of the automatic settings, which will always apply linear declicking to XM files.

Why is it save to use linear for xm instead of logarithmic?

Quote
I assume you mean just another MOD variant, and not just their .AMF format. If they don't already work, post some files and I will look into it.

Please check your mail.

Quote
I guess unlike Olivier, I've actually bothered to test and debug most of the exotic formats I've added.

And you did that very well. Especially .psm replay quality blew me away.


Going to test latest version now...


foo_dumb

Reply #107
Quote
I'm not 100% sure but I think there is a problem in this 669 at 00min 07sec (ok I used winamp to compare but it sound better there)[{POST_SNAPBACK}][/a]

Using Winamp's mod playback capabilities for comparison is a no go. I recommend to get yourself a worthy competitor to foo_dumb, namely do a second foobar2000 install using Kode54's foo_mod.dll/bass.dll and/or use [a href="http://www.un4seen.com]Xmplay[/url]. Not to mention to check back with the original tracker, though getting them to run on todays pc environment isn't a trivial task for the unexperienced. Then again, you aren't a newbie regarding modules, no?

Quote
Going to test latest version now...

Sounds much better now. Linear is still a no go for me, i don't like the current lose of detail with the softened samples. XMP's sensitive ramping still does a better job, but i think we're getting there soon, maybe even surpass XMP's ramping quality.

foo_dumb

Reply #108
Quote
Quote
I'm not 100% sure but I think there is a problem in this 669 at 00min 07sec (ok I used winamp to compare but it sound better there)[{POST_SNAPBACK}][/a]

Using Winamp's mod playback capabilities for comparison is a no go. I recommend to get yourself a worthy competitor to foo_dumb, namely do a second foobar2000 install using Kode54's foo_mod.dll/bass.dll and/or use [a href="http://www.un4seen.com]Xmplay[/url]. Not to mention to check back with the original tracker, though getting them to run on todays pc environment isn't a trivial task for the unexperienced. Then again, you aren't a newbie regarding modules, no?

Yeah I know winamp is not a very good module player, but two years ago I followed his development and some formats are pretty well supported (namelly 669, OKT, AMF and PTM), and for those format I think it's not that bad to test and compare with it (bass.dll doesn't support them at all).

For more classic format I use xmplay, because I don't have time to install old trackers with dosbox, and it's a little bit complicated!
But don't worry i'll setup a good testing environment with dosbox when I'll have more time!

foo_dumb

Reply #109
Where can I download the plugin... The link from the first post doesn't work... I get an info that I don't have permission to view the page...

foo_dumb

Reply #110
Kode54 got a temporary page right now, it's  here.
"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
        - Oceania Association of Autonomous Astronauts

foo_dumb

Reply #111
Uploaded v0.9.5.4.
  • Fixed a division by zero bug in the mixer/resampler with samples that have a zero C5 speed.
Uploaded v0.9.5.3.
  • Corrected 669 tempo and speed. That's what I get for mostly trusting libmodplug as a reference.
  • Sample end ramping will always be ~2ms logarithmic, regardless of which ramping mode is activated.
  • Sample end ramping no longer tries to cover voices which are marked as dead, which happens either when a volume envelope silences the sample or when a non-looping sample ends. This prevents a lot of the NNA voice waste which was occurring.
Either I did not notice, or I forgot that libmodplug supported both AMF formats. I will work them both into my next release.

foo_dumb

Reply #112
*bumpedibump*

Browsing Modland i found a Protracker mod with filesize smaller than the one of my collection. Besides some different sample name text mine has got additional 96 zeros at the end of the file. The smaller one fails to load with foo_dumb v0.9.5.4, foo_mod and XMP loads it.

Dragonsfunk.mod : this one fails to load in foo_dumb
Dragonsfunk.mod : this one loads fine everywhere

Taking a break from foo_dumb coding or do you have something cooking?

foo_dumb

Reply #113
Uploaded v0.9.5.5.
  • Tweaked MOD sample loader a bit more to ignore errors when skipping sample data it already truncated.
Example, in this case, being Dragonsfunk.mod, the last sample in the file has a loop with excess data following the loop, and most of the loaders ignore/truncate that anyway. Since MOD format doesn't include any sample offsets, it skips the truncated portion after loading the required sample data. In this file, the truncated portion is 0x240 bytes long, but the shorter file is missing a whole two bytes of that, heh. That, or MOD loops really are supposed to be two samples shorter than specified, and lengths of 0 or 2 mean no loop... Hmm...

Yeah, I've kind of taken a break from foo_dumb development for now, as I've been jumping around on other random projects. I'll get back to this eventually, as I also kind of promised someone MED support. (Actually, a bit of the problem seems to be where I go from adding features based on random inspiration and springing them upon the user base, to actually promising features. Heh.)

foo_dumb

Reply #114
While adding new files to my collection i came across these two modules:
ifaskedt.mod: Crashes foobar immediately, AMIGA module
valentin.xm: Skips Order00 (holds a few commands in the last rows only, used for initialization?), thus reporting subsong at Order 01

Been a while since the last release of foo_dumb...

foo_dumb

Reply #115
Quote
While adding new files to my collection i came across these two modules:
ifaskedt.mod: Crashes foobar immediately, AMIGA module[{POST_SNAPBACK}][/a]


Uploaded v0.9.5.6.
  • Fixed a bug in the 669 loader so illegal sample or order counts don't crash it.

  • Moved MOD/MDZ loading to the start of loading order, so random combinations of characters in song title don't trigger other loaders. ("if" in this file was hitting the 669 loader.)


Quote
[a href="http://www.modarchive.com/cgi-bin/download.cgi/V/valentin.xm]valentin.xm[/url]: Skips Order00 (holds a few commands in the last rows only, used for initialization?), thus reporting subsong at Order 01[a href="index.php?act=findpost&pid=264802"][{POST_SNAPBACK}][/a]

I'm not sure what to do about this. Luckily, the initial order only contains note cut commands and speed/tempo changes for silence padding, and the rest of the song does not rely on the speed/tempo changes. I could change this, but then the silence cutter and/or subsong scanner would fail to remove real (annoying) cases of padding. Meh.

Quote
Been a while since the last release of foo_dumb...
[a href="index.php?act=findpost&pid=264802"][{POST_SNAPBACK}][/a]

Indeed it has. I haven't had a lot of motivation to continue working on it, even though I did "plan" to add a few more things. The least I can do is share my changes with entheh. I'll have to get in touch later...

foo_dumb

Reply #116
Quote
Uploaded v0.9.5.6.

Thank you, Kode54.

Quote
I'm not sure what to do about this. Luckily, the initial order only contains note cut commands and speed/tempo changes for silence padding, and the rest of the song does not rely on the speed/tempo changes. I could change this, but then the silence cutter and/or subsong scanner would fail to remove real (annoying) cases of padding. Meh.

No prob, leave it as it is then. Just wanted you to have a look at it to make sure its no big deal.

Quote
I haven't had a lot of motivation to continue working on it, even though I did "plan" to add a few more things. The least I can do is share my changes with entheh. I'll have to get in touch later...

I fully understood you are taking a break from this project. Hopefully motivation will come back to pick it up again, someday in the not to distant future, and don't drop it completly. How's they saying: "I'm young, i can wait."

foo_dumb

Reply #117
Yet another one foo_dumb swallows: Eaten Vinyl.xm. Console output reads: INFO (CORE) : location: "silence://1" (0)
Keep pushing foo_dumb version towards v0.9.6.

EDIT: Thanks for the silent v0.9.5.7 update. A new distribution model?

foo_dumb

Reply #118
2Kode54
Foo_Dumb was updated silently again few days ago. Why was'nt the update anounced?
I'd still like to know what was changed. Attempt to get in touch via email was'nt successfull, too.

If interested i would have to report a few more issues found recently.

foo_dumb

Reply #119
I found an issue with foo_dumb and "Repeat One" playback order. kode54 fixed that.

 

foo_dumb

Reply #120
Found a couple new modules making problems you may want to take a look at.
Reference is FT2 v2.09 (XMPlay plays them fine, too):

Binary World.xm
Order 07, Channel 8,9 (in FT2 = 7,8) replay is wrong.

Trans Atlantic (stereomix).xm
Fails to load. Though when resaved with FT2 it loads without problems.


Regards,
deus-ex

foo_dumb

Reply #121
Quote
Binary World.xm
Order 07, Channel 8,9 (in FT2 = 7,8) replay is wrong.[{POST_SNAPBACK}][/a]

Bug with arpeggio, appears to affect only linear frequency mode. It would appear to be ignoring note offset, instead playing C-5 for any non-zero offset. Switching the file to Amiga mode sounds about the same as what DUMB was doing. I have fixed this, although I'm not sure if it's the correct behavior.

Quote
[a href="ftp://ftp.modland.com/pub/modules/Fasttracker%202/Vogue/trans%20atlantic%20(stereomix).xm]Trans Atlantic (stereomix).xm[/url]
Fails to load. Though when resaved with FT2 it loads without problems.[a href="index.php?act=findpost&pid=333603"][{POST_SNAPBACK}][/a]

Old version of the XM format, which would explain why FT2 supports it, and resaving fixes it. I have added support for both v1.02 and v1.03 format files, which only vary slightly from each other, but quite a different overall file layout from v1.04.

For the curious, here are the differences:

v1.02: Pattern headers contain single byte for row count, range 0-255 for 1-256 rows, making minimum header size 8 bytes. File layout is old type.
v1.03: Pattern headers contain two bytes for row count, range 1-256, making minimum header size 9 bytes. File layout the same as 1.02.
v1.04: Same pattern header as 1.03. New file layout.

Old file layout is as follows:
  • Header
  • For each instrument, instrument header followed by its own sample headers.
  • Patterns
  • Sample data

Newer layout in v1.04 files:
  • Header
  • Patterns
  • For each instrument, instrument header, followed by its own sample headers, then the sample data.


So, change log for foo_dumb v0.9.7:
  • Implemented XM format v1.02 and v1.03 support.
  • Fixed XM arpeggio effect in linear frequency mode, I think.
  • Added framework for generic RIFF module formats.
  • Added RIFF AM/AMFF loaders for Jazz Jackrabbit 2 soundtrack and anything else that uses Galaxy Music/Sound System's internal format. ( [RIFF AM] Hell Freezes Over, heh heh. Feel free to chuck those loricentral.com rips now, since a bunch of them are different from what was used in the game anyway. )
  • Added J2B unpacker to frontend.

RIFF AMFF was fun, since it appears to be an older and slightly less convoluted version of the format, and was only used for Medivo.j2b. The game doesn't use the file, which makes sense anyway since the version of Galaxy that the release version uses doesn't even support that format. Take that.

Documentation on the RIFF AM/AMFF format to come in the form of source code, for the curious. Took me long enough to get down to it, eh? ( That's a year from when I cracked J2B compression and gave up, to picking it up and cracking the format underneath the compression, heh. Oh, and I didn't have any help from public documentation, which I found later. I must kill whoever wrote this one document, they have no concept of the RIFF container format at all. "AM  INIT<unknown>", my ass. )

foo_dumb

Reply #122
Thanks for taking care of the reported issues. Would you mind to update the foobar v0.8.3 compatible version as well?


Regards,
deus-ex

foo_dumb

Reply #123
I noticed a while ago that I have a bunch of mods - mostly .s3ms, also some .xm - showing up blank in the playlist. Inspection reveals that they have an empty TITLE metadata field. It would be nice to have an option for foo_dumb which would make it use the filename as the song title when the title itself is empty.

Aside from that, I miss .stm support.

foo_dumb

Reply #124
Quote
I noticed a while ago that I have a bunch of mods - mostly .s3ms, also some .xm - showing up blank in the playlist. Inspection reveals that they have an empty TITLE metadata field. It would be nice to have an option for foo_dumb which would make it use the filename as the song title when the title itself is empty.
[a href="index.php?act=findpost&pid=375330"][{POST_SNAPBACK}][/a]

Why do that on the dumb side? You can handle this nicely by adjusting your playlist formatting string.
A riddle is a short sword attached to the next 2000 years.