VOGONS


First post, by Ryccardo

User metadata
Rank Member
Rank
Member

I'll attempt to write a short history of PC sound, which I'm sure is missing something which in turn is related to my ultimate question:

- First (ignoring the PC Speaker, PCjr sound, and the parallel port DACs) was the Roland MPU series, a subset of which (dumb mode) became the de facto standard for MIDI;
- [the IBM music card, which mostly failed, between a lack of applications and the common knowledge that everyone and their mom could make PC accessories that were better featured and cheaper than 1st party];
- Then the AdLib, with an OPL (2) based synthetizer that is NOT midi compatible, you'd need a more or less hypothetical converting player;
- Then the Sound Blasters, adding PCM sound to a still non-natively-MIDI synth, which eventually started including a gameport+external MIDI combo socket;
- ?????
- SB compatibles with wavetable MIDI
- ?????
- Today's (2004 or so?) integrated sound chips that don't do MIDI at all, they expect software to convert it to PCM

So I'd like to know, when did it became (first possible at all/reasonable) for an average program to just pump out MIDI events and have them turned into actual sound?

In other words, I have a turn of the millennium mobo with integrated sound (don't remember the audio chip brand, sorry) that gives me the choices of standard MS/Roland software emulation, native playback, or "MPU compatible" output, and I'm fairly sure it's some FM implentation but it couldn't possibly be an OPL-like thing used directly… or is it?

Reply 1 of 9, by Scali

User metadata
Rank l33t
Rank
l33t
Ryccardo wrote on 2023-07-10, 12:02:

So I'd like to know, when did it became (first possible at all/reasonable) for an average program to just pump out MIDI events and have them turned into actual sound?

Possible at all was when the MPU-401 arrived.
Reasonable was arguably never, as MIDI was never the most popular standard on PC, and as you say, the most popular standards, AdLib and Sound Blaster, were not MIDI-compatible.
By the time more advanced MIDI-capable Sound Blasters arrived, we were in the transitional phase from DOS to Windows, and in the Windows-age there was a standard MIDI-mapper, which could play back MIDI data on any device, either via hardware support, by converting MIDI-data to native chip data for an AdLib or OPL3 or such on-the-fly, or by just using a full software MIDI synthesizer, which outputs PCM data directly.

But prior to that, I guess the most 'reasonable' setup for MIDI was an MPU-401 combined with the relatively affordable Roland MT-32.
While still far more expensive than an AdLib, SB or similar card, it was pretty much the cheapest MIDI solution for PC for years, until the above move to MIDI-capable Sound Blasters and Windows.

Ryccardo wrote on 2023-07-10, 12:02:

In other words, I have a turn of the millennium mobo with integrated sound (don't remember the audio chip brand, sorry) that gives me the choices of standard MS/Roland software emulation, native playback, or "MPU compatible" output, and I'm fairly sure it's some FM implentation but it couldn't possibly be an OPL-like thing used directly… or is it?

I'm pretty sure onboard audio won't actually interpret MIDI data. At least, your average AC'97 won't.
They may have a MIDI interface, as in: they can send MIDI data over the 15-pin joystick port to an external sound source.
But other than that, it's probably either software MIDI or a MIDI mapper to OPL3 or whatever chip it uses exactly.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 2 of 9, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
Ryccardo wrote on 2023-07-10, 12:02:

In other words, I have a turn of the millennium mobo with integrated sound (don't remember the audio chip brand, sorry) that gives me the choices of standard MS/Roland software emulation, native playback, or "MPU compatible" output, and I'm fairly sure it's some FM implentation but it couldn't possibly be an OPL-like thing used directly… or is it?

The MIDI I/O were usually handled by the LPC chip on later motherboards (up to around 2005) and were connected to an internal MIDI/GAME header on the board.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 3 of 9, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Are you looking for earliest General MIDI or just any type of MIDI?

And what do you mean by "average program"? Are we talking games or music software or what?

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 5 of 9, by Scali

User metadata
Rank l33t
Rank
l33t
rmay635703 wrote on 2023-07-12, 21:10:

MIDI released in 1983, I’m having a hard time finding the release dates of the mif-APL or c64, etc but am guessing little existed before 1986

The Roland MPU-401 was released in 1984. One would expect that at least one MIF-card was launched with it.
This PC Mag from April 1984 mentions the introduction at NAMM and says a PC interface card is available, doesn't mention other platforms:
https://books.google.nl/books?id=e-gI2W-3JwkC … %201984&f=false

The programming examples in the MPU-401 manual are in 6502 assembly, which would indicate they're probably for either Apple II or C64. Which might mean that those were the first interfaces they developed.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 6 of 9, by rmay635703

User metadata
Rank Oldbie
Rank
Oldbie
Scali wrote on 2023-07-12, 23:04:
The Roland MPU-401 was released in 1984. One would expect that at least one MIF-card was launched with it. This PC Mag from Apri […]
Show full quote
rmay635703 wrote on 2023-07-12, 21:10:

MIDI released in 1983, I’m having a hard time finding the release dates of the mif-APL or c64, etc but am guessing little existed before 1986

The Roland MPU-401 was released in 1984. One would expect that at least one MIF-card was launched with it.
This PC Mag from April 1984 mentions the introduction at NAMM and says a PC interface card is available, doesn't mention other platforms:
https://books.google.nl/books?id=e-gI2W-3JwkC … %201984&f=false

The programming examples in the MPU-401 manual are in 6502 assembly, which would indicate they're probably for either Apple II or C64. Which might mean that those were the first interfaces they developed.

Still not as good as the s100 bus MIDI card, 🤣

Reply 7 of 9, by SuperDeadite

User metadata
Rank Member
Rank
Member

Not a "PC," but Yamaha sold their first MSX computers with the SFG-01 (YM2151 OPM) sound cartridges in 1983. These cartridges contain a standard MIDI interface, but the bios only supported connecting to a MIDI data recorder (they have a separate proprietary keyboard connector). In 1984 they replaced it with the SFG-05 (YM2164 OPP chip) and updated bios to work as a full MIDI interface for using any keyboard and controlling external modules. (Additional software for DX7 and FB-01 was also sold for this system.)

Modules: CM-64, CM-500, SC-55MkII, SC-88 Pro, SY22, TG100, MU2000EX, PLG100-SG, PLG150-DR, PLG150-AN, SG01k, NS5R, GZ-50M, SN-U110-07, SN-U110-10, Pocket Studio 5, DreamBlaster S2, X2, McFly, E-Wave, QWave, CrystalBlaster C2, Yucatan FX, BeepBlaster

Reply 8 of 9, by Ryccardo

User metadata
Rank Member
Rank
Member
Scali wrote on 2023-07-10, 12:34:

either via hardware support, by converting MIDI-data to native chip data for an AdLib or OPL3 or such on-the-fly,

Thank you, I think this is what I was missing 😀

Scali wrote on 2023-07-10, 12:34:

I'm pretty sure onboard audio won't actually interpret MIDI data. At least, your average AC'97 won't.

Yeah, in most other contemporary-ish PCs I own (without 15-pin connectors) the only option is the Windows/Roland software synth!

Kamerat wrote on 2023-07-12, 10:54:

The MIDI I/O were usually handled by the LPC chip on later motherboards (up to around 2005) and were connected to an internal MIDI/GAME header on the board.

Makes sense given they're the direct successors to ISA multi-IO cards, but IIRC this computer needs the sound driver to make that show up (and yes, while I haven't verified, I strongly suspect "MPU compatible" means the 15-pin connector, definitely not "make it work through the speakers connected to the light green socket")

cyclone3d wrote on 2023-07-12, 18:04:

Are you looking for earliest General MIDI or just any type of MIDI?

And what do you mean by "average program"? Are we talking games or music software or what?

2- Is there a difference? I open a midi file in WMP 5, WMP 7, Winamp, or Anvil Studio (an editor), ensure the correct output device is selected, and click play - isn't the output from the programs to the sound driver comparable?
1- Rather ignorant here, isn't that (primarily) just a standardization of instruments, as in program 0 = piano?

Other posters: thanks for the related facts (this is a public forum, so going to be useful for someone in the future for sure) but I'm after computers being able to actually convert MIDI events to sound rather than just passing them to some external gadget 😀

Reply 9 of 9, by Scali

User metadata
Rank l33t
Rank
l33t
Ryccardo wrote on 2023-07-15, 14:06:

2- Is there a difference? I open a midi file in WMP 5, WMP 7, Winamp, or Anvil Studio (an editor), ensure the correct output device is selected, and click play - isn't the output from the programs to the sound driver comparable?

Under Windows, yes. Windows offers a multimedia API which accepts MIDI data directly, and Windows then handles the actual communication with the output device.
So basic MIDI data should sound the same, independent of application.
There could be some differences when applications also send special configuration data to the device (eg via SysEx commands).

Ryccardo wrote on 2023-07-15, 14:06:

1- Rather ignorant here, isn't that (primarily) just a standardization of instruments, as in program 0 = piano?

Yes, the original MIDI protocol, hardware interface and Standard MIDI File format basically haven't changed since 1983.
General MIDI mainly standardized the instruments and basic key/controller/etc events, and introduced some standardized SysEx (that's an oxymoron) commands.
I believe the first device on the market with General MIDI support was the Roland Sound Canvas SC-55. General MIDI itself is a subset of Roland's GS (General Sound) standard. I believe some early SC-55 units actually predate the General MIDI standard, and as such only have the GS-logo on the front, not the GM logo: Apparently not all GS-only sc-55s are the same, some are GM

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/