Skip to content
esq1 is a Python module used to generate and edit patches for the Ensoniq ESQ-1 synthesizer.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
esq1.py
example.py
tests.py
tribel.syx

README.md

Version 1.0

esq1

By Stuart Keith.

esq1 is a Python module used to generate and edit patches for the Ensoniq ESQ-1 synthesizer. The patches can be read from and written to SYSEX files, either in single program dump mode (one patch) or all program dump mode (40 patches).

Each parameter, section (an envelope, LFO, etc), or the entire patch can be randomized.

See example.py for usage.

This module was inspired by Noah Vawter's 'Ensoniq PCB Code and Data Structure C code', which gave me a far better idea of how the PCB data was stored than the ESQ-1 manual.

Thanks to Rainer Buchty's Section Ensoniq for hosting the ESQ-1 manual.

Note

The ESQ-1 manual is incorrect regarding the order of bytes in the LFO section.

The manual specifies (in Appendix 6, 'Program Control Block Structure', under 'Low Frequency Oscillators'):

1   2   3   4   5   6   7   8
M1  M0  LFO Frequency.........
M3  M2  Level 1...............
W1  W0  Level 2...............

It is actually:

1   2   3   4   5   6   7   8
W1  W0  LFO Frequency.........
M1  M0  Level 1...............
M3  M2  Level 2...............
You can’t perform that action at this time.