Play MIDI music through LibFluidSynth or LibTimidity

Discussion in 'Wishlist Requests' started by AoiBlue, Mar 13, 2019.

Tags:
Thread Status:
Not open for further replies.
  1. AoiBlue

    AoiBlue Avatar

    Messages:
    393
    Likes Received:
    298
    Trophy Points:
    55
    Gender:
    Male
    Currently there is inconsistency across systems on the quality of the midi based music in the game. This particularly hits windows players bad with the rather low quality software synthesizer included with DirectX.

    The best solution would be to switch to a high quality synthesizer library such as Fluid Synth or Timidity. Coupling this with a high quality sample sets. This would provide consistent sound across all systems.

    There should still be an option to use system midi if the user prefers it. However, this should not be the default.
     
  2. Rogosh of the Zog Cabal

    Rogosh of the Zog Cabal Avatar

    Messages:
    118
    Likes Received:
    369
    Trophy Points:
    30
    Gender:
    Male
    Location:
    Blackstone Gate
    How would they do that?
     
  3. Vladamir Begemot

    Vladamir Begemot Avatar

    Messages:
    6,176
    Likes Received:
    12,011
    Trophy Points:
    153
    Gender:
    Male
    I'm interested in hearing more as well, is this for the in game instruments? What does this entail?

    And now I will give you a hint on making it happen.

    When they start hiring for Ep2, hopefully, really really hopefully we get a Sound Designer. Tell that person and it may happen.
     
    Astirian likes this.
  4. Anpu

    Anpu Bug Hunter

    Messages:
    4,880
    Likes Received:
    5,422
    Trophy Points:
    153
    Location:
    Pacific Northwest
    Windows removed the ability to select specific MIDI devices after Windows XP. There’s ways around this though. So if you have Fluidsynth or Timidity, you can then use that and play the game music with that. You just have to change the default MIDI device.

    I’m a musician who has many keyboards, and many times while playing older games, I like using a specific synth for the game. Like when playing Ultima VII I play the game music with my Roland MT-32 (the game music was written for that synth). After Windows XP I noticed that was removed (setting default MIDI device).
     
    Alioth likes this.
  5. majoria70

    majoria70 Avatar

    Messages:
    9,889
    Likes Received:
    24,048
    Trophy Points:
    153
    Gender:
    Female
    Location:
    United States
    Hmmm that sound interesting although I do have lots of abc files in my sheetmusic folder. These songs are created by mostly lotro players who are happy to share their song code. So far I have not wanted to take it further to make my own creations but perhaps one day I will. Sorry if I'm off topic if I am but I love playing songs and the ability to sync songs in game with others. Perhaps I'm not as fussy about the quality although it would always be nice if we sounded great. So a preview of my obsession ;)

    [​IMG][​IMG]
     
  6. Arkah EMPstrike

    Arkah EMPstrike Avatar

    Messages:
    4,406
    Likes Received:
    7,854
    Trophy Points:
    153
    I wouldnt mind seeing some videos demonstrating the difference in sounds with the same songs between different systems

    If you’re talking about just how 1 person playing sounds different than another person playing, thats just due to the quality of the .abc file
     
    Vladamir Begemot likes this.
  7. AoiBlue

    AoiBlue Avatar

    Messages:
    393
    Likes Received:
    298
    Trophy Points:
    55
    Gender:
    Male
    Well, fluidsynth or timidity libraries can be used as a midi to wav library. They also ship with a helper binary that can be used in this manner using a pipe-type stream.

    On Linux there is a utility to install Timidity as an actual emulated MIDI device using an ALSA userspace loopback device. (The device hooks to a software MIDI loopback device that feeds everything that is input to it to it's output. Then Timidity plays the MIDI stream on it's wavetable synthesizer. This is the default MIDI stack that ships with almost all Linux systems.)
     
  8. Vladamir Begemot

    Vladamir Begemot Avatar

    Messages:
    6,176
    Likes Received:
    12,011
    Trophy Points:
    153
    Gender:
    Male
    Understanding almost none of this. Is this something the end user will have to do or this is something Port does?
     
    majoria70 likes this.
  9. AoiBlue

    AoiBlue Avatar

    Messages:
    393
    Likes Received:
    298
    Trophy Points:
    55
    Gender:
    Male
    It would be done by Port.

    While there is a way to implement this on the user end it is more complicated. In Windows it involves either usage of the Power Shell or a 3rd party utilities, and you will also need to build the synth yourself using MSVC or MinGW.

    On Linux of course, most distros ship with one or the other as the default MIDI driver on systems without hardware-based MIDI.
     
    Vladamir Begemot likes this.
Thread Status:
Not open for further replies.