Konstanty / libmodplug

libmodplug GitHub repository
Other
133 stars 41 forks source link

libmodplug - the library which was part of the Modplug-xmms project Web page: http://modplug-xmms.sf.net/

Based on the ModPlug sound engine by Olivier Lapicque olivierl@jps.net XMMS plugin by Kenton Varda temporal@gauge3d.org (~2002) Maintainer is now Konstanty Bialkowski konstanty@ieee.org (~2006)

On Wed 14 Aug 2013 the repository was forked / cloned to GitHub. The current release is libmodplug v0.8.9.0.

History

Olivier Lapicque, author of Modplug, which is arguably the best quality MOD-playing software available, has placed his sound rendering code in the public domain. This library and plugin is based on that code.

This code was originally part of modplug-xmms, and was split into a library - libmodplug and the modplug-xmms code. Also since then an example rendering project called modplugplay and modplug123 were introduced. They are still available on the sourceforge website.

For more information on libmodplug, the library for decoding mod-like music formats, see libmodplug/README.

Contents

  1. Requirements
  2. Features
  3. Options
  4. Troubleshooting

  1. Requirements

    • POSIX OS (Linux or other unix*)
    • XMMS 1.0.0 or higher (only for modplug-xmms plugin).

  1. Features

    • Plays 22 different mod formats, including: MOD, S3M, XM, IT, 669, AMF (both of them), AMS, DBM, DMF, DSM, FAR, MDL, MED, MTM, OKT, PTM, STM, ULT, UMX, MT2, PSM
    • plays timidity's GUS patch files (*.pat): a multi sample pat file with n samples can be played with a Frere Jacques canon with n voices.
    • plays all types of MIDI files (*.mid): uses the timidity .pat files for samples (when available) recognizes environment variables:

      MMPAT_PATH_TO_CFG set to the directory where the file "timidity.cfg" and the subdirectory "instruments" can be found, default: "/usr/local/share/timidity". MMMID_SPEED for experimenting with the mod speed (1 thru 9) MMMID_VERBOSE for feedback on the conversion process MMMID_DEBUG for sake of completeness, only useful for maintainers


  1. Options

    All of the following items are configurable from the plugin configuration dialog box.

Sampling rate: Higher is better. Note that the sound is rendered at a higher sampling rate and converted down to increase quality.

Bits per sample: 8-bit or 16-bit sound. Note that all computations are done at 32-bit and converted down to the sampling rate you specify.

Channels: mono/stereo. Note that all computations are done in stereo. If you choose mono, the channels will be mixed.

Resampling: Method used to convert samples to different sampling rates. "Nearest" is the fastest setting (but sounds terrible), while "8-tap fir" is the best-quality setting.

Noise Reduction: Reduces noise. :)

Fast Playlist Info: When this option is on, names of songs in your playlist will load considerably faster, but song lengths will not be shown and only MOD, S3M, XM, and IT formats will have their names shown. Don't worry, though, because all the data which is skipped will still be loaded when you actually play the song. This should probably always be on.

Reverb: A nice reverb effect. The depth and delay of the reverb can be tuned to your liking using the sliders.

Bass boost: Variable bass boost effect. The "range" slider controls the frequency range of the bass boost. If you increase this value, higher frequencies will be boosted, but the overall volume increase will be less. (you can compensate by using the volume slider:)

Surround: Dolby Pro-Logic surround effect. Depth and delay can be fine tuned.

Preamp: A global volume boost. Note that setting the preamp too high will cause clipping (nasty clicks and pops).

Looping: Some mods have loops built-in. Normally, these loops are ignored because otherwise the same mod would play forever. However, you can choose to respect the loops, or even set a number of times to follow a loop.


  1. Troubleshooting

Problem: Some of my files load up, but show garbled info in the playlist and/or don't play correctly.

Possible cause: The mod is in a different format than its file format suggests. Modplug-XMMS uses a combination of file extension and contents to figure out what format a mod is in, and can be thrown off if a mod is incorrectly labeled.

Solution: Turning off "fast info" in the configuration may fix the problem. This will cause Modplug-XMMS to detect all basic mod types by content, but archive types will still be detected by extension. If this doesn't solve the problem, then you probably have files which are actually compressed archives but are not labeled as such. For example, you may have a file "aws_anew.xm" which is actually a ZIP archive. You will have to either unzip these files or rename them to have an extension associated with their type. In the case of a ZIP, you can use any of the extensions "ZIP, MDZ, S3Z, XMZ, ITZ". (Note that these five types are all treated exactly the same -- the actual format of the mod is detected by contents.)

Problem: Everything appears to be working, but no sound is being generated. MP3's play just fine.

Possible cause: Modplug has a relatively low default volume, and you may just not be hearing it. (Note: Yes, more that one person has e-mailed me with this problem.)

Solution: Turn up your volume. You may wish to do this via the "preamp" setting in the ModPlug configuration. This way, you won't have to turn down your volume again when you play an MP3.

Problem: I have a problem which is not listed here, or an idea for a cool feature.

Solution: E-mail me (Konstanty) at konstanty@ieee.org. I would be happy to hear any suggestions or problems you have.