Why are Juno-106 and MKS-80 so fast for software envelopes?

Discussions about anything analog, digital, MIDI, synth technology, techniques, theories and more.
User avatar
DesolationBlvd
Active Member
Active Member
Posts: 277
Joined: Tue Mar 06, 2012 1:24 am

Why are Juno-106 and MKS-80 so fast for software envelopes?

Post by DesolationBlvd » Sat Oct 06, 2012 1:10 am

Most software envelopes muster 4-6 ms minimum attacks (JX-8P family lagging behind at 10ms).

Meanwhile, Juno-106, Jupiter-6, and MKS-80 all have software envelopes, but they're fast. The SynthMania.com demos of Juno-106 and MKS-80 presets, as well as my experience with the MKS-80, lead me to believe they are as fast as some of the slower hardware envelopes (Oberheim OB series, Korg Mono/Poly / Polysix).

How did they do it? It can't be processor-related - Studio Electronics is new stuff and probably has a better processor than what Roland had access to in the 80s. SE stuff is known for "slow" envelopes. (Or is SE skimping on the processors?)
Moog Matriarch
Oberheim OB-8/DSX/DMX
Sequential Prophet 2002/Prophet-5 rev. 4
Ensoniq Mirage/SQ-80
Roland JP-8/SH-101/RS-09/Kiwi-30
Korg MS-20 Kit/ARP Odyssey FSQ
Yamaha SY99/DX100
Waldorf Microwave 1
Simmons SDSV
Elektron Analog RYTM

User avatar
Alex E
Synth Explorer
Synth Explorer
Posts: 2239
Joined: Sat Dec 02, 2006 12:07 am
Gear: Jupiter-6, Juno-60, Polysix, Emulator II, DX7, QX1, Arp Odyssey MKII, ESQ-1, Miami, M1r, Live 9, iMac MC309XX/A
Location: Anaheim, CA

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by Alex E » Sun Oct 07, 2012 7:36 am

I always thought the JX-3p envelopes weren't half bad either.
soundcloud.com/vectron


User avatar
GuyaGuy
VSE Review Contributor
VSE Review Contributor
Posts: 1547
Joined: Fri Sep 17, 2010 2:10 am
Gear: YES PLEASE!
Location: Brooklyn, NY

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by GuyaGuy » Sun Oct 07, 2012 4:07 pm

Not an electric engineer but I don't think software envelopes are intrinsically slow. (Loads of fast soft synth and DSI envelopes out there.) It's my understanding that digitally controlled envelopes of the 80s were often slow simply because 80s processors were slow--or because they decided to use inferior processors to save a few Yen.

User avatar
meatballfulton
Moderator
Moderator
Posts: 6036
Joined: Wed Apr 13, 2005 9:29 pm
Gear: Logic Pro X

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by meatballfulton » Sun Oct 07, 2012 5:37 pm

Do the math. Processors in the mid 1980s were usually in the low MHz range, today most are in the low GHz range. That's 1000 times faster.

Of course, the processors in modern synths are doing more work than the Juno processor had to and poor coding can still lead to sluggish performance.
I listened to Hatfield and the North at Rainbow. They were very wonderful and they made my heart a prisoner.

User avatar
HideawayStudio
Supporting Member!
Supporting Member!
Posts: 1390
Joined: Fri Jan 09, 2009 10:41 pm
Real name: Dani Wilson
Gear: 163 tubes in a large wooden box!
Band: Shortwave
Location: UK
Contact:

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by HideawayStudio » Sun Oct 07, 2012 9:08 pm

Yes but remember the firmware in most digitally controlled analog synths wasn't doing a huge amount compared to your average soft synth. Also remember most of it was written in machine code and still running at a couple of MIPs at least.

There are a few other considerations on the hardware front...

Most firmware controlled synths make use of sample hold based analog multiplexed control. That is to say that a single DAC is often used to dish out control voltages to each and every parameter in the synth that is running in the analog domain. In some synths this can be a significant number of control channels.

If there are a lot of parameters then the hold capacitors need to be larger and it takes longer for the next update to get to each channel.

This is not the case for a 100% analog synth such as the Minimoog where every parameter is wired directly to it's control source.

So if you take the latency incurred by the software iteration (which can be anything from 1us to 10ms or so) plus the hardware multiplex delay + any slew rate limiting caused by the sample hold caps you start to see why it's a real challenge to achieve that sort of envelope response.

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by StepLogik » Mon Oct 08, 2012 1:03 pm

^ HideawayStudio nailed it.

Going back to meatballfulton's point, lousy code can be a major factor is poor performance. I recall the Europa guys talking about how terrible the firmware for the Jupiter-6 was. Even something as simple as using the 8051's timer to calculate software envelopes can quickly degrade performance if not done correctly. Shortcuts to reduce hardware cost could often have performance degrading effects (such as hard-coding timeout/wait values instead of using interrupt-driven logic).

In the Junos, Jupiter-6, and other early hybrids, there were often multiple CPUs. By dedicating a CPU to certain functions, you gain performance. Nowadays, with cheap processors capable of multi-threading, such an approach would not be necessary.

User avatar
cornutt
Moderator
Moderator
Posts: 2117
Joined: Sun Dec 02, 2007 6:03 am
Gear: 6th
Location: Rocket City USA
Contact:

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by cornutt » Thu Oct 11, 2012 11:14 pm

StepLogik wrote:
In the Junos, Jupiter-6, and other early hybrids, there were often multiple CPUs. By dedicating a CPU to certain functions, you gain performance.
The 106 does in fact have two processors. One handles the keyboard scanning and the MIDI; the other handles the panel and the sound generation functions.
Nowadays, with cheap processors capable of multi-threading, such an approach would not be necessary.
However, some of the later operating systems have high overhead for processes and threads, and the context switch time is ridiculous. The timing winds up being highly variable. Assuring response times in a multi-threaded system is still very much an art with few skilled practitioners.
Switches, knobs, buttons, LEDs, LCD screens, monitors, keys, mice, jacks, sockets. Now two joysticks!

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by StepLogik » Sat Oct 13, 2012 3:49 am

Absolutely. If you really want speedy performance, be it a synth with snappy envelopes or a midi sequencer with rock solid timing, you've really got to get close to the hardware. The more embedded os's, "toolkits" , platforms, etc you use the more overhead on the CPU and the more of a challenge it becomes to get snappy performance.

The designs of the early polysynths clearly reflect the mentality of shifting as much implementation as possible in hardware so as to minimize the CPU requirements and keep costs down. The fact that it was cheaper to put 3 8051's in a synth versus a single Z80 says a lot. You also see all the support components: uarts for midi buffering, a/d/a conversion, analog multiplexing, etc. that would now all be implemented in software or leverage the enormous amount of onboard services and I/o pins on modern cpu'S that simply didn't exist back then. An Arduino would have blown everyone's mind back then :lol:

I love studying the architecture of the early polys, so interesting.

User avatar
Bitexion
Synth Explorer
Synth Explorer
Posts: 4230
Joined: Fri Apr 15, 2005 7:43 pm
Gear: Alesis Andromeda A6
Roland D-50
Creamware Minimax
Yamaha DX7s
Analogue Systems modular
Ensoniq SQ-80
Waldorf Blofeld
Location: Drammen, Norway

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by Bitexion » Sat Oct 13, 2012 4:17 am

Without software, polysynths would never have had voice allocation and awesome unison modes.

But really, if the early computer manufacturers could afford tens of thousands of Z80 CPUs, why couldn't the synth manufacturers afford them too? Z80s were in aloooooooot of different home computers in the early 80s, and those would sell like 30k a month in some countries.

Ashe37
Moderator
Moderator
Posts: 3906
Joined: Mon Jan 19, 2009 3:43 pm
Real name: Unpronounceable
Gear: Ensoniq SD-1/32,SQR,VFX,ESQm
Virus Indigo, M3-61 , MS2000BR, Volca Bass
Emu XL-7, Matrix 6r
TG-33, K3m, Blofeld, Micron, Mopho, BS II, JV-1080
Band: Eridani V
Location: Central VA

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by Ashe37 » Sat Oct 13, 2012 9:55 pm

Bitexion wrote:Without software, polysynths would never have had voice allocation and awesome unison modes.

But really, if the early computer manufacturers could afford tens of thousands of Z80 CPUs, why couldn't the synth manufacturers afford them too? Z80s were in aloooooooot of different home computers in the early 80s, and those would sell like 30k a month in some countries.

Because they weren't ordering them in the hundreds of thousands...

User avatar
DesolationBlvd
Active Member
Active Member
Posts: 277
Joined: Tue Mar 06, 2012 1:24 am

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by DesolationBlvd » Sun Oct 14, 2012 1:05 am

So basically, it's that the Juno-106 and MKS-80 had more processors that were doing less?
Bitexion wrote:Without software, polysynths would never have had voice allocation and awesome unison modes.
Don't forget fingered portamento (101 / 303 slides).
Moog Matriarch
Oberheim OB-8/DSX/DMX
Sequential Prophet 2002/Prophet-5 rev. 4
Ensoniq Mirage/SQ-80
Roland JP-8/SH-101/RS-09/Kiwi-30
Korg MS-20 Kit/ARP Odyssey FSQ
Yamaha SY99/DX100
Waldorf Microwave 1
Simmons SDSV
Elektron Analog RYTM

User avatar
StepLogik
Expert Member
Expert Member
Posts: 1492
Joined: Fri Dec 29, 2006 4:16 am
Gear: Gauntlets of Ogre Power, Vorpal Sword, Chain Mail +3, Ring of Invisibility, Staff of the Magi, Boots of Speed
Location: Boston, MA

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by StepLogik » Sun Oct 14, 2012 2:53 pm

Bitexion wrote:Without software, polysynths would never have had voice allocation and awesome unison modes.
Just think about how much lighter, and more powerful, the cs80 would have been if all of its key scanning and voice assignment logic had been done in software!

User avatar
cornutt
Moderator
Moderator
Posts: 2117
Joined: Sun Dec 02, 2007 6:03 am
Gear: 6th
Location: Rocket City USA
Contact:

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by cornutt » Tue Oct 23, 2012 7:01 pm

DesolationBlvd wrote:So basically, it's that the Juno-106 and MKS-80 had more processors that were doing less?
Pretty much, although there were some other design considerations. I do hear a lot of complaints about the JX-3P envelopes, for instance, and it's about the same vintage as the Juno-60. (The JX-3P came from the guitar synth group at Roland.) Not having to handle digital audio made it a lot easier. And most of the code was indeed written in assembly language; there was no operating system as such and no context switching to speak of. Part of the problem these days is that (a) there aren't that many programmers around any more who know assembly language, and (b) with a multi-core processor like, say, the Intel Core2 Duo, you pretty much need the complier to optimize the pipelines and sort everything out.

Modern CPUs and operating systems are also kind of bad about handling interrupts and cache misses. Pretty much every time you have to handle an interrupt, everything comes to a screeching halt; pipelines get flushed, banks of memory mapping registers get swapped out, lots of access control bits get twiddled. And then the OS has a bunch of housekeeping it has to do before it can return control to the thread that was interrupted. There are lighter-weight processors out there that are more suitable for this type of application, but the technology has somewhat lagged over the past ten years because that isn't where the big money is. And right now there aren't a lot of programmers who are skilled with those, and the ones who are really good tend to get sucked in by the safety-critical industries like medical devices and aerospace. The Arduino and things like it are doing a lot to expose a new generation to real-time processing, and I'm hoping that will lead to a new round of advances in that area.

So Step, while we're on the subject: Do you know of a good writeup somewhere that explains how in the h**l a Poly-800 actually works? I never have understood that "add a bunch of square waves together and magic happens" thing...
Switches, knobs, buttons, LEDs, LCD screens, monitors, keys, mice, jacks, sockets. Now two joysticks!

User avatar
celebutante
Junior Member
Junior Member
Posts: 174
Joined: Thu May 04, 2006 7:57 am
Location: Las Vegas
Contact:

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by celebutante » Wed Oct 24, 2012 7:15 am

I don't have any "real" info on how a Poly-800 works, but my Korg Delta is a square-wave only divide-down. Like a Poly-800, it has individual volumes for 16', 8', 4', and 2' footage in the oscillator section. The interesting thing is that if you set the volumes in descending order (16' being the loudest) a funny thing happens: the octaves of square waves cease to sound like square waves and instead end up sounding like a single sawtooth wave. I wouldn't be surprised if this is wasn't how the Poly-800 created sawtooth waves behind the scenes.
synthesizers.com modular • Sequential Prophet-5 • Roland Jupiter-4 • Korg Delta • Oberheim SEM • Ensoniq SQ-80 • Korg MS-20 • Moog Minimoog • Yamaha CS-15 • Cordovox/Moog "White Elephant"

http://www.mitchellsigman.com
http://www.celebusite.com

User avatar
adamstan
Active Member
Active Member
Posts: 511
Joined: Tue Aug 22, 2006 2:56 pm
Real name: Adam
Gear: Yamaha 2xDX7II|QY-70|PSR-S750|PSR-2000|TYROS|Electone D85|Electone E50
B5 DIY polysynth
KORG Poly61
Vermona DRM
Solton Programmer 24
LEMA EDD-5
Location: Poland
Contact:

Re: Why are Juno-106 and MKS-80 so fast for software envelop

Post by adamstan » Wed Oct 24, 2012 11:58 am

I wouldn't be surprised if this is wasn't how the Poly-800 created sawtooth waves behind the scenes.
And you would be right - that's how it works. I had SIEL DK-80 that used similar system. And that's the reason why 16' saw sounds most like saw, while higher footages start to sound more and more pulse-like, because fewer and fewer square waves are used to "construct" them - three for 8' and only two for 4'.
Man with a tape recorder | Living in the '80s ;-)

Post Reply