Author Topic: Disharmony Audio Patch  (Read 1223 times)

0 Members and 1 Guest are viewing this topic.
derula Male
**
Rep: +6/-0
Offline Offline
Level 55 (65%)
Gaz Membrane
Disharmony Audio Patch
« on: October 24, 2009, 10:20:22 AM »

  • Disharmony Audio Patch
    Version: 0.9.31
    Author: derula
    Date: December 29, 2009

    Version History


    • 29.12.2009 Disharmony 0.9.5.31:
      • Fixed Windows 7 compatibility (thanks Cherry!).
      • Fixed a bug that made tools unusable when using huge window borders.
    • 24.10.2009 Disharmony 0.9.5.30:
      • Fixed a bug where stopping sounds by playing them again at volume 0 crashed the game.
      • Fixed a bug where setting out-of-bounds volume values crashed the game or did weird things.
      • Fixed Harmony Patcher GUI that failed to enable the patch button and then failed to patch.
      • Added Spanish translation for tools. Thanks again to EN.I!
    • 13.08.2009 Disharmony 0.9.5.29 (Loop Editor 0.9.1.6):
      • Fixed bug that stopped Non-MIDIs from fading sometimes.
      • Added support to play multiple Non-MIDIs at once like MIDI channels.
      • Added possibility to change the volume of MIDI channels separately.
      • Added possibility to define a Switch that will cause Disharmony to re-apply all effects.
      • Added French and German translations to all tools (big thanks to king kadelfek!)
      • Loop Editor: Enlarged Buttons so that translations fit them.
      • Effects Manager: Added ability to set channel volumes / reload switch.
      • Harmony Patcher: Changed to only take a single project.
      • Setup updated to 0.9.1.1: Restructured install components and added possibility to install other languages than your system language as well.
    • 15.06.2009 Disharmony 0.9.4.26 (Loop Editor 0.9.1.4) (unreleased):
      • Fixed music fade volume change rate.
      • Fixed a bug where the first MIDI didn't play when using an auto enter patch.
      • Fixed a bug that made it impossible to play the same music again after starting to fade it out.
      • Finally fixed those stupid "mini loops".
      • Added support for Effects and new tool (Effects Manager).
      • Added the new tool Harmony Patcher to be able to use Disharmony from RPG Maker 2003.
      • Added possibility to stop a specific sound by playing it again at volume 0.
      • Loop Editor: Added ability to set the loop starting point for MIDI files, minor fixes.
      • Setup updated to 0.9.1.0: Uninstall old version prior to installing new one, minor fixes & changes, added Spanish and French translations (thanks to EN.I and king kadelfek)
    • 21.12.2008 Disharmony 0.9.3.23 (Loop Editor 0.9.0.3):
      • Now actually supports Ineluki's MP3- / Keypatch.
      • Plays MP3 files in newer RPG Maker 2003 versions correctly (inside the game, if it is patched).
      • (Hopefully) no more performance issues or random loops.
      • Upgraded to DSMix Advanced which takes advantage of DirectX 9.
      • Loop Editor: Recompiled to use DSMix Advanced.
    • 02.10.2008 Disharmony 0.9.2.21:
      • Fixed a bug that resulted in the MIDIs being played with an incorrect Tempo setting if they were rapidly played after another MIDI.
      • Setup: It had the old Version number, fixed that.
    • 01.10.2008 Disharmony 0.9.2.20 (Loop Editor 0.9.0.2):
      • "No Loop" setting did not actually work. Now, it hopefully does.
      • MIDI playback is now performed by Disharmony. The beginning of the MIDI will be skipped if it is silent, and the Controller 111 is recognized.
      • Loop Editor: Dunno. I think I just compiled it twice which added up to the version number.
    • 30.03.2008 Disharmony 0.9.1.20 (Loop Editor 0.9.0.0):
      • Fixed a bug or two where "Played BGM Once" didn't work with songs without loop or songs with a loop starting point different from 0.
      • Loop Editor: Fixed a bug where Pressing F1 would cause an error instead of displaying the help file.
      • Setup updated to 0.9.0.0: Transformed message boxes into a more GUI approach, added German translation.

    Planned Future Versions

    • I plan to do a Disharmony version for RPG Maker XP. Yes, I know, there's already an FMOD script for RMXP, but Disharmony has some features FMOD doesn't have, like correctly playing the MIDIs (see below) and reading loop start points from file tags.

    Description


    Disharmony Audio Patch (in short, "Disharmony") is a replacement for the default audio system (will be referred to "Harmony" in the following) of RPG Maker 2000 and 2003. It is designed to be as compatible as possible, while fixing the worst flaws of Harmony and introducing new features.

    Features

    • Full DirectSound playback of music (except MIDI, which is played via midiOut) and sound effects. Due to that, all file formats for which a DirectShow filter is installed are supported. By default this is raw WAV, MP3 and WMA.
    • Reading access to special looping information in MP3, WMA and OGG tags. This information can be written to MP3 and OGG files using Loop Editor, a special tool that comes with Disharmony.
    • Using effects like Chorus, Echo, etc. when playing non-MIDI music. Disharmony takes advantage of Cherry's work on Finder to read game Switches and Variables with which you can control those effects.
    • Theoretical playback of an infinite number of sound effects simultaneously.
    • Disharmony stops all currently playing sounds with a given file name if you play the same again at volume 0.
    • "Played BGM Once" fork condition is supported for all audio formats.
    • Midis are played back and a very similar way the original harmony.dll did it. That is, the beginning of songs are cut off if they are silent, and the controller 111 is supported as a loop starting point indicator. Furthermore, a few bugs with the original harmony.dll are fixed, most notably the one that made all MIDIs sound strange if a previously played MIDI made changes to some controllers.
    • "MIDI Play Pos" will return the music playback position in milliseconds for all kinds of input file.
    • No link files have to be created like in Ineluki's patch. They are still supported, though.
    • Full support for Ineluki's keypatch.
    • Apart from the needed DirectShow filters, no additional DLL are required if you aren't using Ineluki's keypatch.
    • Full compatibility to original harmony.dll: Volume (logarithmic volume control), Speed, Panpot and Fade-In / Fade-Out (also logarithmic) are all supported.

    Instructions

    To use Disharmony in your project, the best way is to download the installer below and install the patch. If you're using RPG Maker 2000 Value! or RPG Maker 2003 greater than version 1.04, you will need to use Harmony Patcher GUI to patch the RPG Maker executable and the RPG_RT.exe of every game you want to use Disharmony with. Harmony Patcher GUI is included with Disharmony, and hints on how to use it are provided on program startup.

    If you want to distribute a project using Disharmony, simply copy Disharmony's harmony.dll into your project's folder along with the three text files that come with Disharmony.


    Credit


    These people directly wrote software for Disharmony:

    • Cherry (reading / changing RPG Maker variables, determining a project's real executable and its version)
    • Bananen-Joe (patching RPG Maker 2003 executables to use Disharmony)

    I took advantage of the free software from the following people:

    • Colin Wilson (most of the MIDI part)
    • Carlos Barbadosa and Pavel Bibergal (most of the DirectShow part)
    • Project JEDI (DirectX header files, extra controls in the tools)
    • The MAC Team (reading / writing Audio file tags)
    • Daniel Wischnewski (tool translations framework)
    • Troy Wolbrink (Unicode library)
    • The Helpware Group (HTML help stuff)

    Thanks

    The translation team:

    • EN.I (Spanish translation)
    • king kadelfek (French translation)

    Bug reporters and testers:

    • EN.I
    • Neok
    • Tropical-Bird
    • Nemica
    • Knumonmaster
    • psy_wombats
    • Cherry
    • Bananen-Joe

    Support


    There's plenty ways to contact me in my profile here. Feel free to do so if you find any bugs. Also, you can post in this thread.

    Known Compatibility Issues

    Disharmony isn't 100% backwards-compatible to Harmony. There are some small details that behave slightly differently. If you feel that one of them causes a regression, feel free to contact me.

    Download


    You can download Disharmony Audio Patch from its Homepage or use one of these direct links:

    Author's Notes


    This patch has been inspired by Ineluki's MP3 patch, which has been dominant in the German scene for quite a while. That patch, however, isn't very similar to Harmony; instead, it requires it to be present as well. Most features that Harmony offers simply don't work with MP3 Patch, or don't work as expected. It is difficult to use, and has few features. I talked to Ineluki and told him about these issues, but he told me that those were intended. So I begged him to give me the source code for the DLL interface so that I can write my own Harmony replacement.

    Well. He gave it to me. With one condition however: I must not give it away, and I must make Disharmony compatible to his MP3 patch. That's what I did, though I don't really see the point...

    Restrictions

    If you want to use Disharmony in your project, simply copy Disharmony's harmony.dll into your project's directory. Additionally, due to licensing of parts of Disharmony, you have to add the three text files - copying.txt, MPL.txt and LGPL.txt - to your project. If you don't do it, you're breaking the license and not allowed to use Disharmony in the future. At least, that's how I understand it; after all, IANAL.
    « Last Edit: December 29, 2009, 04:44:12 PM by derula »
    modern algebra Male
    *
    Rep: +336/-113
    Online Online
    Level 79 (49%)
    Re: Disharmony Audio Patch
    « Reply #1 on: October 24, 2009, 10:40:06 AM »

  • This looks really cool. Great job!


    derula Male
    **
    Rep: +6/-0
    Offline Offline
    Level 55 (65%)
    Gaz Membrane
    Re: Disharmony Audio Patch
    « Reply #2 on: December 29, 2009, 04:42:35 PM »

  • This looks really cool. Great job!

    Thanks! And thanks for sticky :)

    I uploaded a small update today that adds Windows 7 compatibility to Disharmony. Just in case someone was wondering if Windows 7 was supported: now it is!

    *hurries to update the OP*
    Skanker
    ********
    <o<
    Rep: +174/-119
    Offline Offline
    Level 71 (49%)
    Re: Disharmony Audio Patch
    « Reply #3 on: December 29, 2009, 06:13:26 PM »

  • wow, I can't believe people are doing these neat things with RM2003 still. It's really cool, keep up the good work :)
    Taylor Male
    ***
    Rep: +3/-1
    Offline Offline
    Level 68 (65%)
    can't work on one project at a time
    Re: Disharmony Audio Patch
    « Reply #4 on: March 09, 2010, 05:35:48 PM »

  • This patch is a godsend. I was really hoping to use mp3s with RM2k because sometimes midis just don't cut it. Even for only a few mp3s, this helps. ... however, there are some outstanding issues.

    Before I list them, I'll note I am using Windows 7 Home Premium 64-bit. Not sure about my project's RPG_RT.exe, as RM2k doesn't have version numbers for them. (RM2k3 does, and it helps.)

    • The sound quality is BAD. Maybe it's just RM2k, but the mp3s sound like, in comparison to in Winamp, like they're being played through a speaker wrapped in a towel. Low dynamic range? Is that the right term?
    • OGGs don't work! This could also be an RM2k only issue, but OGGs have seemless looping, where as mp3s don't. Which brings me to my next issue.
    • The looping program doesn't seem to work. Despite my boss battle theme having a comment that says "DisharmonyLoop:3180", it loops just as if it weren't there - from the start. Scratch that, having .mp3.wav fixes it... though I really hate that name format, because having it just .wav means the .mp3 doesn't appear in the editor and creating a midi version of my game + mp3 patch is possible... Of course, with the small jump before restart, even with the altered loop it wouldn't sound natural.
    • Midis are slightly faster at the start of play, this isn't too noticeable at times, but at one point it didn't go right and my title theme sounded ... odd.

    Now I don't need to worry about RM2k3, because I often use Powermode with it. It supports OGGs fine, and RM2k3 supports mp3s naturally. Powermode is 99% likely to not work with Disharmony because it uses different dlls.

    If you can fix the ogg problem, or tell me what I'm doing wrong, or even remove the jump in mp3 play, you'd be even more awesome. %3 It's a shame the music sounds so... muffled though. :<
    ಠ_ಠ
    derula Male
    **
    Rep: +6/-0
    Offline Offline
    Level 55 (65%)
    Gaz Membrane
    Re: Disharmony Audio Patch
    « Reply #5 on: March 10, 2010, 03:03:42 AM »

  • Hi,

    thanks for your reply.

    • The sound quality is BAD. Maybe it's just RM2k, but the mp3s sound like, in comparison to in Winamp, like they're being played through a speaker wrapped in a towel. Low dynamic range? Is that the right term?

    I suppose you don't have any "effects" activated? Might be a Win7 issue, might be 64k issue, might be your PC to slow... I'm not sure, I never had this problem. I can send you a testing version of an upcoming release to see if it's fixed there.

    • OGGs don't work! This could also be an RM2k only issue, but OGGs have seemless looping, where as mp3s don't. Which brings me to my next issue.

    You need to install a DirectShow filter for OGG Vorbis (yes, if you pass on that game to others, they need to install it as well :/). See here for a full DS filter set.

    • The looping program doesn't seem to work. Despite my boss battle theme having a comment that says "DisharmonyLoop:3180", it loops just as if it weren't there - from the start. Scratch that, having .mp3.wav fixes it... though I really hate that name format, because having it just .wav means the .mp3 doesn't appear in the editor and creating a midi version of my game + mp3 patch is possible... Of course, with the small jump before restart, even with the altered loop it wouldn't sound natural.

    That should have been fixed in about a few versions back... are you sure you have the most recent version? Also, what I said to the first point.

    • Midis are slightly faster at the start of play, this isn't too noticeable at times, but at one point it didn't go right and my title theme sounded ... odd.

    Should be fixed in next release.


    The reason the next release is taking a while is that I added support for RMXP... then I did some optimizations and broke it, and now I don't have much time to work on it :P

    Send me a PM if you want the testing version of the next release (RM2kx version of it shouldn't be broken, I hope), and if it fixes all your problems, I'll hurry towards a soon-coming release =)
    Taylor Male
    ***
    Rep: +3/-1
    Offline Offline
    Level 68 (65%)
    can't work on one project at a time
    Re: Disharmony Audio Patch
    « Reply #6 on: March 13, 2010, 08:34:31 PM »

  • I have a decent RAM and CPU, so it shouldn't be my speed. And the harmony.dll was modified 29/12/2009 so it's the latest version. I thought it was the filters at first, so I got rid of them. (Also because the game sometimes crashed when exiting to the title through the menu with volume filters on. No technical errors, just a Windows "RPG_RT has stopped working" error.)

    I think I'll pass on the OGG plugin, if my players have to do that.

    I think the sound-quality and slight jump might possibly be a 64-bit issue. Which is a pain. :<
    ಠ_ಠ
    Guy
    **
    Rep: +0/-0
    Offline Offline
    Level 50 (97%)
    Re: Disharmony Audio Patch
    « Reply #7 on: March 25, 2010, 09:20:19 PM »

  • ....
    K I'm not quite sure yyet, but you may have just saved my life with this patch.
    Taylor Male
    ***
    Rep: +3/-1
    Offline Offline
    Level 68 (65%)
    can't work on one project at a time
    Re: Disharmony Audio Patch
    « Reply #8 on: May 31, 2010, 09:57:16 PM »

  • Two things to report! In an attempt to make sure you're still alive and updating this thing. :D;;

    MP3s work much better at 96kbps, at least for me - RM2k, Win7 64-bit. Anything higher and the quality in-game and in-editor drops considerably.

    Second issue, when music fades out with the Fade Out event function, after fading out it'll jump back to full volume. I could add a Play BGM: (OFF) to the event but it might be good to fix this anyway.
    ಠ_ಠ
    derula Male
    **
    Rep: +6/-0
    Offline Offline
    Level 55 (65%)
    Gaz Membrane
    Re: Disharmony Audio Patch
    « Reply #9 on: June 01, 2010, 10:58:58 AM »

  • I'm still alive, but the cake is a lie.

    Second issue, when music fades out with the Fade Out event function, after fading out it'll jump back to full volume. I could add a Play BGM: (OFF) to the event but it might be good to fix this anyway.

    This only happens with MIDIs and has been fixed in an internal version already. Sadly, this version has a different problem (due to RPGXP porting). I'll release the version as soon as I can fix that other problem. RPGXP version should also get released then...
     

    hi

    RMRK.net Theme Super Ultra Mega Beta

    Follow RMRK on Twitter Ask RMRK Questions on Formspring Get RMRK Updates via Windows Live

    Page created in 0.803 seconds with 19 queries.