Skip to main content

Reads and outputs FM parameters contained within DefleMask's DMP files as well as libOPNMIDI WOPN files

Project description

DefleMask Preset Viewer Build and Release PyPI version

Reads Deflemask preset files (DMP) and displays the stored parameters. Also supports dumping of bank and instrument data of WOPN files as used by libOPNMIDI

Supported Formats

  • DefleMask preset versions 8, 9 and 11
  • WOPN versions 1 and 2

Installation

$ pip3 install deflemask-preset-viewer

Usage

Output Parameters to Console

DMP files

$ deflemask-preset-viewer deflemask_preset_viewer/tests/data/sample.dmp
Version    8       FM       Unknown
Algorithm  3       LFO FMS  0
Feedback   0       LFO AMS  0
------------------------------------------------------------
Parameter  Op 1    Op 2    Op 3    Op 4
------------------------------------------------------------
MUL        14      1       0       0
TL         39      24      24      19
AR         31      31      31      31
D1R        15      14      9       9
D1L        14      14      14      14
RR         15      15      15      15
AM         0       0       0       0
RS         2       0       0       0
DT1        3       3       3       3
D2R        0       0       0       0
SSG        0       0       0       0

WOPN files

$ deflemask-preset-viewer deflemask_preset_viewer/tests/data/sample.wopn
WOPN
M_Banks    2
P_Banks    5
LFO       On
LFO Freq   1
============================================================
M. Bank       0    Standard :3
============================================================
============================================================
Instrument    0    * GrandPiano
============================================================
Algorithm  2       LFO FMS  0
Feedback   0       LFO AMS  0
------------------------------------------------------------
Parameter  Op 1    Op 2    Op 3    Op 4
------------------------------------------------------------
MUL        1       4       2       1
TL         39      36      4       2
AR         26      24      31      27
D1R        7       9       23      4
D1L        7       6       9       10
RR         1       7       1       6
AM         0       0       0       0
RS         1       1       3       2
DT1        0       6       7       3
D2R        4       9       15      4
SSG        0       0       0       0
============================================================
Instrument    1    * BrightPiano
============================================================
Algorithm  5       LFO FMS  0
Feedback   7       LFO AMS  0
------------------------------------------------------------
...

Output as C Code

It can also generate C code for inclusion in the Mega Drive MIDI Interface project. Specify -c to output parameters in this way:

DMP files

$ deflemask-preset-viewer deflemask_preset_viewer/tests/data/sample.dmp -c
static const Channel SAMPLE = { 3, 0, 3, 0, 0, 0, 0,
    { 14, 3, 31, 2, 15, 0, 14, 0, 15, 39, 0 },
    { 1, 3, 31, 0, 14, 0, 14, 0, 15, 24, 0 },
    { 0, 3, 31, 0, 9, 0, 14, 0, 15, 24, 0 },
    { 0, 3, 31, 0, 9, 0, 14, 0, 15, 19, 0 } };

WOPN files

$ deflemask-preset-viewer deflemask_preset_viewer/tests/data/sample.wopn -c
static const Channel M_BANK_0_INST_0_GRANDPIANO = { 2, 0, 3, 0, 0, 0, 0, {
    { 1, 0, 26, 1, 7, 0, 7, 4, 1, 39, 0 },
    { 4, 6, 24, 1, 9, 0, 6, 9, 7, 36, 0 },
    { 2, 7, 31, 3, 23, 0, 9, 15, 1, 4, 0 },
    { 1, 3, 27, 2, 4, 0, 10, 4, 6, 2, 0 } } };

static const Channel M_BANK_0_INST_1_BRIGHTPIANO = { 5, 7, 3, 0, 0, 0, 0, {
    { 4, 2, 27, 1, 9, 0, 11, 5, 6, 33, 0 },
    { 4, 5, 27, 1, 9, 0, 7, 9, 7, 18, 0 },
    { 1, 2, 27, 1, 5, 1, 10, 5, 6, 8, 0 },
    { 6, 5, 27, 1, 9, 0, 3, 8, 7, 9, 0 } } };

...
static const Channel M_BANK_0_INST_127_GUNSHOT = { 5, 7, 3, 0, 1, 0, 0, {
    { 3, 3, 31, 0, 3, 0, 15, 17, 5, 4, 0 },
    { 1, 0, 31, 0, 20, 0, 15, 20, 8, 0, 0 },
    { 1, 0, 31, 0, 15, 0, 15, 31, 8, 0, 0 },
    { 1, 0, 31, 0, 15, 0, 15, 16, 11, 0, 0 } } };

static const Channel M_BANK_0[] = {
    M_BANK_0_INST_0_GRANDPIANO,
    M_BANK_0_INST_1_BRIGHTPIANO,
...
    M_BANK_0_INST_127_GUNSHOT
};

Build & Test

$ make test

Credits

  • This project includes FM samples in its automated tests by Wohlstand.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deflemask_preset_viewer-0.5.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

deflemask_preset_viewer-0.5.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file deflemask_preset_viewer-0.5.0.tar.gz.

File metadata

File hashes

Hashes for deflemask_preset_viewer-0.5.0.tar.gz
Algorithm Hash digest
SHA256 17e698651f34c66571b1539293da482165593b4eb1844776cc497a6f6b25e7fb
MD5 7fc9df73501e1308baa9b099b8129998
BLAKE2b-256 bdc9f3da39d40dacaa16c69fab0e61ab597b5f42f0311aa97e62627cc54c33c6

See more details on using hashes here.

File details

Details for the file deflemask_preset_viewer-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for deflemask_preset_viewer-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0bc65d9eac9c8687c2ed6cd0a5f2192813d7e45aa962fa5bd88fa82e988506f3
MD5 20a29c4f0eb9d751e2562df18601d6a7
BLAKE2b-256 caa318fdf890d64054b908cc69812beb46defd5419e1c8417c4f757180151ee9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page