Nintendo Maniac 64 wrote:I just hope this doesn't make people start trying to implement TiMidity++ in ReactOS instead of FluidSynth... (in case you haven't noticed already, I'm strongly against using TiMidity++, not to mention an absolute sucker for FluidSynth's future-proof-ness)
I guess that I just want this to be done the best it can be the first time, possibly because I'm afraid it'll be ignored once it is implemented (did you see the early posts in this topic saying how this was pointless?), thus making us stuck with TiMidity's overall worse quality.
Well, the problem here is that we don't really have anyone with any knowledge of writing MIDI drivers for Windows. If someone with knowledge on how to do that stepped up and wrote a fluidsynth driver for the ROS/Windows MIDI engine, then we would be set.
It is quite likely that once it is done, it will be forgotten for quite some time.
Alright, I just did a quick edit of the VintageDreamsWaves-v2 soundfont and it'll now play sound for steel drums! (it uses the same sound as the sound for piano in bank 000) I'll be adding it to the wiki.
Nintendo Maniac 64 wrote:Alright, I just did a quick edit of the VintageDreamsWaves-v2 soundfont and it'll now play sound for steel drums! (it uses the same sound as the sound for piano in bank 000) I'll be adding it to the wiki.
Did you actually listen to the example MIDI given, or do you not have a way to listen to MIDIs using soundfonts?
Since this is a nearly 8-bit soundfont, the sound for a piano doesn't really sound like a piano. The soundfont itself calls it "FM Bells 1" for good reason, it has a "bell" like sound to it, which IMO for nearly 8-bit like sound is pretty close to a steel drum equivalent. Remember, steel drums sound NOTHING like a normal drum.
If you're really worried about it, I can look through every single sound and see if there's a closer one.
Nintendo Maniac 64 wrote:Did you actually listen to the example MIDI given, or do you not have a way to listen to MIDIs using soundfonts?
Since this is a nearly 8-bit soundfont, the sound for a piano doesn't really sound like a piano. The soundfont itself calls it "FM Bells 1" for good reason, it has a "bell" like sound to it, which IMO for nearly 8-bit like sound is pretty close to a steel drum equivalent. Remember, steel drums sound NOTHING like a normal drum.
If you're really worried about it, I can look through every single sound and see if there's a closer one.
At the moment, I don't really have a method of listening to soundfonts reliably right now, so I just made a guess based on what I knew of how soundfonts are supposed to sound... Your explanation is good though, and I'm not that nitpicky...
While FluidSynth 1.1.0 does bring in many improvements, it is nearly impossible to include in ReactOS, because it now has a hard dependency on glib. GLIB depends on a quite a few other libraries, so meh. However, FluidSynth 1.0.9 has no such requirement.
In any case, I managed to get FluidSynth 1.0.9 player to compile on Windows. So now I offer a full binary/source package of fluidsynth 1.0.9, containing the source tarball, and a tarball with the CLI player & libraries.
Requires glib? O_o That seems a little strange coming out of the blue like that...
Ironically enough, to those that were saying to not worry about MIDI for now, if I did that, we probably would have never recognized FluidSynth as a contender for the MIDI backend due to its use of glib. So it's a good thing I brought this up now!
I found an open source MIDI loopback driver for Windows. However, the code is quite old (requires Delphi 1.0 to compile, which I don't have).
I'm hoping somebody here has Delphi 1.0 and knows Delphi and Lazarus, otherwise, I'm going to be flying blindly and attempting to convert the code to work on Lazarus.
If there is anybody out there skilled in Delphi and Lazarus, please let me know!
I have voluntarily stopped myself from core OS development, but I think I could do a port to C++ without any issues. Much more likely to be included in default ROS that way, although Downloader would probably allow a Lazarus (or Delphi for that matter) project.
MIDI loopback devices are like virtual cables to connect two MIDI applications (MIDI Out from one application to the MIDI In of the other one).
Nothing useful in the case of ReactOS...
b4dc0d3r wrote:I am read-only with delphi - where's the code?
I have voluntarily stopped myself from core OS development, but I think I could do a port to C++ without any issues. Much more likely to be included in default ROS that way, although Downloader would probably allow a Lazarus (or Delphi for that matter) project.
Here is the code. It originally was public domain, but I relicensed it to LGPLv2.1+. It would be much better if it were translated to C/C++..