sigrid/dumb

Description
# Dynamic Universal Music Bibliotheque (libdumb)

     _______         ____    __         ___    ___
    \    _  \       \    /  \  /       \   \  /   /       '   '  '
     |  | \  \       |  |    ||         |   \/   |         .      .
     |  |  |  |      |  |    ||         ||\  /|  |
     |  |  |  |      |  |    ||         || \/ |  |         '  '  '
     |  |  |  |      |  |    ||         ||    |  |         .      .
     |  |_/  /        \  \__//          ||    |  |
    /_______/ynamic    \____/niversal  /__\  /____\usic   /|  .  . ibliotheque
                                                         /  \
                                                        / .  \
                                                       / / \  \
                                                      | <  /   \_
                                                      |  \/ /\   /
                                                       \_  /  > /
                                                         | \ / /
                                                         |  ' /
                                                          \__/



## Introduction

DUMB is a module audio renderer library. It reads module files and
outputs audio that can be dumped to the actual audio playback library.

This is a fork of the original dumb (http://dumb.sf.net/) by Ben Davis.

## Features

- Supports playback of the following module formats. The tracker software or
  library the format is known for is given in parentheses. This does not mean
  that DUMB does not support files created by other trackers provided that they
  output files in one of those formats.

   * IT (Impulse Tracker)
   * XM (Fasttracker II)
   * MOD (Ultimate SoundTracker, ProTracker)
   * STM (Scream Tracker)
   * S3M (Scream Tracker 3)
   * 669 (Composer 669)
   * AMF Asylum Music Format
   * AMF Digital Sound and Music Interface Advanced Music Format
   * DSM Digital Sound Interface Kit module format
   * MTM (MultiTracker)
   * OKT (Oktalyzer)
   * PSM (Protracker Studio)
     Both the older PSM16 and the newer PSM format is supported.
   * PTM (PolyTracker)
   * RIFF AM/AMFF (Galaxy Music System internal format)

- Audio generated can be used in any way; DUMB does not necessarily send it
  straight to a sound output system

- Portable

- Faithful to the original trackers, especially IT; if it plays a module
  wrongly, it is considered a bug

- Accurate support for low-pass resonant filters for IT files

- Very accurate timing and pitching; completely deterministic playback

- Click removal

- Six resampling quality settings: aliasing, aliasing with bandwidth limiting,
  linear interpolation, linear interpolation with bandwidth limiting, cubic
  interpolation, and a compile-time-configurable fast sinc resampler

- Number of samples playing at once can be limited to reduce processor usage,
  but samples will come back in when other louder ones stop

- Option to take longer loading but seek fast to any point before the music
  first loops (seeking time increases beyond this point)

- All notes will be present and correct even if a module's playback is started
  in the middle

- Optional Allegro 4 or Allegro 5 integration support

- Facility to embed music files in other files (e.g. Allegro datafiles)


## Installation

### Plan 9

	mk install

### Other systems

Currently you need to compile libdumb yourself. For more details, please see
the file [COMPILING.md](COMPILING.md).

## License

See [LICENSE](LICENSE) for license details.

## Contributing

Bugs, feature requests and patches can be submitted at https://github.com/kode54/dumb/.
Last 5 commits (shortlog)
Date Author Short message Commit hash
2021-03-05 Sigrid moddec: do not play anything if seeking past the end fbd0eed489f59a6fbca4eee56eef7e3f8ad52e29
2021-03-05 Sigrid moddec: remove unused macro 52c579491bf9c0e188a1713fdc17155bcd53c997
2021-03-05 Sigrid moddec: add options to specify output sampling rate and to choose resampler 4ab1bfbc5d1d261f48404aa4859e002a9f0d9838
2021-03-05 Sigrid moddec: remove -n, use /dev/mordor to skip the audio 6620310ca002f8b6bf0a12dbba119022aafc8825
2021-03-05 Sigrid moddec: fix usage, add -n option to skip audio 0120570de7ff3b444b08aa4fa628c5484f3731d1
Files (browse)
.clang-format
.gitattributes
.gitignore
CHANGELOG.md
CMakeLists.txt
COMPILING.md
DUMBFILE_SYSTEM.md
LICENSE
README.md
UPDATING_YOUR_PROJECTS.md
cmake-scripts/
examples/
include/
mkfile
mkfile.lib
pkg-config.pc.in
src/
vc6/