MIDI that sounds like the oldies?

Started by , Thu 03/11/2005 12:06:41

Previous topic - Next topic

Elvisish

When I play games by Sierra and Lucasarts, there's always that excellent FM Emulation type music that it uses, that is completely different from the wavetable music of ones soundcard. I haven't used the DOS ags and am wondering if it will give you the music sounds simmilar to Freddy Pharkas and Leisure Suit Larry, or if it uses it's own soundset, and can you change it or not?

Elliott Hird

Well, there's something about it on the download page...

...but the only way you'll get perfection is to buy a Roland MT-32. Woo!

Gilbert

MT-32 was wavetable as far as I know.

You can however use one of those MOD formats for music, where you can use samples that sound like FM tunes.

Elliott Hird

Sierra and LucasArts used the MT-32, so that's what he needs.

Gilbert

It's not that problem, most old Sierra & Lucasfilm games supported both FM synthesis MIDI (OPL cards like Adlib and Sound Blaster) and MT-32. They're different things. If what he really wanted was FM synthesis music, it's definitely not MT-32.

Elvisish

#5
Your right, I'd like the FM synthesis they used... it's especially identifiable on game such as Larry and Freddy where there's atmospheric plinky tingy sounds for ambience that windows midi just cannot synthesize as effectivly. Is there any way that AGS could emulate such sounds via plugin or later release update?

modgeulator

It's funny because I remember when you had to pay big on a soundcard to get wavetable music in games, and now that it's standard in Windows there's a lot of people nostalgic for the crappy old FM sounds  ::)

The only way I can think to get your games music to sound like that in AGS would be to use pre-recorded mp3/ogg files. You could take the MIDI files you want to use and render them them out with something like AdPlug (http://adplug.sourceforge.net/) for that authentic old Adlib FM synth sound.

Elvisish

So it would be possible I guess for somebody to implement the code from adplug into a plugin for AGS, thus one could have authentic AdLib emulation?

Now, who wants to do it?  ;)

Gilbert

Or, like I mentioned, use MODs with samples that sound like FM tunes.

Elvisish

Yeah, but i was wondering if you could get the samples to work the same way, or would they just sound like mods?

Gilbert

Samples are just recorded wave files, so they can be sny sound, I don't understand how a music "sounds like a MOD" though.

modgeulator

Sounds like a MOD = sounds a bit like an ancient lo-fi sampler or an old Amiga computer. With some pretty extensive sampling and editing you could probably create a MOD file that sounded a bit like an old FM soundcard synth. However, considering they're two completely different ways of generating sound it would take a lot of work to make something sound convincing.

Elvisish

Quote from: modgeulator on Sun 06/11/2005 04:23:29
Sounds like a MOD = sounds a bit like an ancient lo-fi sampler or an old Amiga computer. With some pretty extensive sampling and editing you could probably create a MOD file that sounded a bit like an old FM soundcard synth. However, considering they're two completely different ways of generating sound it would take a lot of work to make something sound convincing.

Exactly, and it would probably take more time than one would care to, just getting the AdLib sampled. But eharing the AdPlug, I was very impressed as to just how simmilar it is to the Sierra emulation of the OPL2. I'm no programmer, so I don't know exactly what would be required to make the two compatible by means of a plugin for AGS, but I would have thought it a relativly easy job, considering the Open Source nature of the AdPlug. But perhaps I am way out of my depth here!  ;D

modgeulator

If I wanted that old FM synth sound I'd just take the output from AdPlug and encode it to Ogg Vorbis, obviously not as size efficient as having a plugin or something but it probably wouldn't need a really high bitrate at least.

Elvisish

Yeah, I guess that would work. It's just a shame as it would be nice to be able to have this functionality to make the retro games even more accurate... especially for fan games or remakes. Is there any guide on how to start programming plugins here, as I wouldn't mind giving it a go?

Pumaman

You'll need some knowledge of a programming language like C++ in order to write a plugin; adding something like AdPlug to AGS is a possibility, but that really depends on whether anyone else would find it useful?

Elvisish

I think it would be a very nice option, and it would also solve any midi related problems that people may have; for instance, the computer I have out in my den doesn't have on-board midi capabilities, so if I wanted to hear music on an AGS game, I'd be stuck! It would also be invaluable for either fan-games or remakes, and generally anyone who wants to get a bit closer to the quality of retro adventuring, I believe.  :)

Elvisish

Just wondered if anyone was still interested in this feature, as I still think it would add alot of authenticity to fan adventure games  :=

Elvisish

I know it's my old topic, but 9 years later I'd still love OPL support, ala Dosbox in AGS. Foobar w/ AdPLug can accept .laa files in three different engines including Ken Silverman's, and simply changing the filename *.mid>*.laa enables OPL playback specific for Lucasarts sounding music. How difficult is it to have this feature in AGS. It's literally the only thing I can think of that AGS really needs to be true to the oldies.

Gabarts

Find in my posts... I've lot of VST-AU virtual instruments for both Win and Mac, just found recently an emulation of Roland MT-32 somewhere. But I used another host program to load those sounds. I don't remember the name now, have to check in my Macbook. Anyway you should find something in my posts about Roland MT-32.

Elvisish

Quote from: Gabarts on Thu 12/06/2014 22:43:32
Find in my posts... I've lot of VST-AU virtual instruments for both Win and Mac, just found recently an emulation of Roland MT-32 somewhere. But I used another host program to load those sounds. I don't remember the name now, have to check in my Macbook. Anyway you should find something in my posts about Roland MT-32.

Yes, the problem is this method probably wouldn't work dynamically. I want AdPlug to be able to dynamically playback the music files within AGS, no renders.

Gabarts

Understand. I'm not of a great help then, since I only use that in Logic or Garage Band. Anyway, I'm interested in your plugin, if you manage to reach your goal, let me know. Would be an amazing thing to insert in AGS, a midi-dynamic controller ready to use inside the program!

Wyz

I've played with this idea too once and though there are possibilities there are also a few technicalities. In the end it all depends on what you want to do.

If you want a retro feel to your game by adding OPL music and sfx there is no reason not to render it fist (to wav/mp3/flac/whatever). If you are a purist then you want to use the real thing, actual hardware support. This can be done, in fact, even in modern operating systems. The only problem is: no one has this hardware anymore except for other purists, not a very large audience. :D
So probably you want to emulate it in one way or another. I'm not sure why you want it emulate in real-time other then have prerendered bits. If you can explain that I might be able to help.

Btw, I'm also a fan of 'crappy' OPL music (the MT-32 sound also for what it's worth) and I've actually used Adplug to make music. :D
Life is like an adventure without the pixel hunts.

Elvisish

Quote from: Wyz on Fri 13/06/2014 17:22:15
I've played with this idea too once and though there are possibilities there are also a few technicalities. In the end it all depends on what you want to do.

If you want a retro feel to your game by adding OPL music and sfx there is no reason not to render it fist (to wav/mp3/flac/whatever). If you are a purist then you want to use the real thing, actual hardware support. This can be done, in fact, even in modern operating systems. The only problem is: no one has this hardware anymore except for other purists, not a very large audience. :D
So probably you want to emulate it in one way or another. I'm not sure why you want it emulate in real-time other then have prerendered bits. If you can explain that I might be able to help.

Btw, I'm also a fan of 'crappy' OPL music (the MT-32 sound also for what it's worth) and I've actually used Adplug to make music. :D

Because of the flexibility and the reduced filesize. Flexibility means that if someone wanted to incorporate an iMuse-style system whereby music has segues and transitions into other pieces, it would be possible. If you wanted to dynamically add or subtract instruments, it would be possible. Can't really see why anyone would think a pre-rendered solution would ever be a better idea, if an emulation was possible?

Wyz

Quote from: Elvisish on Fri 13/06/2014 18:53:18
Can't really see why anyone would think a pre-rendered solution would ever be a better idea, if an emulation was possible?

Well, because it's currently not supported. :D
Adding support for this requires effort and if no one wants to do iMuse type of things this effort is rather wasted. That is why I'm curious about what you actually want to do with it. If it's just playback then there is no reason not to use pre-rendered music, file sizes--at two megs a minute--are not really a problem these days IMHO.
Life is like an adventure without the pixel hunts.

Wyz

#25
AGS Adlib Plugin (v1.0)

There you go.
Life is like an adventure without the pixel hunts.

Secret Fawful

I was going to give this a try out of interest, but the plugin doesn't seem to want to work in AGS 3.3.0.

I get an error message saying that it depends on another dll file that is missing. I tried putting in_adlib.dll into the AGS folder, and that didn't seem to help.

Wyz

Hmm, which file does it say it needs? I've tested it with AGS 3.2.1 myself but I don't really know if that makes a difference. :)
Life is like an adventure without the pixel hunts.

Secret Fawful

That's the thing. It doesn't give a specific file.



I tried opening it in AGS 3.2.1 and it gives the same error. I feel like you have a dll that I'm missing or something.

Wyz

Very weird! Does the .exe in the sample project also fail? I've had something similar happen once and it was related to the filename and as of today I don't know what caused that. Back then it helped to change filenames for some reason, like changing the plugin filename to all caps. Very frustrating. :D
Life is like an adventure without the pixel hunts.

Secret Fawful

#30
The sample project works fine.

EDIT: I mean the EXE, not the project itself. I open it in AGS and get the same error.

Scavenger

You have no idea how useful I find this plugin. The Adlib-sound was just what I needed for my game.

Thanks, Wyz!

Wyz

I still have no clue Secret Fawful but I've not given up yet. It has something to do with the editor since the .exe works. Maybe I should try a different compiler.

Quote from: Scavenger on Mon 23/06/2014 00:51:17
You have no idea how useful I find this plugin. The Adlib-sound was just what I needed for my game.

Thanks, Wyz!
Your welcome Scavenger! :D
I should also mention that I used AdPlug for the plugin and I have not included the proper license crap notes, so if you are using this plugin in games let me know and I'll produce that. ;)

Btw Scavenger, you don't have the same problem as Secret Fawful?
Life is like an adventure without the pixel hunts.

Scavenger

#33
Yeah, the project works fine for me, I can compile it and everything. I'll be using it in my game, definitely.

(I'm using AGS 3.2.1 by the way)

Elvisish

Quote from: Wyz on Sun 22/06/2014 00:41:02
AGS Adlib Plugin (v1.0)

There you go.
After nine years of waiting, I can honestly say this looks like a dream come true! I tried it, and I got the same error as Secret Fawful, unfortunatly. I changed the name of the file to AGS.Plugin.agsadp.dll, as recommended by http://www.adventuregamestudio.co.uk/site/ags/plugins/editor and it gave me this:



So sorry to be a menace, but I am dying to try this absolutely mind-blowing plugin, I'm using AGS 3.3.0.

Elvisish

I just want to tell you, Wyz, that this plugin goes far and beyond my wildest expectations for this, I just can't believe how perfect that demo you made is!! BPM changer, volume, it's just amazing! Really hope to be able to use it soon, the work you've done to implement this is absolute magic (I've been waiting 9 years, I'm excited!!)

Wyz

#36
Well that's what convinced me to make it; the fact you revisited this thread after almost 10 years. ;D

Anyways, I've build another version with a different compiler this time; I hope this one will work with the editor. If you are going to release something I recommend swapping the dll for the original version since that one has been tested more.

With that said, here you go.
Life is like an adventure without the pixel hunts.

Elvisish

Quote from: Wyz on Wed 25/06/2014 18:55:57
Well that's what convinced me to make it; the fact you revisited this thread after almost 10 years. ;D

Anyways, I've build another version with a different compiler this time; I hope this one will work with the editor. If you are going to release something I recommend swapping the dll for the original version since that one has been tested more.

With that said, here you go.

Thanks so much, Ferry, that works in ags editor now, and compiling works great, just need to do some more testing with it, you're working with version 3.2.1 as well as Scavenger, aren't you? On a side-ish note, is 3.3.0 okay to use, or is there some other reason you guys haven't upgraded yet?

Just figuring out how to call a music file in on room load, and I'll be all set!

Secret Fawful

It works great now. You just have to put the music files in the main folder of the game project, and then use AdPlug.Load("put filename as string here"). However, I'm curious, since this was made with Adplug, does it support all formats Adplug does, or no?

Wyz

Your welcome! :D

I'm just a bit reluctant updating AGS when I'm in the middle of a project; since that usually is the case I lag behind a couple of versions. :D

Yes, it should support all formats that AdPlug although .IMF files themselves not have enough information for them to be played and for this a special database was created. This I have not included but the rest should work.
Life is like an adventure without the pixel hunts.

The Suitor

Wyz, I praise you! I've been looking for a simple solution to this for a VERY long time. My heart is still pounding. (laugh)

Seriously, thank you!

Wyz

#41
You're welcome!

I've included the license notes in archive you can download it here (click). I'm not a lawyer so I hope I did that right. ;)
Life is like an adventure without the pixel hunts.

Elvisish

Wow, so far it works amazingly! Just used a simple:

Code: ags

function room_FirstLoad()
{
AdPlug.Load("mi1_scumm_bar.laa");
  AdPlug.Play(true);
}


And it sounds great! I'm going to do some further testing, I DEFINITELY think this should be merged with the main AGS build eventually, it would be invaluable to a huge percent of 90's adventure gamers on the PC that didn't have an mt-32!

Elvisish

#43
I'm trying to get adplug to work in Open Quest, using the OQ as the template for the game and the adplug plugin running in it. For some reason, once I add adplug, when I try to use the
Code: ags
function room_FirstLoad()
{
AdPlug.Load("mi1_scumm_bar.laa");
  AdPlug.Play(true);
}

trick, it just doesn't play anything. Anyone else having these issues?

Dr.Bart Keeple

Quote from: Wyz on Sun 22/06/2014 00:41:02
AGS Adlib Plugin (v1.0)

Good evening,
First, thanks to the user who started this topic and thank you Wyz for this plugin! It's really really awesome...
Can you provide the source of the dll? I would like to make the sustain notes not stop immediately but they resonate when the
playback is interrupted ..., as with the true hardware or under dosbox ...;)

Sorry for my english.
Thanks again!!!;-D

Wyz

Yes, I might as well release it as I'm pretty much done with it. :)

AGSadplug source at GitHub

Be aware that not stopping playback potentially well have the sound resonate indefinitely; that wouldn't be very nice. :D
You can get the same effect btw by setting the tempo to zero just before the song ends. That way you probably do not have to alter the plugin. Otherwise, have a look somewhere around here.

Note: If you do alter the plugin and are planning on releasing it in some form please add a suffix to its name. That way we can prevent potential clashes regarding incompatible plugin behaviour.

I hope that helps you. :)
Life is like an adventure without the pixel hunts.

Dr.Bart Keeple

Oh thank you! It's very nice! It helps me a lot!
In fact, and as you can see,  I have to admit that I don't know much about it,  it's just that I
love these sounds that are like a real time machine ...

You're right of course, we just need to set the tempo to zero before the stop to produce
this effect ...and I'm currently putting up a quick fade for notes that resonates indefinitely...

The sources will be very useful to me, because I intend to try to increase the volume as
much as possible.

God bless you Wiz!  ;-D :cheesy:
I admire people like you ...


For people that may interest, I would like to draw attention to these very cool tools:
(sorry again for my english)

-FMsynth ( a driver that allows to do FM with a MIDI sequencer without the need of tracker, or rather
to make MIDI with sounds of .IBK bank files..., and the true hardware is not required ...,
we just need Dosbox and a real install on disk image of the DOS and win3.1)

-DroTrim (for, among other things, convert DRO v2 to DRO v1 ...)

-DRO2MIDI 1.6 patched by "Malvineous" (Converts the instruments contained in a DRO v1
into .sbi files ...)

-SBTIMBRE (To manage .SBI instrument files and put it in .IBK bank files ...)



SMF spam blocked by CleanTalk