Built-in soundfont support for MIDI?

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
Nintendo Maniac 64
Posts: 234
Joined: Sun Sep 17, 2006 3:08 am
Location: Northeast Ohio, USA

Built-in soundfont support for MIDI?

Post by Nintendo Maniac 64 »

My interest in MIDI has been reignited since I've discovered soundfonts. Problem is, windows doesn't support them by default and you have to either do a ton of hackery or just use a stand-alone player that supports soundfonts like XMPlay.

So it'd be INCREDIBLY AWESOME (yes, the bold and caps are necessary) if we could get built-in support for soundfonts so that it'd effect all MIDI audio across the board.


And just a heads up, yes, audio in ReactOS IS usable, at least in the test case shown in this video:
http://www.youtube.com/watch?v=JLu6qQsaF6A

EDIT: Apparently MIDI isn't working though. It's been proposed by Pharaoh_Atem in this post that it might be better to just use FluidSynth as ReactOS's MIDI backbone. In theory this would be easier to implement AND give compatibility with high-quality soundfonts - a win-win in my book.
Last edited by Nintendo Maniac 64 on Thu Oct 22, 2009 4:53 am, edited 1 time in total.
livestrong2109
Posts: 133
Joined: Sun Aug 30, 2009 4:42 pm

Re: Built-in soundfont support for MIDI?

Post by livestrong2109 »

I'm going to be as honest as I can, I really see no point in supporting this...
Wesley Howard
ROS Contributor - Web Developer
Nintendo Maniac 64
Posts: 234
Joined: Sun Sep 17, 2006 3:08 am
Location: Northeast Ohio, USA

Re: Built-in soundfont support for MIDI?

Post by Nintendo Maniac 64 »

Let me put it this way...

If I were to compare it to video game system synthesizers:

generic standard midi = SNES to N64
soundfonts = N64 to GCN

And soundfonts can only get better.


Here's an example of how good MIDI can sound with a quality soundfont:
http://www.youtube.com/watch?v=RwiksA7Ltp8
(uses the free SGM soundfont)

To hear what it sounds like normally with generic midi, you can find the song on XP at:
C:\WINDOWS\Media\onestop.mid
(or you can just listen to this somewhat low quality youtube video)


So basically, if it can easily make midi sound considerably better, then why the heck not implement it?
fred02
Posts: 551
Joined: Thu Nov 22, 2007 5:54 pm

Re: Built-in soundfont support for MIDI?

Post by fred02 »

Nintendo Maniac 64 wrote: So basically, if it can easily make midi sound considerably better, then why the heck not implement it?
Because it is just a driver, not part of the core system.
livestrong2109
Posts: 133
Joined: Sun Aug 30, 2009 4:42 pm

Re: Built-in soundfont support for MIDI?

Post by livestrong2109 »

The MIDI is a nearly dead format and is no longer widely implemented. What point is there in adding additional support for an dyeing format that we already support as well as the mainstream. Its good enough that we implement support for MIDI, as the last time i've seen a Midi was back in Win98.
Wesley Howard
ROS Contributor - Web Developer
Nintendo Maniac 64
Posts: 234
Joined: Sun Sep 17, 2006 3:08 am
Location: Northeast Ohio, USA

Re: Built-in soundfont support for MIDI?

Post by Nintendo Maniac 64 »

Geez, I thought ReactOS was supposed to enhance things that were seen as lacking in Windows. Well, midi is one of them! Have you ever thought that midi died out from low quality? Guess what, soundfonts fix that.

Isn't ReactOS supposed to be very usable on older computers unlike Windows vista & 7? Well, many older games that were made before vorbis came around used MIDI for their music, and one of the advantages a ReactOS system would have over Linux is just that - games.

Midi can't be THAT dead if you still implemented it into ROS in the first place.

fred02 wrote:it is just a driver, not part of the core system.
A driver? That's why I can use soundfonts in XMPlay or ScummVM on my standard old Realtek AC'97. Right.
User avatar
Black_Fox
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: Built-in soundfont support for MIDI?

Post by Black_Fox »

You answered the question yourself. MIDI will be (as IMO quite a few of other things) reimplemented to match its Windows counterpart, nothing more, nothing less. One of primary reasons for MIDI was lower diskprint as opposed to WAV, but today we have much more disk space and MP3/OGG on top of that.
hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

The primary reason for MIDI is the possibility to edit it.

MIDI is a C source, WAV is a compiled binary. :-)
Nintendo Maniac 64
Posts: 234
Joined: Sun Sep 17, 2006 3:08 am
Location: Northeast Ohio, USA

Re: Built-in soundfont support for MIDI?

Post by Nintendo Maniac 64 »

Black_Fox wrote:MIDI will be reimplemented to match its Windows counterpart, nothing more, nothing less.
I'm not saying to change how midi works, I'm just suggesting the ability to select a soundfont as well. It's not like it REQUIRES a soundfont to run, but it'll sound better with it.

Its kind of like a desktop background in that way - you can leave it blank or load your own image for it. The image is much nicer, but it doesn't add or reduce functionality. Nobody would argue against desktop backgrounds for not adding anything useful would they?
User avatar
Black_Fox
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: Built-in soundfont support for MIDI?

Post by Black_Fox »

The wallpaper metaphore seems a good one, since you get only one or two most basic with current ROS installation, just not to die from boredom :)

hto: true that, didn't think about it this way... then we also have byte-code XM modules :)
Nintendo Maniac 64
Posts: 234
Joined: Sun Sep 17, 2006 3:08 am
Location: Northeast Ohio, USA

Re: Built-in soundfont support for MIDI?

Post by Nintendo Maniac 64 »

Also you must remember, like that desktop background analogy, I'm only looking for the ability to use them, not to have them bundled with the OS. That'd be silly to include the actual soundfonts in ROS, some of them (like the above-linked SGM) are ~300MB, larger than the entire OS itself!
fred02
Posts: 551
Joined: Thu Nov 22, 2007 5:54 pm

Re: Built-in soundfont support for MIDI?

Post by fred02 »

Nintendo Maniac 64 wrote:
fred02 wrote:it is just a driver, not part of the core system.
A driver? That's why I can use soundfonts in XMPlay or ScummVM on my standard old Realtek AC'97. Right.
Precisely because it is a driver. It takes the MIDI input and using a bundled soundbank (.dls) generates a wave that it handles to the soundcard, so any wave-capable output will do, even the basic sount blaster. :D Unless of course there is something similar in the realtek drivers, I don't remember now, but for instance Ensonique Audio PCI used its own proprietary .ecw soundbank for MIDI.
Nintendo Maniac 64 wrote:Also you must remember, like that desktop background analogy, I'm only looking for the ability to use them, not to have them bundled with the OS. That'd be silly to include the actual soundfonts in ROS, some of them (like the above-linked SGM) are ~300MB, larger than the entire OS itself!
Well, you must remember that there several soundbank formats, soundfonts being one of them, I mentioned two others above, and there are even more, so which one to support? If you find an FOSS driver for any of them you can suggest it for inclusion (not source but distribution), but keep in mind that the sound system in ROS in a flux state currently, so the answer might be a "no", for now. :-)

livestrong2109: MIDI is doing well, thank you. But it is used in professional music, not games, because PC implementations have trouble to meet timing requirements for one side, and consistency for the other. Oh and it is for music, not songs.
User avatar
Black_Fox
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: Built-in soundfont support for MIDI?

Post by Black_Fox »

Nintendo Maniac 64 wrote:Also you must remember, like that desktop background analogy, I'm only looking for the ability to use them, not to have them bundled with the OS.
Fair enough, you have a point here.
Nintendo Maniac 64
Posts: 234
Joined: Sun Sep 17, 2006 3:08 am
Location: Northeast Ohio, USA

Re: Built-in soundfont support for MIDI?

Post by Nintendo Maniac 64 »

fred02 wrote:Well, you must remember that there several soundbank formats, soundfonts being one of them, I mentioned two others above, and there are even more, so which one to support? If you find an FOSS driver for any of them you can suggest it for inclusion (not source but distribution), but keep in mind that the sound system in ROS in a flux state currently, so the answer might be a "no", for now. :-)
Well, wouldn't it be better to develop a feature like this while there is interest in the sound system? It'd be too bad if it reaches the "good enough" stage and doesn't get touched again for many more years. And seeing that it's in flux, wouldn't it be better to intergrate it in instead of just stacking it on top like an extension? Unless MIDI doesn't work at all yet...

As for multiple formats, I don't want to sound too ambitious but why not any that has open-source implementations? (desktop backgrounds can be several different formats) At least for soundfonts, I didn't find a library but I did find an open-source program that specializes in playing back soundfont-enabled midi without a soundcard driver:
http://fluidsynth.resonance.org/trac
(no idea what coding language it's written in, coding is the one major computer thing I can't and don't like to do)

Also turns out that TiMidity++ handles soundfonts as well, and conveniently enough is written in pure C! Though according to this page it's not as accurate as FluidSynth regarding soundfont usage.

Interestingly enough, apparently both of those programs actually REQUIRE a soundfont just to be able to playback MIDI sound at all.

EDIT: According to this page, apparently SoundFont 2.0 and later are open formats and have the specification documents listed on that page as well.
fred02
Posts: 551
Joined: Thu Nov 22, 2007 5:54 pm

Re: Built-in soundfont support for MIDI?

Post by fred02 »

Nintendo Maniac 64 wrote: Unless MIDI doesn't work at all yet....
Yes, this is indeed the case. Actually, the whole sound system is broken again.
Nintendo Maniac 64 wrote:As for multiple formats, I don't want to sound too ambitious but why not any that has open-source implementations? (desktop backgrounds can be several different formats)
MIDI music generation is more complicated than decoding of a simple bitmap. You already found it yourself: there are several programs doing this, and each has it strong points and weaknesses, and no library, contrary to images, where there is plenity.
Nintendo Maniac 64 wrote:At least for soundfonts, I didn't find a library but I did find an open-source program that specializes in playing back soundfont-enabled midi without a soundcard driver:
http://fluidsynth.resonance.org/trac
(no idea what coding language it's written in, coding is the one major computer thing I can't and don't like to do)
It seems to be C.
Nintendo Maniac 64 wrote:Interestingly enough, apparently both of those programs actually REQUIRE a soundfont just to be able to playback MIDI sound at all.
Of course, as they contains the sound that will be played according to the MIDI file. Think about it as a dish: midi file is a recipe, and sound fonts are the ingredients. The recipe without ingredients is useless. Oh, and while I am on it, quality of ingredients (sound fonts) determines the quality of the final dish (music), so don't expect to make "fine cuisine" with rotten eggs. :) And I mean quality, not quantity, your scrambled eggs will not be any better with a spoiled ostrich egg, but can be delicious with a fresh egg from your grand-ma backyard.
Nintendo Maniac 64 wrote:EDIT: According to this page, apparently SoundFont 2.0 and later are open formats and have the specification documents listed on that page as well.
I will try to continue with my cooking analogy. Just because you know and have all the ingredients does not makes you chef. You have to know when and how to mix the ingredients (play notes), and that what these programs do, and each programmer uses a slightly different way, just as each chef do.
On a more technical side, SoundFont 2.* specification is actually quite complex and some parts are not trivial to implement. This is why there not so many programs around.
Post Reply

Who is online

Users browsing this forum: No registered users and 54 guests