• Stars
    star
    124
  • Rank 286,527 (Top 6 %)
  • Language
    C
  • License
    Other
  • Created about 12 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dynamic Universal Music Bibliotheque - DUMB - Module/tracker based music format parser and player library

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

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

License

See LICENSE for license details.

Contributing

Bugs, feature requests and patches can be submitted at https://github.com/kode54/dumb/.

More Repositories

1

Game_Music_Emu

Game Music Emu - Multi-purpose console music emulator and player library
C++
80
star
2

BASSMIDI-Driver

A Windows user-mode software MIDI synthesizer driver based on Ian Luck's BASSMIDI library
HTML
54
star
3

QuickNES

A fast Nintendo Entertainment System emulator, originally written by Shay Green, as modified and maintained by myself for several years. This is the base package which includes all of the other repositories as submodules in the correct locations.
21
star
4

Highly_Theoretical

A Sega Saturn and Dreamcast Sound Format emulator library originally by Neill Corlett
Assembly
15
star
5

adlmidi

ADLMIDI: OPL3 MIDI player for Linux and Windows by Joel Yliluoma <[email protected]>
C++
15
star
6

midi_processing

My MIDI file processing code, as lifted from foo_midi and modified to use STL classes instead. Still kind of a mess.
C++
14
star
7

psflib

A small C library for reading Portable Sound Format files
C
13
star
8

QuickNES_Core

The QuickNES core library, originally by Shay Green, heavily modified
C++
11
star
9

playptmod

A modified version of 8bitbubsy's playptmod, a C-based player for ProTracker MOD files, which was modeled after all the behavior that could be gleaned from disassembling the original Amiga tracker program. This version has been adapted into a self-contained library with an anonymous state structure, and also supports more module formats, including multi-channel formats, and the Multitracker MTM format, which was similar enough to MOD to be played by a MOD player.
C
11
star
10

lazyusf

A mirror of my near rewrite of the LazyUSF partial Nintendo (Ultra) 64 emulator, designed as a playback core for USF/MINIUSF sound files, which contain partial ROM images and/or Project 64 save states
C
9
star
11

modplay

A collection of module format player libraries, based on their original trackers.
C
8
star
12

scc

Emu de MIDI: A SCC/FM based retro MIDI synthesizer
C
7
star
13

Highly_Experimental

The core emulation library of Highly Experimental
C
6
star
14

midipipe

Simple OS X / Cocoa MIDI pipe tool, based on some of the players from my fork of Cog
C
5
star
15

wine

Wine git clone - Here there be dragons
C
5
star
16

vgmplay

VGMPlay, now modified into a clean reentrant library.
C
4
star
17

libupse

UPSE: the unix playstation sound emulator
C
4
star
18

File_Extractor

Compressed file extraction library
C
4
star
19

viogsf

A GBA emulator library designed for playing GSF files, based on the VBA-M project.
C++
4
star
20

blargg_resampler

Simple FIR resampler for stereo signals
C
4
star
21

dh

Dirac to Headphones, with convolution code
C
4
star
22

tomid

Simple MIDI converter based on my midi_processing library.
C++
3
star
23

resampler_iir

Simple IIR resampler test project, with benchmark function
C++
3
star
24

SSEQPlayer

The SSEQ player core for NSCF file playback, originally assembled by Naram Qashat (CyberBotX)
C++
3
star
25

libg719_decode

G.719 decoder library for vgmstream
C
2
star
26

retroarch_resampler_test

A test tool originally based on blargg_resampler tester, but now based on the RetroArch resampler
C
2
star
27

Highly_Quixotic

The core emulation library of Highly Quixotic
C
2
star
28

flac

A fork of the Free Lossless Audio Codec from the xiph.org Git repository
C
2
star
29

deadbeef_hq

A DeaDBeeF QSF input plugin based on Highly Quixotic
C
2
star
30

deadbeef_he

A DeaDBeeF PSF input plugin based on Highly Experimental
C
2
star
31

sidplay-residfp

C++
2
star
32

deadbeef_ht

A DeaDBeeF SSF/DSF input plugin based on Highly Theoretical
C
2
star
33

wave_seekbar_renderer

A simple Qt-based waveform viewer for the database from Zao's foo_waveform_seekbar. Also an idea testbed for a new software renderer for the waveform seekbar component.
C
2
star
34

dracut-hook-bcachefs

Dracut hook scripts for bcachefs
Shell
2
star
35

nes_ntsc

An NTSC simulation library for NES emulators, originally by Shay Green
C
1
star
36

test_player

Moo, a messy Qt-based test player for debugging various libraries
C++
1
star
37

QuickNES_Windows

The QuickNES Windows front-end
C++
1
star
38

libg7221_decode

C
1
star
39

qsf2vgm

Uses the Highly Quixotic emulation library to render QSF files into VGM files
C
1
star