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: Is there a way to play/convert directmusic sgt/dls files? (Read 21005 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Is there a way to play/convert directmusic sgt/dls files?

Hello!

I want to convert or play some old video game files. Apparently there were some tools that did that but everything'a been removed since then. I only found this that claims to play .sgt files, but it crashes winamp. I'm guessing it's missing some dll-s which I don't know where to get...
Also apparently the darned directmusic composer isn't available anywhere since microsoft removed it from their website.
So at this point I'm lost...

Is there a way to play/convert directmusic sgt/dls files?

Reply #1
If you or I can locate any information on the format, I could possibly add it to my MIDI processor library, which could then translate them to general MIDI format, as well as play them directly.

Is there a way to play/convert directmusic sgt/dls files?

Reply #2
That'd be cool. Although I'm not optimistic, microsoft doesn't have many documented formats.
I at best saw guides to using music stuff but nothing of the format itself.

Is there a way to play/convert directmusic sgt/dls files?

Reply #3
I wasn't assuming that Microsoft documented it, I was assuming that some other clever programmer had beaten me to the punch and saved me some trouble.

For instance, Peter Pawlowski did make a DirectMusic plug-in for Winamp years ago, although I don't know if he still has the source code to that anywhere.

Is there a way to play/convert directmusic sgt/dls files?

Reply #4
I wasn't assuming that Microsoft documented it, I was assuming that some other clever programmer had beaten me to the punch and saved me some trouble.

For instance, Peter Pawlowski did make a DirectMusic plug-in for Winamp years ago, although I don't know if he still has the source code to that anywhere.

Really? Is it still available somewhere?

Edit:
Is this relevant: http://msdn.microsoft.com/en-us/library/wi...7(v=vs.85).aspx ?

Is there a way to play/convert directmusic sgt/dls files?

Reply #5
I'm guessing Peter doesn't hang around this section much...

Anyway I dug up directmusic composer. And now I remember why I gave up years ago. I can't get it to export audio to wav. There's a record button that apparently does nothing. There's an export to wav option, but it doesn't output anything, ever no matter what I play in the program.

Is there a way to play/convert directmusic sgt/dls files?

Reply #6
I meant to say "DirectMusic Producer"

Is there a way to play/convert directmusic sgt/dls files?

Reply #7
A week ago I reinstalled 'No One Lives Forever' just for fun. A game that uses DirectMusic (dls-files).
These files can indeed only be opened with DirectMusic Producer, which doesn't have an export function.
If foobar (through plugin) could be made to play these, that would be really great.

Is there a way to play/convert directmusic sgt/dls files?

Reply #8
If you can play the file, you can record it.

If your soundcard/driver supports "What-U-Hear" or "Stereo Mix", you can record internally using any recording software (Audacity will work fine). 

If you have a desktop computer, you can run a loopback cable from line-out to line-in, and record line-in.  If you want to listen while looping-back, you need a Y-adapter (splitter) to keep your speakers connected.

Or, there is a program called Total Recorder that can record "what you hear" internally even if your soundcard/driver doesn't directly support it. 

Is there a way to play/convert directmusic sgt/dls files?

Reply #9
If you can play the file, you can record it.

If your soundcard/driver supports "What-U-Hear" or "Stereo Mix", you can record internally using any recording software (Audacity will work fine). 

If you have a desktop computer, you can run a loopback cable from line-out to line-in, and record line-in.  If you want to listen while looping-back, you need a Y-adapter (splitter) to keep your speakers connected.

Or, there is a program called Total Recorder that can record "what you hear" internally even if your soundcard/driver doesn't directly support it.

It'd take an exorbitant amount of time, because the music is in sgt pieces. Also I'm not sure if wheter there's a quality reduction (Which isn't that hot to start with) if I capture something from the sound card.

Is there a way to play/convert directmusic sgt/dls files?

Reply #10
I wasn't assuming that Microsoft documented it, I was assuming that some other clever programmer had beaten me to the punch and saved me some trouble.

For instance, Peter Pawlowski did make a DirectMusic plug-in for Winamp years ago, although I don't know if he still has the source code to that anywhere.

Hello!
Did you look into it?

Is there a way to play/convert directmusic sgt/dls files?

Reply #11
Hi kode54, do you have any news on this subject? Have you perhaps contacted this Peter Pawlowski guy in the last 14 months?

Is there a way to play/convert directmusic sgt/dls files?

Reply #12
There's this small program which came with some toolkit for No One Lives Forever I think. It reads/plays the directmusic files from within .REZ files of the game.
Would it be any help in deciphering the format?

Is there a way to play/convert directmusic sgt/dls files?

Reply #13
I did not contact Peter regarding the format, as I forgot. You may contact him if you wish, he uses the account name "Peter" on these forums, and is currently busy with foobar2000 Mobile. I can ask him on IRC tonight, but I'm not sure if he'll remember what he did with the source code to that old component.

Any closed source Windows program would probably not be that useful, since they're probably using the old DirectMusic runtime to play the files, and not actually handling the formats themselves.

Is there a way to play/convert directmusic sgt/dls files?

Reply #14
Any closed source Windows program would probably not be that useful, since they're probably using the old DirectMusic runtime to play the files, and not actually handling the formats themselves.

I see. I was assuming it didn't because I installed nothing of the sort. Now that you pointed it out, I can see in process explorer that it loads dmusic.dll and multiple other dm*.dll-s from syswow64. So I guess it still comes with windows.

Hi kode54, do you have any news on this subject? Have you perhaps contacted this Peter Pawlowski guy in the last 14 months?

I'm assuming you didn't have any luck finding the mentioned directmusic plugin by Peter for Winamp either, right?

Is there a way to play/convert directmusic sgt/dls files?

Reply #15
Google "directmusic producer hitman"

The technique to export to wav apparently was only tested on an older version of DirectMusic Producer, so it may not work if you use the latest dx9 version.

Is there a way to play/convert directmusic sgt/dls files?

Reply #16
Google "directmusic producer hitman"

The technique to export to wav apparently was only tested on an older version of DirectMusic Producer, so it may not work if you use the latest dx9 version.

I think I had the old one when I tried. But only ever got an empty file.
Might have tried this guide, I've been messing around with it for quite a while.

Is there a way to play/convert directmusic sgt/dls files?

Reply #17
@kode54: Ooooh, Peter... foobar2000's author!

I'm assuming you didn't have any luck finding the mentioned directmusic plugin by Peter for Winamp either, right?
You mean this one? I haven't used WinAMP in ages, because I stopped using it, but when I just installed it to test the plugin, it instantly crashed on me. WinAMP itself, as well as the plugin.

This website looks interesting. It mentions the WinAMP plugin, DirectMusic Producer and Simple DirectMusic Player (which I both can't get to work), and FMOD. I guess you could give FMOD Studio (102MB!) a try.

Is there a way to play/convert directmusic sgt/dls files?

Reply #18
@kode54: Ooooh, Peter... foobar2000's author!

I'm assuming you didn't have any luck finding the mentioned directmusic plugin by Peter for Winamp either, right?
You mean this one? I haven't used WinAMP in ages, because I stopped using it, but when I just installed it to test the plugin, it instantly crashed on me. WinAMP itself, as well as the plugin.

This website looks interesting. It mentions the WinAMP plugin, DirectMusic Producer and Simple DirectMusic Player (which I both can't get to work), and FMOD. I guess you could give FMOD Studio (102MB!) a try.

Yeah I found that. Not sure if that's the one. Anyway, it needs to be configured. But I got access violations when I tried creating a profile in it's config. Anyways it doens't look like it's much good for nolf(which is what I was interested in).
You can only load one dls no sty. And there seems to be a lot of other configuration missing here in the Control Files for nolf music.

Is there a way to play/convert directmusic sgt/dls files?

Reply #19
I talked with Peter last night. He lost the source code, but definitely knows that it did not understand the formats themselves. It was split off of in_midi because it required the DirectMusic runtime to decode the files, while everything else in_midi supported dealt with Standard MIDI streams.

You may be best looking into whether either of the Wine or ReactOS projects has implemented DirectMusic yet.

Is there a way to play/convert directmusic sgt/dls files?

Reply #20
Hey guys, I guess I can help (if you are under Linux):


If you are under Linux use first winetricks to install all the necessary libraries. Specially choose dmusic. Follow some Wine videogame with DirectX guide if you don't know what you need or how to do it.

Next, search on internet for a program called "Vista MIDI Fix.exe".

Run it and you will get a dialog to choose the default MIDI output for your "Windows" system.

You can choose your real ports (or just use timidity as virtual port), so you can use any real hardware output and redirect it to some hardware input (with a MIDI wire) where you can record the midi output produced by any game (in my case Final Fantasy VIII). Or you can try using some virtual software port where you can dump all the MIDI events to some file or program.

Final Fantasy VIII use the infamous .sgt files too.

I didn't tried nothing more. I am actually playing Final Fantasy VIII with music working over timidity (as a virtual midi port).

I guess we can use some virtual midi port with jack or some other audio application under Linux where we can eventually capture the MIDI events. It will work because timidity only supports standard MIDI events and it is working as expected. In some way DirectMusic is working with the game in that manner (as I know this game only supports DirectMusic).

Anyway if you run the dxdiag program in the tab where you can test Music it will eventually play the music (note that your option will not be displayed as default "yes", I don't know why, maybe it is for older versions of games using DirectMusic, but it works anyway).

I don't know who made that "Vista MIDI Fix.exe" and it will not be easy to find but works. Of course, under your own risk (I don't know if that program had virus, troyans, and so, almost as I know my Wine installation is working as expected). Please, don't give me any responsibility if you get in trouble, I advised you.

Bye

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #21
Hi everyone, sorry to resume such an old thread, but this is one of the first pages I found while searching for this very topic, so I thought it might be useful to people looking for info on this in the future.
I am working on a library to load and render DirectMusic file without the use of DirectX nor Wine; you can check it out here.
Bye!

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #22
Hi everyone, sorry to resume such an old thread, but this is one of the first pages I found while searching for this very topic, so I thought it might be useful to people looking for info on this in the future.
I am working on a library to load and render DirectMusic file without the use of DirectX nor Wine; you can check it out here.
Bye!
Cool!
So I could use dmrender to convert sgt files that NOLF uses to wav? (Are you per chance familiar with the game?)
With all the spatial sound effects and all?

Does it only render on file at the time? The has a crapload of .sgt files, it might take a long time to convert them one, by one and join them.

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #23
Oh, wait. There are no builds of dmrender/dmplay.
Could you provide some executables that one could try?

Re: Is there a way to play/convert directmusic sgt/dls files?

Reply #24
Oh, wait. There are no builds of dmrender/dmplay.
Could you provide some executables that one could try?
Hi mzso :) You can find prebuilt binaries up to date with the current master commit at https://ci.appveyor.com/project/frabert/libdmusic/build/artifacts

Also, you could use dmrender in a batch file and render the files sequentially, but you should be aware that the library is - right now - more geared towards being integrated in game engines and the like, so sgt files are meant to be looped, not rendered as a single file. As a result, you have to specify the length of the rendered section.

I am afraid I am not familiar with NOLF...