Tuesday, March 31, 2009

Remembering the Bahn Sage

Today we pause to remember the Bahn Sage... the synth that the world was not ready for. Ten years ago, a visionary named Ken Elhardt joined forces with Bahn Audio Systems, the company which had previously confined itself to building top-secret sound eavesdropping satellites for the US military. The result was the Bahn Sage:

(photo swiped from Matrixsynth)

The Sage was doomed from the start because it was simply too advanced for the market. All of the technologies that we are now seeing in the most advanced of today's products were done, and done better, in the Sage. Zeroscillators? Sorry, Cynthia, the Sage's four oscillators did zero far better. Notice the joystick? It was connected to an advanced time and formant processing system called Varisentence, which made it possible to expand or compress the most difficult and sophisticated vocal parts into any time frame it needed to fit into. With Varisentence, it was possible to listen to all of Husker Du's Zen Arcade in eight seconds, with perfect clarity. Bob Mould had an agreement to receive the prototype once the system went on sale, and at the time he said: "With this synth, I will forever be the king of speed metal. Those Metallica guys haven't got a chance." Roland stole the technology, but they never got it completely sorted; to this day, their variant cannot handle whole sentences, only phrases.

Combined with its nopass filters, segment-free envelopes, and perfectly nulled VCAs, the Sage was set to knock all other analog and VA synths off of the market. And the Sage met all of the circuit design goals for today's most discriminating synth players: it contained no digital circuits, and in fact no ICs of any kind. It met the European RoHS requirements years before the regulations were even proposed, and would have been ready to ship the day that RoHS went into effect, had not disaster befell the company.

Unfortunately, shortly before the unveiling, the Sage's designer Elhardt disappeared. It was later discovered that he had time-warped back to 1958 to patent the concept of voltage control, only to find when he got there, that Bob Moog had gone back to 1947 and beaten him to it. The temporal upsets caused by this event resulted in Adam Sandler becoming the world's foremost synth player, and the rights to nearly every circuit design idea falling into the possession of the mysterious master designer and frequent Web commentator known only as "Argitoth". Playing Argi synths which produce absolutely pure sine waves with perfectly balanced overtones, Sandler has over the past ten years created every work of electronic music that is mathematically possible, resulting in the current situation where no original work can be done any more. If only the Sage had lived. Sigh.

Monday, March 23, 2009

Stories, legends, and rumors about synths -- true or false?

Story: Laurens Hammond, inventor of the Hammond organ, was tone deaf and couldn't play.

Verdict: Partly true. The part about being tone deaf is probably false; in Hammond as in Organ: The Laurens Hammond Story, Stuyvesant Berry describes Hammond's boyhood experiences in St. Luke's Episcopal Church in Evanston, Illinois, and how fond Hammond was of the organ music in the church. It was the memory of this music which first inspired Hammond to build an organ when he was seeking a new application for the Hammond Clock Company's synchronous motors. Hammond was familiar with the various classical orchestra instruments, and as Berry describes, during the period when the organ was being designed, Hammond became for a time one of the world's foremost experts on the tonalities of what we now call additive synthesis. However, it is true that Hammond did not play, as Berry documents in the last chapter. Most likely it was simply not high on his priority list; Hammond was a prolific inventor who worked long hours for most of his life.

Story: No recording was ever made of the Telharmonium, the first synthesizer.

Verdict: Possibly true. The last operating Telharmonium was shut down in 1916; if any recording was ever made, it would have been a transcription to a phonograph record or Edison cylinder, given that no other recording technology existed at the time. No recordings are known to exist today, and there is no definitive account of any recording having ever been made.
Story: Moog once designed a DCO-based synth.
Verdict: True. The SL-8 was an eight-voice polysynth with DCOs, priced below the Memorymoog line. It was premiered at the NAMM show in 1983. Unfortunately, another synth introduced at that same show was the Yamaha DX-7. The Moog staff realized what that meant. (And they were right.) The SL-8 never went into production, and the prototype was eventually dismantled.

Story: The Rhodes Chroma was actually designed by ARP.

Verdict: True. Engineers at ARP were working on the basic concept for the Chroma as early as 1977; however, company management regarded the Avatar guitar synthesizer as a higher-priority project, and so the Chroma effort stretched out. When the market failure of the Avatar became clear in 1980, a crash effort was launched to complete the Chroma design, but they ran out of time; ARP was forced into bankruptcy in 1981. The company's chief engineer, Philip Dodds, was nominated by the court-appointed receiver to wrap up the company's affairs. He arranged to see the rights to the Chroma to CBS, plus reassemble the development staff (including himself) at a CBS facility to complete the design. This was done, and CBS began marketing the Chroma using the Rhodes brand name (which it owned at the time) the following year. The Chroma staff was not actually part of Rhodes, and never had anything to do with any other Rhodes products.

Story: Prior to the creation of MIDI, Sequential Circuits had designed a serial bus for musical instruments which was much faster than MIDI.

Verdict: True. The interface was implemented on the Rev3 Prophet-5; it allowed a sequencer to play the synth, command program changes, send and receive program data, and receive key presses from the P5's keyboard. The obvious question to ask, then, is: why didn't Sequential propose this as the MIDI standard? Three possible reasons:

  1. Cost. A major goal of the MIDI standard was to create a low-cost interface. Sequential's interface required a high-speed UART which expected to be externally clocked by the sequencer. This increased the cost of both the synth and the sequencer. Expensive, length-matched coaxial cables were required for interconnects. By sacrificing speed, MIDI was able to adopt a lower-cost UART, clock circuit, and cabling, and still have some cost margin to add in needed protection in the interfaces against static electricity and mis-connections.
  2. Hardware and software dependence. The communications protocol was designed specifically for the P5; for example, the format in which key presses were transmitted and received depended on the specific number of keys on the P5, and on the fact that the keyboard didn't have velocity or aftertouch.
  3. Tight timing constraints. The sequencer interface interacted intimately with the P5's main software processing loop. Data being sent, particularly key press data, had to arrive within a specific time window to prevent either lost data or control response problems for the person playing the P5. A CPU or software upgrade would have changed these, and needless to say, a different model of synth would have had completely different constraints. This would have made writing sequencer software a nightmare.

Story: The prototype of the Moog Voyager Old School was stolen from Moog.

Verdict: True. It was stolen from the company's booth at the Musikmesse trade show in Germany in 2008. However, it was recovered. In an incredible act of stupidity, the thief listed it on eBay; the ad was traced and the thief caught. The same thief stole equipment from other companies at the show.

Story: Edgar Winter used to play with an ARP 2600 on a guitar strap.

Verdict: Partly true. Edgar didn't strap on the whole 2600, just the keyboard. Even so, the ARP 2600 keyboard was a pretty substantial hunk of iron. On the other hand, Wayne Famous of the '80s synth-pop band The Producers did in fact strap on an Oberheim OB-X... and he now has back problems to show for his trouble. Here's a video of Wayne at work in 1981.

Thursday, March 19, 2009

What the heck happened to Vintagesynth?

It returns a message from the ISP saying the site has been suspended. Investigating...

EDIT: They had some kind of problem with their hosting service.  It's fixed now.

Tuesday, March 17, 2009

Rack rearrangement

I decided last weekend to rearrange some of the contents of my two 19" racks.  I have two, a rack that I built myself which is about 25 units tall, and a tabletop rack which has a tilt-up top for the mixer, plus 6U of space underneath.  My main goal was to clean up my MIDI routing by swapping some things around.  The tall rack contains a MOTU MIDI Express USB interface which handles all of the MIDI for the rack and both of the keyboard stands.  The tabletop rack contains an Edirol UM-2 for the synths in that rack.  All of the I/O (8x8 in the MOTU, 2x2 in the Edirol) is pretty well spoken for.  

Here is a photo of the tall rack from several months ago:

Among the items in this rack are a Yamaha TG33, which is the black thing protruding out the front just under the patch bay at the top, and an Oberheim Matrix-1000 and a Kawai K5M, which are the bottom two items in the photo.  You can just see a bit of the amp underneath the K5M; the amp sits at the bottom of the rack.  The MIDI interface is in the middle; it's the unit under the one where the headphone cord is plugged in.  

Here's the tabletop rack, visible at the left of the photo:

This photo was taken while I was setting up the studio, and only the Oberheim Matrix-6R was installed at the bottom of the rack.  Since this photo was taken, I had added a Roland JD990.  The immediate motivation for all this was to get the JD990 into the other rack so that I could use the routing capabilities of the MOTU MIDI interface to route sysex from the JD800 directly to the JD990, which allows the 990 to be programmed using the 800's panel controls.  I couldn't do that when they were on different MIDI interfaces, without having to bring up the computer.  A secondary motivation was to get the 990 into a place where the screen would be easier to read.  

Towards that end, I decided to put the 990 near the top of the tall rack, which meant moving the TG33.  The obvious target for removal to make room was the 4U high Kawai K5m.  Here, I have removed them from the rack and both out on the floor:

The empty spaces in the rack where they were:

The K5M went to the tabletop rack.  To make room for it, both the JD990 and the Matrix-6R had to come out; the K5M and the Matrix-6R together were 1U taller than the rack.  I decided to gain space by swapping the two Oberheims.  Here's both of the Oberheims out of their respective places:

And the tabletop rack emptied out.  The Edirol is the small box in the back:

The K5m and the Matrix-1000 went into the tabletop rack, with space for the Edirol at the bottom:

And from the back.  I realized after mounting them up that the Matrix-1000's case was sagging.  A block of wood fixed that.  You can see in the foreground the Edirol, which after taking this photo, I slid under the Matrix-1000 to the front right:

The JD990 went into the top of the tall rack without any problem:

But the Matrix-6R ran into problems.  It's very wide; it just barely fits in a standard rack.  The space it, and the TG33, were to go into, with an old Furman parametric EQ above, and the amp below:

First problem: The power strips mounted on the rack rail braces were intruding into the space.  It was never a problem before, because the K5m isn't nearly as deep as the Matrix-6 is.

I moved the power strips and fixed that.  Second problem: Because the rack is homemade, I didn't get all of the dimensions quite as exactly as I should have.  It turned out to be about 3/32" too narrow to clear the Matrix-6R's rack ears, where they mount to the sides of the case.  But one of the advantages of a wood rack is you can fix stuff like that.  So out came the Dremel and the shop vac:  

I took about 1/16" off of each side, to about 3/4" deep from the front, and that created clearance for the rack ears.  After that, it mounted up nicely:

Would you be willing to stick your hand in here?  The bottom of the rear of the rack is rather busy, with the Matrix-6R taking up formerly empty space.  Getting it hooked up involved a bit of fishing:

Last item to take care of was the TG33.  I had thought at first that I would mount it at the bottom of the rack the way I had it at the top, using the unusual extending rack ears that came with it.  But then I realized that it was easier to simply set it on top of the amp; the rack doesn't go anywhere, so there was no real need to mount it.  (The amp isn't mounted; it simply sits on the rack base.)  However, the amp did need some clearance at the top for ventilation.  To provide that, I cut a couple of spacers from a piece of scrap wood.  With a couple of dabs of Permatex blue RTV silicone, they stuck to the bottom of the TG33 case nicely, but they can still be removed if need be:

With them attached, the TG33 gains about 5/8" clearance at the bottom:

This worked out nicely.  The TG33 pushes back into the rack, and can be pulled out to work with it.  In fact, with a little slack on the cables, I can pull it out and put it in my lap.  

The completed tall rack, with the JD990 underneath the patch bay at the top, and the Matrix-6R and the TG33 at the bottom:

And the TG33, ready for action:

Everything's up and running, and with all the equipment in the tall rack on the MOTU MIDI interface, I can now use the MOTU to do the following MIDI routings without needing the computer:

  • Route panel control sysex from the JD800 to the JD990
  • Route sysex from the MOTU's front panel ports to the Fizmo
  • Route the bass pedals to the JD990
  • Route the bass pedals out of the front panel port to the modular or the EML
Now, back to the Fizmo wars.

Monday, March 16, 2009

The ongoing Fizmo project

I've done a bunch more work on identifying how to edit Fizmo patches via MIDI. I've got the NRPNs worked out for about half of the sound parameters, including some of the ones not accessible from the panel. I'll post an update in a few days with all of the ones I've managed to identify. The internal architecture turns out to have some similarities to the Ensoniq MR series. The envelopes are six-segment types. You can set time and ending level for segments 1-4, level for segment 5 (which is sustain) and time for segment 6 (which is of course release). The filter is actually a lot more complex than the simple LPF that the panel allows you to access. There are a bunch of modulation routings that aren't accessible from the panel, nor does the manual even hint at them.

And some of these parameters, once set via MIDI access, aren't even reinitializable from the panel. For instance, the filter is actually two filters in series, and the four elements (poles) can be arranged in different combinations. There is a "link" parameter that ties the filter 2 settings to filter 1, but if it's off in a given patch, you can't turn it on from the panel, and you can't do anything that causes the filter 2 settings to change. I found this out when I was experimenting with NRPNs, and I managed to accidentally switch the link off, and all of a sudden I had a modulation on the filter that I couldn't get rid of. The modulation was on filter 2, and the panel controls only access filter 1. The same sort of thing can happen if you use a factory patch as a starting point for something.

Several things that appear to be simple on/off parameters from the panel are actually variable. One example is the envelope velocity scaling. There are actually two parameters associated with it. One is the active value; the other is a "save" location. The active value determines how much velocity modifies the attack time (actually all of the segment 1-4 times) of the given envelope. When you press the button on the panel to turn velocity off, it sets this parameter to 0. When you turn it back on, it actually sets the active value to the save value, which is not necessarily the maximum value. If you only set the active value via MIDI, then turn velocity off and back on at the panel, it will return to the save value, not the active value that was set. To make a change "stick", you have to set both the active and save values.

Patches actually do have names on the Fizmo. You can't see them from the panel (why oh why didn't they include a real display on the Fizmo?), but you can see and set them in Sounddiver. Oddly, the implementation makes every individual character in the name its own parameter. So, in Sounddiver, clicking in the patch name field and typing a single character results in a sysex exchange with the synth. A bunch of data flying back and forth to change one character. Individual sounds have names too, independent of the patch name. (If you read the Fizmo manual carefully, you will see that by playing games with MIDI Bank Switch and program changes, you can yank individual sounds from a stored patch into the active area, without actually changing the current patch.) Waveforms have names in Sounddiver too, although I'm not sure if it is actually retrieving these from the synth, or if it just has these hard coded.

Parameters are accessible via both NRPN and sysex. I got a tip from the Vintagesynth forum to look at the MR series sysex documentation for some tips. It turns out that the sysex that edits a single parameter is similar. It uses parameter numbers which are mostly the same as the ones the MR uses for its "sound" block of parameters. (The Fizmo, unlike the MR, doesn't group sounds into performances. Some of the things that are performance parameters on the MR are system parameters on the Fizmo. I haven't explored that yet.) Unfortunately, these numbers aren't all the same as the NRPN parameter numbers, but I'm gradually getting all that sorted. One odd thing I've noticed: Ensoniq, like most other manufacturers, transmits "large" numeric parameters (more than one byte) by spreading 32 bits of data over five bytes, owing to not being able to use the high bit in each byte on account of the way the MIDI protocol works. However, it appears that the Fizmo shifts most parameter values three bits to the left prior to encoding them for sysex transmission, and it expects to receive them the same way.

The bulk patch transfer sysexes bear no resemblence to the documented MR sequences as near as I can tell. In fact, the paranoid in me insists that Ensoniq deliberately tried to obscure the data. The MR documentation lays out a nice data structure format which includes, among other things, four-character ASCII sequences that identify the type of each block. In the Fizmo patch dumps, I don't see these. In fact, I don't see any recognizable ASCII strings at all: no patch names or anything. I did some experiments last night, changing one character in the patch name, dumping it, and comparing the MIDI dumps. The characters are there, but they are all shifted at weird offsets across bytes. Why? It certainly makes it harder to make any sense of a MIDI dump. Perhaps they wanted to allow for eight-bit ISO Latin-1 characters, or even Unicode, and so they worked out some means of packing the characters across bytes. As for the other parameters, I have no clue what order they are in, and a few experiments indicate that the MR documentation isn't going to be any help. I'll have to isolate them all, one at a time.

I haven't really gotten into the insert effect stuff yet. And then there's the arpeggiator, where the MR has no analagous feature. Much work to do yet.

Saturday, March 14, 2009

MIDI Connectors and Cables

If you are building your own MIDI cables, or equipment that will connect to MIDI, here are some handy references:

Shavano Music Online has a handy page that explains how to wire MIDI cables. Note a few things: (1) The pins are numbered in a funny order. Pin 2 is in the middle, and pins 4 and 5 are adjacent to it. The outermost pins are numbered 1 and 3. (2) Cables are always wired straight through; there is no crossover. (3) Cables use male connectors on both ends. Equipment always uses female connectors. (4) Contrary to the instructions on the Shavano page, the shield in a cable should be connected to pin 2 at one end only, to avoid ground loops. Leave it unconnected at the other end.

Remember, when wiring MIDI connectors on equipment, that the pinout is the mirror image of the cable connectors.

Mouser part numbers for MIDI connectors:

  • Switchcraft female panel mount connector, solder lugs: 502-57GB5FX
  • Switchcraft male cable connector, crimp connection: 502-05BL5MX
  • Deltron male cable connector, solder lugs (I haven't tried these): 174-2511