Skip to main content

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.

Metadata

Release files for deflemask-preset-viewer 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deflemask-preset-viewer 0.7.0
File Size Uploaded
deflemask_preset_viewer-0.7.0.tar.gz 9.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deflemask-preset-viewer 0.7.0
File Interpreter ABI Platform
deflemask_preset_viewer-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.4 kB

Release files / deflemask_preset_viewer-0.7.0.tar.gz

Download URL deflemask_preset_viewer-0.7.0.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f5d2cd59e77d6d3e3a03bc98a3dad2fe73c8937b52ac2d365d79757a6d9a75de
BLAKE2b-256 checksum
How to use checksums
8b625b42f6cbb6d19381d9c3b4dc5d8138f34286324b45d040fa0d7c892fd373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2025.

Transparency log

Release files / deflemask_preset_viewer-0.7.0-py3-none-any.whl

Download URL deflemask_preset_viewer-0.7.0-py3-none-any.whl
Size 12.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce83168eaf7327db78430be6bd6222e98d7213dbc65bb5645aafe9e5d2d36c9c
BLAKE2b-256 checksum
How to use checksums
d6f9a0851f2e4327fb3b2d09f0fe5cbc64257bf8d9fc30365cd9a9395aa301ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 24, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page