VOGONS


First post, by Recycled_Box

User metadata
Rank Newbie
Rank
Newbie

You can find this chip embedded aboard the HP Camaro. It's got CD audio unlike some of the cheaper made PCI adapters. For DOS it's considered "adequate/good compatibility". I don't see any reason not to make use of it after all.

My question concerns FM synths because I don't know anything about them. Everywhere you look it says that the Allegro-1 lacks hardware for ESFM but this man here: https://github.com/leecher1337/esfmbank?tab=readme-ov-file says it at least has software ESFM and that you can change the wavetable yourself.

So is it stuck with "not very good sounding" FM or is there more that can be done with it? What is FM in relation to MIDI? Is the software here only editing OPL2/3 sound fonts and does that translate to FM or back?

I don't understand.

Also later I might add an Audigy1 to this same board. Is it a wise thing to do giving the SS7 another card to manage and more things to have to do? If I need a splitter to choose between EAx or DOS games, which kind is good to use?

Reply 1 of 6, by dionb

User metadata
Rank l33t++
Rank
l33t++
Recycled_Box wrote on 2025-03-04, 10:50:

[...]

So is it stuck with "not very good sounding" FM or is there more that can be done with it? What is FM in relation to MIDI? Is the software here only editing OPL2/3 sound fonts and does that translate to FM or back?

I don't understand.

FM synthesis and MIDI are completely different things.

MIDI is a notation format. "Play note F on instrument #109 for a second". It does not by itself define what instrument #109 is, or how the associated sound should be made. The software and hardware are assumed to sort that out.
To allow for interoperability between MIDI devices, the General MIDI standard was created. That defines a number of things, most relevantly which instrument maps to which number. So GM instrument #109 should always give you bagpipes. GM does not define exactly how the sound is made and how it sounds, that's still down to implementation.

MIDI synthesizers use various methods to generate sound. The commonest and conceptually the simplest is the 'wavetable' rompler, which is sample-based: it contains samples of the desired sounds and plays them at the pitch and for the duration instructed via MIDI. The resulting quality depends strongly on the samples. Good sets can be truly impressive. The Roland SC-55 - which is the device most PC game music was composed on/for uses this method. Sound Fonts are files containing banks of these samples to upload onto synthesizers (or cards containing synthesizers) that support playing samples from RAM. Downside of sample-based synthesis is that good samples take up a lot of space, at least by DOS-era standards.

FM synth is a different way of generating sounds/music. OPL2 and 3 are Yamaha chips that do FM synth. ESFM is ESS' method of FM synth, CQM is Creative's older version (not sure exactly what the FM synth on ES137x/SBLive/Audigy is called but it's very not good). All these chips/methods can be programmed in exactly the same way, so when software that supports them ('AdLib music' or something similar, or a Windows sound driver for the chip, or a wavetable synth supporting output via FM) sends the right low-level instructions to the right address (0x388 by defaulty), sound will get made. How it sounds depends on the hardware used. FM was very popular in early PC sound days as it required far less space than sample-based synthesis. Downside is that the range of sounds it can output is more limited and it sounds pretty artificial - but with retrogaming that can actually be desired 😉

What confuses the "MIDI vs FM" discussion is that you can use a software synth to take MIDI instructions and output music via FM synth. For an analogy: MIDI is the language, FM synth is the vocal cords. The software you link to seems to fall into this category: a soft synth that takes (General) MIDI input and uses FM, more specifically the advanced features of ESFM, to produce the output sound, which should sound more sophisticated than doing the same with a regular FM MIDI softsynth.

There are also other methods or combinations of methods of synthesis. Roland's MT-32 is worth mentioning here. It was the first commonly used MIDI it uses a combination of samples and subtractive synthesis. It did not support General Midi, so it has a different instrument map (#109 is a whistle, not bagpipes) and sounds awful if you output GM to it, or if you try to output MT-32 to a GM device (that doesn't have a decent MT-32 emulation).

Also later I might add an Audigy1 to this same board. Is it a wise thing to do giving the SS7 another card to manage and more things to have to do? If I need a splitter to choose between EAx or DOS games, which kind is good to use?

Obvious question: why?

You've only mentioned DOS here;Audigy does do full SB16 and can offer (RAM sample-based) wavetable sound in DOS, but FM is crap and it needs another nasty TSR driver. I could imagine using it instead of the onboard Allegro, but not at the same time in DOS, if only due to memory constraints of two TSR drivers. If you're also running Windows, you can have both active at the same time in Windows, but only load the TSR driver for one of them in DOS - although I also doubt that games that would run on an So7 would really benefit from an Audigy.

Reply 2 of 6, by Recycled_Box

User metadata
Rank Newbie
Rank
Newbie

What confuses the "MIDI vs FM" discussion is that you can use a software synth to take MIDI instructions and output music via FM synth. For an analogy: MIDI is the language, FM synth is the vocal cords. The software you link to seems to fall into this category: a soft synth that takes (General) MIDI input and uses FM, more specifically the advanced features of ESFM, to produce the output sound, which should sound more sophisticated than doing the same with a regular FM MIDI softsynth.

I'm grateful for the comprehensive explanation thank you, but it begs further questioning. What I'm told with the Allegro-1 is: MIDI is "good". FM is "bad/not supported". But here is a man here saying it does do ESFM, in a similar but not same manner or interpretation as the Solo-1 does. But that it's instructions must be fed to it under MIDI standard first.

Whether certain games can feed FM data without MIDI I have no idea. Why it sounds better or worse than some hardware driven interpretation I again have no idea.

Put more simply; why should an FM chip be regarded as not accessible or not supported if this software exists and works to address the Allegro driver's software FM support? Why, if it has the same four programmable oscillators or what not as a Solo-1, should it sound different or worse than a Solo-1?

If it sounds like I'm dancing around the point I don't mean it to. I'm basically asking not what makes it different from the Solo-1 on a datasheet level but how and why is it different on a practical or pragmatic level to me, the end user?

Also I can disable the onboard sound and take a precious slot up with audio cards but I'm asking why someone ought. I don't know if the Allegro-1 really shines but I don't think it embarrasses itself particularly (not like the car at any rate).

Why would I install an Audigy next to an Allegro? In case I want to have EAX, but the Allegro-1's DOS has too better a compatibility compared to an Audigy to consider disabling it on the board. I'd still enjoy CS1.6 at 640x480. I just rarely wear the headphones to play them. So I'm undecided if I even want the ability to use it in there or if I will notice not having it.

Reply 3 of 6, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for pointing out the new driver for ESS PCI cards as well as the tools for configuring the ESFM.

Though I'm not sure about Allegro's "ESFM" capability, as back then I tried it briefly and its FM output sounded way too different from a Solo-1 which indeed had real ESFM (which is comparable to real OPL3).

IIRC Allegro's datasheet did not mention the ESFM just like its predecessor, Maestro. However, if the utilities you mentioned can configure both Allegro and Solo-1 in the same manner (and they'll behave the same afterwards), then perhaps ESS simply used an inferior but compatible FM clone.

Reply 4 of 6, by dionb

User metadata
Rank l33t++
Rank
l33t++
Recycled_Box wrote on 2025-03-04, 22:40:

[...]

I'm grateful for the comprehensive explanation thank you, but it begs further questioning. What I'm told with the Allegro-1 is: MIDI is "good"

The statement "Allegro-1 MIDI is good" means that is has a bug-free implementation of the MPU-401 UART MIDI interface, so it does not have things like MIDI slowdowns and hanging note bugs that plague the Soundblaster 16 cards.

That purely refers to the functuality of the MIDI interface, to take an analogy, it refers to the ability of the card to speak the MIDI language: good, it does so without stuttering. That doesn't say anything about how songs sung in that language will sound.

FM is "bad/not supported".

This is a - subjective - statement about the quality of FM synth. So to continue in the analogy it's about the voice of the singer.

But here is a man here saying it does do ESFM, in a similar but not same manner or interpretation as the Solo-1 does. But that it's instructions must be fed to it under MIDI standard first.

This is a program that takes input in the MIDI language and sings a song with the ESFM voice - which is supposed to sound better than the regular OPL3 voice (or the ESS Allegro's imitation of it).

Whether certain games can feed FM data without MIDI I have no idea.

Yes. Specific software can be used to make music with FM based on MIDI data, but that's just one use case. FM synth makes sound at a low level. If you choose "AdLib" in a game, 9 times out of 10 it has nothing to do with MIDI and the software directly talks to the FM synth.

Why it sounds better or worse than some hardware driven interpretation I again have no idea.

That's just a matter of implementation - and of personal taste. See Yamaha OPL3 as Pavarotti, ESFM as Freddy Mercury. Both excellent singers, but noticeably different. And then you have Johnny Rotten (Creative's CQM) or me (er, something totally shit - I can't sing at all).

Put more simply; why should an FM chip be regarded as not accessible or not supported if this software exists and works to address the Allegro driver's software FM support? Why, if it has the same four programmable oscillators or what not as a Solo-1, should it sound different or worse than a Solo-1?

If it sounds like I'm dancing around the point I don't mean it to. I'm basically asking not what makes it different from the Solo-1 on a datasheet level but how and why is it different on a practical or pragmatic level to me, the end user?

From a pragmatic level, they are black boxes. They all sound different and people have an opinion on how they sound. Choose the one whose sound you like best. Many people say some implementations are good or bad, listen to Youtube comparisons of FM synth to make up your mind here. I'd personally say ESFM is one of the better FM versions.

Note that the specific card (or motherboard if onboard like here) also has an impact, in particular the analog filters significantly affect how music sounds. This is even more subjective than the differences between chips, as in general low-pass filters remove a lot of noise but also a lot of definition in the high end.

Also I can disable the onboard sound and take a precious slot up with audio cards but I'm asking why someone ought. I don't know if the Allegro-1 really shines but I don't think it embarrasses itself particularly (not like the car at any rate).

Why would I install an Audigy next to an Allegro? In case I want to have EAX, but the Allegro-1's DOS has too better a compatibility compared to an Audigy to consider disabling it on the board. I'd still enjoy CS1.6 at 640x480. I just rarely wear the headphones to play them. So I'm undecided if I even want the ability to use it in there or if I will notice not having it.

In DOS at least, a "sound card" doesn't exist at a software level. It's a collection of multiple different functionalities which have more or less to do with sound generation, each of which can be individually addressed by software. Different cards have different functionalities and offer different quality in those functionalities. With multiple cards you can pick and choose whatever you prefer by choosing the relevant resources in DOS.

A typical sound card can offer:
- digital audio PCM playback using one or more standards (Sound Blaster / Pro / 16 or WSS, for example)
- FM synth
- MPU-401 MIDI interface
- wavetable synth (usually over the MIDI interface)
- game port

To the best of my knowledge the Allegro offers:
- PCM playback according to SB Pro 2.0 (decent, not excellent)
- decent FM synth
- bug-free MPU-401 MIDI
- no wavetable
- game port

The SBLive offers:
- PCM playback according to SB16 (good)
- very poor FM synth
- bug-free MPU-401 MIDI
- software wavetable (General MIDI) in DOS using TSR driver
- game port.

So to get the best of both worlds, you could use the Allegro for FM synth and the SBLive for SB16 PCM and wavetable. However as both cards need TSR drivers, you will face memory challenges when doing this, so it's probably not worth it.

Reply 5 of 6, by Recycled_Box

User metadata
Rank Newbie
Rank
Newbie

All this is excellent stuff. Deserves to be in it's own article on Sound over on the Vogons Wiki. Thank you for taking the time to share it all.

It again would provoke further questioning, but I've decided what I'm going to do. It's based on assuming the claims within this github hosted software happen to be the truth of it; that you can play with how the ESFM/'OPL emulation' sounds even on the cards claimed not to have it and to basically make it sound however you want. Presumably only within the values it lets you set, but the 4-operators sound fairly widely blown open to me by using this. Why ESS would have shifted it, broken it, or made it worse in later implementations of their chips I don't know. I probably won't be the one to assemble the patch set at any rate because I'm not exactly an expert in getting a modulated frequency to sound like this or that instrument. I would just like a set that mimics the values set from the Solo-1.

I will tell you that I don't know how this differs from having a software wavetable. That's if you want to write another theory explanation.

But I can already tell you how I expect the PCI slots on this machine to look (unless something goes wrong):
Slot 1: Empty w/vented bracket. So rising heat from cards can get out.
Slot 2: 9200SE for T&L
Slot 3: Rage 128 because it has DOS driver
Slot 4: NEC USB

I know it's a cardinal sin to have two different graphics cards in the same box. But I don't have a Radeon 7200 pci for if I want pure dos drivers AND T&L, and besides that, the later 9200 should let me "crank the shinys up" on a few of the lesser demanding games.

If it'll do it without problems then I can experience everything from windows 3.1 upward in a little box, and the Allegro-1 should (when further effort is spent on it) sound pretty good after all. Shame about no native 3dfx or no 3d audio. But I don't wear headphones, and I've got 32-bit color being driven by ATI. So I can feel pretty good about using only 90% unobtanium parts and leave the 100% stuff to some one else.

Reply 6 of 6, by dionb

User metadata
Rank l33t++
Rank
l33t++
Recycled_Box wrote on 2025-03-06, 20:50:

[...]

It's based on assuming the claims within this github hosted software happen to be the truth of it; that you can play with how the ESFM/'OPL emulation' sounds even on the cards claimed not to have it and to basically make it sound however you want.

That is not what the ESFM bank editor you linked to on Github claims to do. It states that the ESS cards can emulate OPL3 with their ESFM synth, this software is purely designed to make use of the additional features of ESFM over regular OPL3.

It also isn't "to make it sound however you want" - this is specific to using the FM synth to output MIDI music using some other piece of software. It does not affect the basic functionality of the FM synth itself. Games suppoting FM synth don't use this software (or the MIDI synth it is used with), they directly address the FM synth itself, setting envelope parameters to make the specific sounds the game needs. Most games do that for native OPL3, which the Allegro can emulate. A handful of games natively support ESFM and can use its enhanced features to sound a little bit better, at least assuming the composer makes good use of the features.

There's an opinion out there that the OPL3 emulation of the Solo is better than that of the Allegro - but that's due to differences in the underlying ESFM implementation. If that sounds bad to your ears, using more features won't change the underlying quality.

Presumably only within the values it lets you set, but the 4-operators sound fairly widely blown open to me by using this. Why ESS would have shifted it, broken it, or made it worse in later implementations of their chips I don't know

FM synth was an early 1990s thing, by the time the Allegro came out, no one was seriously using it anymore, so it wasn't worth spending time and money on to get it right. ESS wasn't the only company cheaping out here, Creative's PCI cards were even worse.

I would just like a set that mimics the values set from the Solo-1.

This won't.

On paper the Solo and Allegro have exactly the same FM implementation: ESFM, which is a superset of OPL3. They can pretend to be an OPL3 or you can use the full power of ESFM. The difference is that the ESFM on the Solo sounds a lot better than on the Allegro, regardless of whether it's pretending to be an OPL3 or not.

This software takes something that normally only uses the OPL3 instructions, and instead takes advantage of the full ESFM featureset - which will work on all ESS cards with ESFM including the Solo and Allegro. It won't stop the Solo and Allegro sounding different.

I will tell you that I don't know how this differs from having a software wavetable. That's if you want to write another theory explanation.

Software wavetable: a piece of software that takes MIDI input and outputs music based on samples held in RAM.
This differs from that as it doesn't use samples but instead uses the FM synth to make the music.