I just loaded an S3M with AdLib samples into Schism Tracker and was wondered: it shows AdLib parameters! It excite me very much. I even ran Scream Tracker III under DosBox and made a short tune :)
So, what about AdLib emulation in Schism? May be it wouldn't be too hard (there is open source adplug project)?
It can drive the Scene to made some cool S3M tunes. Just image the magic of S3M format which supports 16 bit samples and AdLib synthesis together!
Already done, try pressing play ;)
Wow, it works!!!
But wait a minute. It looks like AdLib's volume is too quite (I tested on the S3M which uses AdLib and digital samples at the same time).
I tested S3M on the real hardware. It was Synergy ViperMAX sound card which has GUS and AdLib chips on it's board. Actually, the volume balance between PCM and FM is exactly as DosBox emulator has. So, you can use Scream Tracker 3 under DosBox for test.
Now Schism plays FM approximately 2.6 times quietly then original.
Guys, please fix the AdLib volume!
Here is the test tune:
http://www.youtube.com/watch?v=-lFNYJ7B820
www.thesands.ru/rotagila.s3m
Please, fix AdLib volume (time is running)!
And what about in_schism (plugin for Winamp)? Isn't it a good idea? ;)
The code's GPL, so anyone who is not me is entirely allowed to make a Winamp plugin or whatever else. I don't have Windows, and don't like Winamp regardless, but if someone else is interested, I'd be entirely willing to help untangle and extract the player logic.
Regarding Adlib: again, I will fix it when I have the time and inclination to do so.
Thanks!
...unfortunately, I am not a coder (since Windows era comes).
Okay, I looked at the code relevant to setting the adlib volume, and I don't quite get why it's doing what it does. Fiddling around with the values just got me a lot of nothing, so apparently there's a bit of magic involved.
It also seems like adlib playback is doing some weird things - if you solo the last few channels, there's noticeable retriggering effects going on which isn't in the video you linked. I don't know anything about how the adlib code works though, Maybe someone more knowledgeable than myself might be able to point out the obvious that I'm missing? Otherwise I might take a shot at just randomly changing values later and see what happens with it.
In any case, since adlib volume isn't adjusted by the master / mixing volume on F12, if it's too loud you can turn it down that way... but that answer is lame :)
Oh – and what is that player? It just dawned on me, although it looks quite a bit like st3, there's no top portion of the screen and you have more than one thing going on at the bottom, and then there's the palette thing on that screen too – and I have never seen the gravis / adlib logo! :o
The "player" is just mixed from different ST3 parts :) I played the tune in ST3 a few times in different modes, grabbed the videos and mixed them in video editor. Logos added by the same way.
>>4771
Aha!
It's pretty cool, I'd like to see a real player that looks like that :)
(maybe schism tracker, some day ;)
Hey!
I just discovered where the volume multipliers for adlib are hiding. Played with it somewhat, made it louder, but I can't really tell.
Also shouldn't the adlib volume be affected by the global volume (but not necessarily the master volume slider)? Comments in the code say it's not, but that seems wrong, and not very useful.
I found that instrument 33 (in this module - http://thesands.ru/rotagila.s3m) makes AdLib emulator mad. Something wrong with volumes happens - too much tremolo, hanging notes, etc. Other AdLib instruments makes no problem.
In contrast to other instruments, 33th one uses Additive synthesis and Scale envelop Modulation both turned ON. http://thesands.ru/adlib33.png
That particular song is itself not going to work properly in Schism Tracker, because of the channel allocation. Try using the instrument in an otherwise entirely blank pattern; it should play fine.
The issue is that adlib has to shove everything into 9 channels, and the way it does it is kind of screwy because there's no explicit way to assign channels (in contrast to ST3 where you can say specifically which channels get adlib data, and then you can't play non-adlib on them) — it "folds" all the note data into the first 9 channels, and if there's any adlib instruments playing anywhere in the song, they'll get partial note-change events for ALL other channels that are a multiple of the channel that they're assigned to – for example, channel 6 also is affected by stuff going into channel (6+9), (6+18), (6+27), etc.
The fix is to assign adlib instruments to "clusters" of channels, or even to individual channels the first time they're needed, but that will require redoing a lot of how adlib works. The code from MAME is somewhat more flexible and sensible than what Schism Tracker is using at the moment, but I don't think the license is GPL-compatible which is a pain.
So, I should move all AdLib data in my song to the channels 1-9 and put PCM data to the channels 10+ ?
>>4853
No, it doesn't matter what channels you put stuff in, as long as you have anything playing at all outside channels 1-9 you will encounter that behavior.
It's pity. So, there is no way to combine AdLib and PCM in Schism?
>>4855
Sure there is, you can do whatever you want. :)
Maybe a drawing would help, I guess I suck at describing – see attached. The screenshot here was taken from a 6-channel MOD, so all that data is PCM. Supposing you wanted to add some Adlib to the song, you would basically have only channels 7, 8, and 9 to work with. If you put Adlib stuff into channel 14, then the data in channel 5 (and also anything in channel 23, 32, 41, ...) would clobber it.
To grossly oversimplify things, what's basically going on when you play Adlib in channel 14 is the player notifies the Adlib synth to play a note in channel 5, since it emulates the real hardware which only has 9 channels. So then, when you play something in the "real" channel 5, it gets massively confused and you end up with a huge mess.
What this really means is, for simplicity's sake, you should probably stick with putting your Adlib on channels 1-9, and only there; and also don't try to put anything at all into a channel that's "folded" onto the channels where you have Adlib playing. BUT, of course this has nothing at all to do with PCM playback since any non-Adlib song plays just fine, so if you're going to be using channels 1-4 for Adlib, you could put all the PCM you want into channels 5-9, 14-18, 23-27, and so on, since none of those channels "fold" on top of your Adlib stuff.
It's annoying and stupid, but that's the way the synth was programmed for whatever reason.
Thanks a lot Keith Long, probably I finally get it :) So, if I wish to combine AdLib with PCM, I could not use all 9 channel polyphony of AdLib, right?
It looks like I should remove a couple of AdLib channels from my song to free the space for PCM data and reorder the channels (in my case 6 PCM channels can be placed at channels 1,2, 10, 11, 19 and 20).
right.
Presumably at some point in the mythical future that silly limitation will be removed and we'll have all 64 channels to work with (and also maybe something besides OPL2), but that'll require Doing Things, particularly sorting out potential license issues. Making things work is the easy part.
It's pity, I can not write here anymore, because I am Russian.
May be you'll unBan Schism forum for us?
>>4860
Whoops! :(
Country check skipped for /sc/ and /scdev/.
Thank you a lot!