A Python script that generates human-readable data sheets from Yamaha DX7 32-voice SysEx files (.syx). This tool is perfect for archiving, sharing, or manually re-entering patches into a hardware synthesizer or a software editor like Dexed.
I wanted a simple, universal solution to this problem. The goal was to find a pure text-based method to share patches that bypasses file upload restrictions entirely.
This script converts a binary SysEx file into a clean, human-readable text data sheet.
-
It's just text. You can copy and paste the entire data sheet directly into a Reddit comment or any other text field.
-
It's safe and accessible. No one has to download a file, which removes security concerns and extra steps.
-
It's universal. Anyone can read the parameters and manually enter them into their hardware or VST.
-
Auto-detects banks: Scans the current directory for all available
.syxfiles and presents them for selection. -
Generates detailed data sheets: Creates a complete data sheet for the chosen patch.
-
Organized output: Saves the data sheet as a
.txtfile in an automatically created subfolder namedSheet. -
Authentic formatting: Formats all parameters to match the DX7's display logic.
-
Print-optimized: The layout is designed to fit on a single A4 page.
- Python 3.x
Operation is fully interactive in the console; no command-line arguments are needed.
-
Prepare Your Files: Place the script (
dx7sheet.py), the batch file (start.batfor Windows), and your.syxbank files all in the same folder. -
Run the Script:
- Windows (Recommended): Simply double-click the
start.batfile. - Other Systems (or manually): Open a terminal or command prompt, navigate to the script's folder, and run the command
python dx7sheet.py.
- Windows (Recommended): Simply double-click the
-
Select a File The script lists all available .syx files. Enter the number of the file you want to load.
-
Select Operation Mode The script will ask you to choose a mode:
- [1] Batch Export: Automatically converts ALL 32 voices of the bank into individual text files.
- [2] Single Patch: Lists all voice names. You select one specific number, and it generates the sheet for that sound only.
-
Result The generated text files are saved in a subfolder named Sheet. ◦ Example filename: 01_Piano 1.txt
Here is what the process looks like in the console:
--- DX7 Voice Data Sheet Generator ---
Available SysEx files:
-----------------------------------
01: Mirage_33to64.syx
-----------------------------------
Which file to load? (1-1): 1
File loaded successfully.
Choose operation mode:
1: Export ALL 32 patches (Batch)
2: Export SINGLE patch (Interactive)
Selection (1 or 2): 2
--------------------------------------------------
01: Wave Bass 02: Davie504
03: Rhodes 04: Rhodes
05: PostSynth 06: FarAway
07: BNIT VOICE 08: Cave Noise
09: HeavenLA 10: HeavenB
11: HeavenC 12: Fanta
13: Fanta 14: Fanta
15: I-71KOKUBO 16: I-71KOKUBO
17: I-71KOKUBO 18: I-71KOKUBO
19: I-71KOKUBO 20: I-71KOKUBO
21: I-71KOKUBO 22: I-71KOKUBO
23: 60s Square 24: A3ir Raid
25: SeikoMeloA 26: SeikoMeloB
27: Real Angel 28: SID-Chip
29: SID-Chip 30:
31: 32:
--------------------------------------------------
Select patch number (1-32): 10
--- Data sheet generated! ---
==============================================================
DX7 VOICE DATA SHEET by SOUNDPLANTAGE.COM
==============================================================
Voice #10: HeavenB Bank: Mirage_33to64.syx
==============================================================
ALGORITHM: 3 FEEDBACK: 0 TRANSPOSE: 0
--------------------------------------------------------------
PARAM OP1 OP2 OP3 OP4 OP5 OP6
--------------------------------------------------------------
OSC MODE FIX RATIO RATIO FIX FIX RATIO
COARSE 0 1.0 2.0 0 3 4.0
FINE (FREQ) 1.70Hz 1.04 2.26 1.35Hz 2630Hz 4.08
DETUNE +3 +0 +0 +0 +0 +0
--------------------------------------------------------------
AMP MOD SENS 0 0 0 0 0 0
VEL SENS 1 0 0 1 0 0
OUT LEVEL 71 87 80 70 82 84
--------------------------------------------------------------
BREAK POINT A-1 D1 G#4 A-1 D1 G#4
L DEPTH 0 0 0 0 0 0
R DEPTH 0 40 23 0 23 28
L CURVE -LIN -LIN -LIN -LIN -LIN -LIN
R CURVE -LIN -EXP -LIN -LIN -EXP -LIN
RATE SCALING 0 0 0 0 0 0
--------------------------------------------------------------
EG LEVEL 1 95 99 99 95 99 99
EG LEVEL 2 99 99 99 99 99 99
EG LEVEL 3 86 94 99 84 93 99
EG LEVEL 4 0 0 0 0 0 0
EG RATE 1 81 76 71 81 76 71
EG RATE 2 35 99 61 33 99 61
EG RATE 3 29 16 8 37 11 8
EG RATE 4 44 9 6 46 5 10
==============================================================
LFO, PITCH EG & SYNC
==============================================================
LFO WAVE: TRIANGLE SPEED: 28 DELAY: 3
PMD: 27 AMD: 0 P MOD SENS: 1
LFO SYNC: ON OSC SYNC: OFF
--------------------------------------------------------------
PITCH EG LEVEL: L1=50 L2=50 L3=50 L4=50
PITCH EG RATE : R1=99 R2=99 R3=99 R4=99
==============================================================
Saved as: 'Sheet\HavenB.txt'Many online communities for synthesizer enthusiasts, like subreddits, are fantastic places to share knowledge and sounds. However, a common frustration is that most of these platforms don't allow users to upload files like .syx or .zip directly in their replies. This makes it difficult to share a DX7 patch with someone who is asking for a specific sound.
I wanted a simple, universal solution to this problem. The goal was to find a pure text-based method to share patches that bypasses file upload restrictions entirely.
This script is the result. It converts a binary SysEx file into a clean, human-readable text data sheet. This format is perfect for online forums because:
It's just text. You can copy and paste the entire data sheet directly into a Reddit comment or any other text field.
It's safe and accessible. No one has to download a file, which removes security concerns and extra steps like unzipping.
It's universal. Anyone can read the parameters and manually enter them into their hardware DX7 or a software VST like Dexed to perfectly replicate the sound.
This project was created to provide a simple and effective tool for the DX7 community to easily share patches without barriers.
LICENSE DX7 Voice Data Sheet Generator (dx7sheet.py) Copyright (c) 2025 Peter Berghoff / Soundplantage
All rights reserved.
This software is provided for private and personal use only. You may use, modify, and study this code for your own projects, but you may not sell, or publish it — in whole or in part — without explicit written permission from the author.
This tool is part of the Soundplantage project ecosystem.
Use at your own risk.