Adlib tracker 2 VGM packs? Dosbox DRO2VGM troubles :(
Technical discussion about the VGM format, and all the software you need to handle VGM files.
Moderator: Staff
Another way to convert Adlib tracker 2 files into VGM is to write a converter that doesn't need DOS. It is doing playback but is writing the commands to a file instead of to the sound card; the only difference is now you need to add the special handling of global loops. (BAMTOVGM works in this way. A similar thing could be done for Adlib tracker.)
@MaliceX I still can’t hear the click drums on my MSX’s OPL4. I’m really suspecting now that it greatly depends on the DAC and/or filter on the output, or maybe some difference between the OPL3 and OPL4. The noise floor in the original recording suggests on his sound card there is little filtering. The original playback frequency of the song seems to be around 800 Hz.
@MrKsoft Nice song . Both versions sound ok on vgmplay-msx, no weird hanging drums in the Dosbox version like in the emulation. The hang greatly exceeds the recording frequency so something strange is going on there. The original replay frequency on this song seems to be around 300 Hz.
(Now that vgmplay-msx has a 4000 Hz resolution on MSX turboR, I can quite easily tell the original replay frequency by the number of fat debug activity indicator bars that appears on my screen during a frame, and how many thinner bars are inbetween.)
@MrKsoft Nice song . Both versions sound ok on vgmplay-msx, no weird hanging drums in the Dosbox version like in the emulation. The hang greatly exceeds the recording frequency so something strange is going on there. The original replay frequency on this song seems to be around 300 Hz.
(Now that vgmplay-msx has a 4000 Hz resolution on MSX turboR, I can quite easily tell the original replay frequency by the number of fat debug activity indicator bars that appears on my screen during a frame, and how many thinner bars are inbetween.)
In my hack-in, I simply grafted function calls to the ymf262 emulation core's interface functions by using helper code from my OPL3 MIDI Driver fork project. What you hear is what you get essentially. It would be nice to have an offline converter but that requires more time and effort. Also this solution is the SDL win32 port, so I'm not sure where you're getting DOS from.zzo38 wrote:Another way to convert Adlib tracker 2 files into VGM is to write a converter that doesn't need DOS. It is doing playback but is writing the commands to a file instead of to the sound card; the only difference is now you need to add the special handling of global loops. (BAMTOVGM works in this way. A similar thing could be done for Adlib tracker.)
grauw: the log resolution appears to capture commands in sync with AdlibTracker's internal delays between each row when transcoding its synth engine to chip commands. So the delays are actually more consistent with the song than how DOSBOX does it (especially since we're doing so natively, not using an emulated CPU) Songs with more rows per second or faster tempo will have smaller delays. I have already verified this behaviour.
-dj.tuBIG/MaliceX
- vampirefrog Offline
- Webmaster
- Posts: 1508
- Joined: 2014-01-28, 5:51:54
Could you fill up some info on the wiki for us, please?
Be sure you're logged in on the forum:
http://vgmrips.net/w/index.php?title=G. ... &redlink=1
Maybe a link to its homepage, and you can write as much as you want.
Be sure you're logged in on the forum:
http://vgmrips.net/w/index.php?title=G. ... &redlink=1
Maybe a link to its homepage, and you can write as much as you want.
By request, updated VGM mod to current HEAD of git for AdlibTrackerII.
https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0
Same usage. Note that start-stop of logging is now tied to SDL playback routine.
https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0
Same usage. Note that start-stop of logging is now tied to SDL playback routine.
-dj.tuBIG/MaliceX
- Sanicderpy Offline
- Posts: 17
- Joined: 2020-05-07, 22:07:04
- Location: Australia
Wanted to give this a shot and works perfectly! I chose to rip "Alloyrun.RAD" as this one of my favorite from the modules folder that comes with the OG DOS version Adlib Tracker II.MaliceX wrote:By request, updated VGM mod to current HEAD of git for AdlibTrackerII.
https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0
Same usage. Note that start-stop of logging is now tied to SDL playback routine.
I've even attached a completed vgm rip and loops as well. Found it a bit finicky to figure it out how to play the tracker file. Will logged vgms of Adlib tracker files will be allowed in the homebrew section, or not as I don't own the original song?
- Attachments
-
- Alloyrun.RAD.vgm
- (90.07 KiB) Downloaded 284 times
Hey, I have always approached this with the idea that vgmrips was focusing on game music, and it's hard to make an "Adlib Tracker II" pack cause anyone can make a song for it.Sanicderpy wrote:Wanted to give this a shot and works perfectly! I chose to rip "Alloyrun.RAD" as this one of my favorite from the modules folder that comes with the OG DOS version Adlib Tracker II.MaliceX wrote:By request, updated VGM mod to current HEAD of git for AdlibTrackerII.
https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0
Same usage. Note that start-stop of logging is now tied to SDL playback routine.
I've even attached a completed vgm rip and loops as well. Found it a bit finicky to figure it out how to play the tracker file. Will logged vgms of Adlib tracker files will be allowed in the homebrew section, or not as I don't own the original song?
This is kind of me self promoting (I guess I did on the last page too) but because of that I wanted to bring attention to my continuing effort already going to make VGMs of non-game OPL2/3 music: Wafflenet OPL Archive. If you are looking to log songs from AT2 and other trackers you can send them over to me and I will add them. Though, for ones that only use OPL2 commands they may be better ripped using the original program such as RAD itself, for chip type and playback engine accuracy. The AT2 VGM log assumes an OPL3 and I don't think we can "downconvert" them from OPL3 VGMs to OPL2 even if they only use OPL2 channels and waveforms. (Brought this up cause Alloyrun is actually a good example of that. I have it in my archive already, but ripped in RAD so that it's properly an OPL2 VGM)
The Wafflenet OPL Archive
PC/DOS demoscene & tracker music... in VGM format!
PC/DOS demoscene & tracker music... in VGM format!
- Sanicderpy Offline
- Posts: 17
- Joined: 2020-05-07, 22:07:04
- Location: Australia
Thanks for letting me know! I was just testing to see if the program works, I kinda knew that having vgm packs of Adlib Tracker II mods are not allowed because anyone can just make them.
Anyway, It's great how you're making an effort to archive Adlib tracker files into vgm format (I mean you done a heck of a lot so far), I didn't really know that Alloyrun was an OPL2 Module (that saved me the trouble as you've already archived it) and I'll like to help you out archiving Adlib Tracker files someday as this is pretty interesting.
However, I want to bring this in attention because Adlib Tracker II comes with example modules, I wondering if those can be allowed instead? Not to mention Gnome made a vgm pack a while back that contains the sample MIDI's from Windows 3.0 MME and 3.1 logged in OPL3.
Anyway, It's great how you're making an effort to archive Adlib tracker files into vgm format (I mean you done a heck of a lot so far), I didn't really know that Alloyrun was an OPL2 Module (that saved me the trouble as you've already archived it) and I'll like to help you out archiving Adlib Tracker files someday as this is pretty interesting.
However, I want to bring this in attention because Adlib Tracker II comes with example modules, I wondering if those can be allowed instead? Not to mention Gnome made a vgm pack a while back that contains the sample MIDI's from Windows 3.0 MME and 3.1 logged in OPL3.
Thank you, this is exactly what I am looking for. I think there are too many good music like adlib tracker format that have not been discovered.
MrKsoft wrote:Hey, I have always approached this with the idea that vgmrips was focusing on game music, and it's hard to make an "Adlib Tracker II" pack cause anyone can make a song for it.Sanicderpy wrote:Wanted to give this a shot and works perfectly! I chose to rip "Alloyrun.RAD" as this one of my favorite from the modules folder that comes with the OG DOS version Adlib Tracker II.MaliceX wrote:By request, updated VGM mod to current HEAD of git for AdlibTrackerII.
https://www.dropbox.com/s/0iwuixdkung33 ... g.exe?dl=0
Same usage. Note that start-stop of logging is now tied to SDL playback routine.
I've even attached a completed vgm rip and loops as well. Found it a bit finicky to figure it out how to play the tracker file. Will logged vgms of Adlib tracker files will be allowed in the homebrew section, or not as I don't own the original song?
This is kind of me self promoting (I guess I did on the last page too) but because of that I wanted to bring attention to my continuing effort already going to make VGMs of non-game OPL2/3 music: Wafflenet OPL Archive. If you are looking to log songs from AT2 and other trackers you can send them over to me and I will add them. Though, for ones that only use OPL2 commands they may be better ripped using the original program such as RAD itself, for chip type and playback engine accuracy. The AT2 VGM log assumes an OPL3 and I don't think we can "downconvert" them from OPL3 VGMs to OPL2 even if they only use OPL2 channels and waveforms. (Brought this up cause Alloyrun is actually a good example of that. I have it in my archive already, but ripped in RAD so that it's properly an OPL2 VGM)
Hi there MaliceX, would it be possible to make a tarball/zip of the source tree you used to build the Adlib Tracker II VGM-emitting fork?MaliceX wrote:In my hack-in, I simply grafted function calls to the ymf262 emulation core's interface functions by using helper code from my OPL3 MIDI Driver fork project. What you hear is what you get essentially. It would be nice to have an offline converter but that requires more time and effort. Also this solution is the SDL win32 port, so I'm not sure where you're getting DOS from.zzo38 wrote:Another way to convert Adlib tracker 2 files into VGM is to write a converter that doesn't need DOS. It is doing playback but is writing the commands to a file instead of to the sound card; the only difference is now you need to add the special handling of global loops. (BAMTOVGM works in this way. A similar thing could be done for Adlib tracker.)
grauw: the log resolution appears to capture commands in sync with AdlibTracker's internal delays between each row when transcoding its synth engine to chip commands. So the delays are actually more consistent with the song than how DOSBOX does it (especially since we're doing so natively, not using an emulated CPU) Songs with more rows per second or faster tempo will have smaller delays. I have already verified this behaviour.
I'm working on a project to allow the SDL version of AT2 to send commands directly to a YMF262 on a board called the RetroWave OPL3. The issue I've been having is that more complex songs tend to overload the USB serial interface with commands by itself, however when I capture VGMs of them using your EXE, they play just fine using the tooling/libraries provided by the creators of the board.
So clearly, there's some amount of filtering that needs to happen to have it play back more seamlessly in real time.
If you're interested in looking at the library, github: SudoMaker/RetroWave
Thank you
https://codingchords.com/junk/at2-vgmlog-src.7zdaemon32 wrote:Hi there MaliceX, would it be possible to make a tarball/zip of the source tree you used to build the Adlib Tracker II VGM-emitting fork?
I'm working on a project to allow the SDL version of AT2 to send commands directly to a YMF262 on a board called the RetroWave OPL3. The issue I've been having is that more complex songs tend to overload the USB serial interface with commands by itself, however when I capture VGMs of them using your EXE, they play just fine using the tooling/libraries provided by the creators of the board.
So clearly, there's some amount of filtering that needs to happen to have it play back more seamlessly in real time.
If you're interested in looking at the library, github: SudoMaker/RetroWave
Thank you
-dj.tuBIG/MaliceX