Saturday, September 23, 2017

Sound Programming Standards (Part 1) on the ENSONIQ ESQ-1, ESQ-M, SQ-80 & SQ-8L

No one ever went to "Synthesizer Jail" for not being consistent when designing sounds...  

But, if you want to be a synthesizer saint (like, say, Eric Persing) it wouldn't hurt to build your sounds with a view toward a handful of standards and conventions.

"Dullsville Arizona!" you say?

Well, with all the crazy "spaghetti" routings I've seen, I guarantee that a few programing conventions will help you dodge some serious sonic bullets.

The truth is, consistency and standards are a tremendous help when digging into other people's work--and even when revisiting your own sounds.  

I am striving to be more consistent.  Its not like standards don't exist. The hardware user manuals themselves included suggestions, and articles in the Transoniq Hacker added a little nuance as time went by.

These five categories of programming standards will give you the most bang for your buck:
  1. Suggested modulator routings 
  2. Patch naming conventions
  3. Removal of useless "dead end" references (a particular sin of mine!)
  4. Keeping patches in tune relative to each other
  5. Taming volume levels between loud and quiet patches
 This article covers the first two programming conventions. The following section is reprinted verbatim from the ESQ-M manual, which seems to have copied the section from the ESQ-1 manual without modification.


There are a number of Programming conventions that have been followed within the ESQ 1 factory Programs. They will help you to know where to begin when editing factory Programs. You may also find them to be handy rules of thumb to follow when creating your own Programs.


  • LFO 1 is used for Wheel Vibrato, when it is part of the Program.
  • LFO 2 and LFO 3 are available for other purposes.


  • ENV 1 is used for Pitch Envelopes (modulating OSC 1, 2 or 3.)
  • ENV 2 is used for individual volume Envelopes (modulating DCA 1, 2 or 3.)
  • ENV 3 is used for Filter Envelopes (modulating the Filter Cutoff Frequency.)
  • ENV 4 is always fixed as the overall volume Envelope ( DCA 4.)

Of course these do not all apply for every Program. Any Envelope can be routed anywhere you want it to go (except to DCA 4), and some Programs will call for different applications. But where applicable, the factory Programs follow these conventions.

Program Names

  • (/) Where a Program is Layered, a slash (/) is incorporated into the Name.
  • (+) Where a Program contains a Split, a plus sign (+) is incorporated into the Name.

In actual practice...


The suggested envelope and LFO routings make a lot of sense.  Where this scheme breaks down, as you might imagine, is (1) when you are using a specific modulator for multiple destinations, (2) when you don't want or need these common modulator applications, or a combination of those two exceptions.

In the real world, what you discover more often are confusing cross modulations that don't go anywhere and end up having little or no effect on the sound. This is accounted for in programming standard #3 ("Removal of useless 'dead end' references"), which we will address in a later article.

Program names

This turns out to be a more challenging rule of thumb, simply because each character is precious...after all, you only have six to work with!  The "slash-layer" ("/") and "plus-split ("+") naming convention has an obvious drawback.

Let's say I want to save my own piano patch layered with strings.  "PIANO/STRINGS" just can't be done in 6 characters.  "PNO" is is about the shortest phonetic abbreviation that makes sense.  There is already the world-famous PNOSTR patch, which is not a layer, so it doesn't use the slash.  Unfortunately, "PNO/STR" is not a possibility (thanks a lot, 6-character limit!).

If I shorten "STR" to "ST", I might be able to guess what "PNO/ST" does.  But what if I want to layer a Moog lead ("MOOGLG") with a french horn ("FRHORN")?  Six characters is often just too limiting to sacrifice a letter.  You risk sacrificing understandably in order to indicate split/layering.  You have to decide if it's worth it on a case-by-case basis.
I might want to name my bass/guitar split "Jaco Pastorius+Esteban", but clearly, even if I call it "JAC+STEVE", I'm still using too many letters!
Kirk Slinkard uses a convention in his commercial banks where he groups voices that are used ONLY as layers of previous sounds at the end of bank (up in the 30-40-ish range).  He puts parentheses around the layer patch name (e.g. "(REVERB)".  I call these patches "parenthetical layers", and its a good convention, especially if you have sounds which exist mostly for the purpose of layering (i.e. they don't stand as well on their own).  Layering two equally powerful standalone sounds don't lend themselves to "parenthetical layer" naming. 

Next time we'll take a look at a few of the other possibilities of patch standardization.

No comments:

Post a Comment