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 VGM preset files (including DefleMask, WOPN & TFI) and displays the stored parameters.

Supported Formats

  • DefleMask preset versions 8, 9 and 11
  • WOPN versions 1 and 2, as used by libOPNMIDI
  • TFI

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
------------------------------------------------------------
...

TFI files

$ deflemask-preset-viewer deflemask_preset_viewer/tests/data/sample.tfi
Algorithm  4       LFO FMS  0
Feedback   7       LFO AMS  0
------------------------------------------------------------
Parameter  Op 1    Op 2    Op 3    Op 4
------------------------------------------------------------
MUL        2       1       2       1
TL         33      15      33      15
AR         31      31      31      31
D1R        0       0       0       0
D1L        0       0       0       0
RR         15      15      15      15
AM         0       0       0       0
RS         0       0       0       0
DT1        6       6       0       0
D2R        0       0       0       0
SSG        0       0       0       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 & TFI 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.7.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

deflemask_preset_viewer-0.7.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deflemask_preset_viewer-0.7.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for deflemask_preset_viewer-0.7.0.tar.gz
Algorithm Hash digest
SHA256 f5d2cd59e77d6d3e3a03bc98a3dad2fe73c8937b52ac2d365d79757a6d9a75de
MD5 b1c0aa5f48b69c81ded3b221c0bc26ea
BLAKE2b-256 8b625b42f6cbb6d19381d9c3b4dc5d8138f34286324b45d040fa0d7c892fd373

See more details on using hashes here.

Provenance

The following attestation bundles were made for deflemask_preset_viewer-0.7.0.tar.gz:

Publisher: publish.yml on rhargreaves/deflemask-preset-viewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for deflemask_preset_viewer-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce83168eaf7327db78430be6bd6222e98d7213dbc65bb5645aafe9e5d2d36c9c
MD5 af193a16c8fa6a7423748189b49fafc2
BLAKE2b-256 d6f9a0851f2e4327fb3b2d09f0fe5cbc64257bf8d9fc30365cd9a9395aa301ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for deflemask_preset_viewer-0.7.0-py3-none-any.whl:

Publisher: publish.yml on rhargreaves/deflemask-preset-viewer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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