Topic: Synths, anything special with multiples of 8?Posted By: Gerinski
Subject: Synths, anything special with multiples of 8?
Date Posted: February 09 2013 at 06:34

During the research for my blog about instruments commonly used in Prog I realised that certain features in keyboards / synths frequently showed up in multiples of 8 (or you could say of 4), particularly:

a) the number of voices in polyphonic synths. While not a golden rule it seems that polyphony evolution frequently went like 8-voices, 16-voices, 32-voices, 64-voices, 128 voices.

b) the number of memory patches, again not a golden rule but it was also frequently 16, 32, 64, 128...

None of these features seem to have any particular requirement towards this, I mean, a synth could perfectly have 50 voices or memory patches, or 100 or 125 or 150 or whatever, 64 or 128 seem like odd numbers to choose?

Replies: Posted By: HolyMoly
Date Posted: February 09 2013 at 08:09

Well, there are 8 notes in major and minor scales, if you count the octaves twice. It just seems like an aesthetically pleasing number in music. That may have at least had a subconscious effect on the designers.

-------------My other avatar is a Porsche

It is easier for a camel to pass through the eye of a needle if it is lightly greased.

-Kehlog Albran

Posted By: Dean
Date Posted: February 09 2013 at 09:02

Subconsciously (or consciously) that has no effect on the engineers - there are 12 semitones in an octave and that's the figure we design to - we don't design a synth with 8-notes in an octave.

2, 4, 8, 16, 32, 64, 128 etc. is binary, which fits will with digtial circuitry, and it also a binary progression, (double, then double, then double again ad infinitum). Even in analogue circuitry things happen in powers of two - if you make a VCO you can make a dual VCO, if you add another dual VCO into a system you get 4 VCOs, etc. If you have 4 VCOs then you can distrubute those over a binary division of voices, patches of keyboard bank. Those divisions will also be a binary division.

If you can multiply up the complexity of a circuit by simply doubling the number of fuctional blocks then they can be divided just as easily. So if you have a bank of many circuits it is more flexible to make them divisible by powers of two therefore more natural to make them in powers of two.

128 is far more natural than 150 - if you think about all the factors of 150 (2, 3, 5, 6, 10, 15, 25, 30, 50, 75) they are not all factors of each other whereas factors of 128 (2, 4, 8, 16, 32, 64) all are factors of each other.

-------------"You know what uranium is, right?Itís this thing called nuclear weapons. And other things. Like lots of things are done with uranium. Including some bad things.But nobody talks about that."

Posted By: Ajay
Date Posted: February 09 2013 at 09:11

Powers of two are common in computing.

The progression you mention, though, Gerinski, generally holds only from about the late '80s. Early polysynths (e.g. the Polymoog, the Korg PE-1000) were fully polyphonic - every key could sound simultaneously. The Prophets are 5-, 10-, and most recently, 12-voice polyphonic.

Similarly, the Prophet 5 had about 40 patch memories, the Yamaha GX-1 had 70.

Posted By: Dean
Date Posted: February 09 2013 at 09:19

^ "3" was another common number in early synths.

-------------"You know what uranium is, right?Itís this thing called nuclear weapons. And other things. Like lots of things are done with uranium. Including some bad things.But nobody talks about that."

Posted By: Gerinski
Date Posted: February 09 2013 at 11:54

Ajay wrote:

Powers of two are common in computing.

The progression you mention, though, Gerinski, generally holds only from about the late '80s. Early polysynths (e.g. the Polymoog, the Korg PE-1000) were fully polyphonic - every key could sound simultaneously. The Prophets are 5-, 10-, and most recently, 12-voice polyphonic.

Similarly, the Prophet 5 had about 40 patch memories, the Yamaha GX-1 had 70.

Thanks for the info.

According to this site, the GX-1 did not have any memory patches (specs table on the right: 'Memory = none').

The progression you mention, though, Gerinski, generally holds only from about the late '80s. Early polysynths (e.g. the Polymoog, the Korg PE-1000) were fully polyphonic - every key could sound simultaneously. The Prophets are 5-, 10-, and most recently, 12-voice polyphonic.

Similarly, the Prophet 5 had about 40 patch memories, the Yamaha GX-1 had 70.

Thanks for the info.

According to this site, the GX-1 did not have any memory patches (specs table on the right: 'Memory = none').

-------------"You know what uranium is, right?Itís this thing called nuclear weapons. And other things. Like lots of things are done with uranium. Including some bad things.But nobody talks about that."

Posted By: Gerinski
Date Posted: February 09 2013 at 20:36

Dean wrote:

The preset patches on the GX-1 were 70 "tone modules", each containing 26 resistor dividers for setting various parameters on the sound banks.

Thanks, I guess I was meaning user-storable patches memory, not presets.

Posted By: awaken77
Date Posted: February 11 2013 at 03:58

Gerinski wrote:

b) the number of memory patches, again not a golden rule but it was also frequently 16, 32, 64, 128...

None of these features seem to have any particular requirement towards this, I mean, a synth could perfectly have 50 voices or memory patches, or 100 or 125 or 150 or whatever, 64 or 128 seem like odd numbers to choose?

"Binary" numbers come from the fact that, most synthesizers are actually specialized computers, having CPU and memory. and number of patches is limited by memory available. Memory units have size measured in power of 2 (256, 512, 1024, etc) . So , if there is a chip capable of 256, why use only 170?

Posted By: Gerinski
Date Posted: February 11 2013 at 07:31

awaken77 wrote:

"Binary" numbers come from the fact that, most synthesizers are actually specialized computers, having CPU and memory. and number of patches is limited by memory available. Memory units have size measured in power of 2 (256, 512, 1024, etc) . So , if there is a chip capable of 256, why use only 170?

I'm totally ignorant about electronics and computing and although I can follow these arguments to a certain point, I'm not sure that I get them because I don't think that things like a memory patch or a voice utilize single whole units of memory or computing power.

I mean, if I have a memory of say 2 Mb, which if I'm not wrong is 2048 Kb, and a memory patch may need (say for example, I have no idea how much) around 20 Kb, that would still give a capacity for 100 patches, the relationship to the binary series is lost by the magnification, isn't it?

Posted By: notesworth
Date Posted: February 21 2013 at 19:25

Some synths have 100 patches - the Korg M1 and T3 come to mind. So do a lot of older home keyboards. My Casio CTK-601 has 200 patches.

Apart from the ease of programming, a lot of modern synths use multiples of 128 so they can fit a http://www.midi.org/techspecs/gm1sound.php" rel="nofollow - General MIDI bank in. So a lot of synths have 256, 384, 512, etc. patches.

Posted By: Dmnicbrlw
Date Posted: February 22 2013 at 01:49

Korg M1 is legend and I am thinking to buy M1rex also. I need advice, Is there a difference in sound between he m1r and m1r-ex?or should I look for some other.

-------------http://www.spam.com/" rel="nofollow - SPAM phone lines

Posted By: awaken77
Date Posted: February 28 2013 at 03:40

Gerinski wrote:

[QUOTE=awaken77]

I mean, if I have a memory of say 2 Mb, which if I'm not wrong is 2048 Kb, and a memory patch may need (say for example, I have no idea how much) around 20 Kb, that would still give a capacity for 100 patches, the relationship to the binary series is lost by the magnification, isn't it?

Patch number is stored in memory cell, if the cell is 8 bit, max possible number of patches is 256

or 128, if 7-bit used

I guess this is why old General Midi standard allowed only 128 patches . It was invented in the time, where most chips used in synthesizers was 8 bit

even in the 8-bit era, it was possible to overcome this limitation. for example, have 2 separate cells for storing bank number and patch number , having 256*256 possible combinations

Posted By: engineer
Date Posted: March 27 2013 at 13:03

Right, the adressing of the micro controllers ist the main point. Adressing something different than a binary number is either a waste of resources or exceeds some limits. For the number of voices of a synth, it might be different since this is a question of processing power. For dynamic processing it is someting like CPU-Power/Complexity and could be any number.

Posted By: King Only
Date Posted: May 19 2013 at 13:55

I'd guess that the first polyphonic synth used on a lot of recordings was the Prophet 5? Or maybe the Oberheim 2 voice or 4 voice? Plus the 'string machines' which were fully polyphonic. So the eight voice machines didn't come until later.

Posted By: Gerinski
Date Posted: May 19 2013 at 14:12

King Only wrote:

I'd guess that the first polyphonic synth used on a lot of recordings was the Prophet 5? Or maybe the Oberheim 2 voice or 4 voice? Plus the 'string machines' which were fully polyphonic. So the eight voice machines didn't come until later.

The Prophet 5 came out in 1978, if I'm not wrong the first commercial polyphonic synth was the Polymoog which was fully polyphonic (1975) and the Yamaha GX-1 (8 voice polyphonic).

The Oberheims came very soon afterwards, as well as the Korgs.

Posted By: King Only
Date Posted: May 19 2013 at 14:24

Gerinski wrote:

The Prophet 5 came out in 1978, if I'm not wrong the first commercial polyphonic synth was the Polymoog which was fully polyphonic (1975) and the Yamaha GX-1 (8 voice polyphonic).

The Oberheims came very soon afterwards, as well as the Korgs.

Yeah you are right. But I think the GX-1 was really expensive and also not many were made, so not many artists used it on their recordings? Not sure about the Polymoog but I don't recall it being listed on many albums. I've seen the Prophet 5 and the Oberheims listed on a lot of albums. I think they were much more affordable and more reliable than the Polymoog and the GX-1.

Posted By: Gerinski
Date Posted: May 20 2013 at 03:45

King Only wrote:

Gerinski wrote:

The Prophet 5 came out in 1978, if I'm not wrong the first commercial polyphonic synth was the Polymoog which was fully polyphonic (1975) and the Yamaha GX-1 (8 voice polyphonic).

The Oberheims came very soon afterwards, as well as the Korgs.

Yeah you are right. But I think the GX-1 was really expensive and also not many were made, so not many artists used it on their recordings? Not sure about the Polymoog but I don't recall it being listed on many albums. I've seen the Prophet 5 and the Oberheims listed on a lot of albums. I think they were much more affordable and more reliable than the Polymoog and the GX-1.

Indeed the GX-1 was very expensive and rare (not to mention the logistical problems derived from its huge size and weight). Keith Emerson had 2, Stevie Wonder another 2, John Paul Jones, Rick Van Der Linden and ABBA had one each.

The Polymoog was not very successful either, plagued by reliability problems and questioned sound performance. It was partly developed by Keith Emerson but by the time it came out commercially Keith was changing from Moog to Yamaha. Rick Wakeman, Patrick Moraz or Klaus Schulze used it but it was never highly popular.

The 1976 Yamaha CS80 was the first moderately successful polysynth (16 voice polyphonic) but the Prophet 5 was indeed a huge hit thanks to being cheaper, lighter and its 40 user-storable memory patches. The Oberheims were also very popular.

Posted By: commodorejohn
Date Posted: August 14 2013 at 10:21

Gerinski wrote:

I'm totally ignorant about electronics and computing and although I can follow these arguments to a certain point, I'm not sure that I get them because I don't think that things like a memory patch or a voice utilize single whole units of memory or computing power.

I mean, if I have a memory of say 2 Mb, which if I'm not wrong is 2048 Kb, and a memory patch may need (say for example, I have no idea how much) around 20 Kb, that would still give a capacity for 100 patches, the relationship to the binary series is lost by the magnification, isn't it?

There's basically two factors that say otherwise. One is that it's faster for a computer to address things on power-of-two boundaries; if, say, a patch fits into 29 bytes, you could store them sequentially in memory, but then the program would have to find the memory address of a patch by multiplying its number by 29 - and in small CPUs of the late '70s-mid '80s, there weren't even necessarily any instructions for multiplication (you could still do it, but you had to code the process yourself, and either way it was slow.) Whereas if you sacrificed a miniscule amount of memory and padded patches out to 32 bytes (a power of two,) you could much more easily get the address by taking the patch number and doing a shift instruction (the binary equivalent of multiplying a number by 10/100/1000 by tacking on zeroes to the end,) which basically any CPU has and which is always faster than multiplication. (This actually still holds true today, it's just that even small CPUs are fast enough that it's not such a big deal. When the processor in your polysynth might run at a maximum of 3-4MHz, it made a lot bigger difference.) Sure, you're sacrificing three bytes, but you can write them off as "for future expansion" or something...

The other factor is that, as awaken77 points out, once you've got the capability, why waste it? There's pretty much no common decimal numbers where you won't have room for more up to a binary limit. If you've got 10 patches, you're using a 4-bit index anyway; why not make it 16? 20? 32. 50? 64. Sure, you could settle for less (and some actually did - my Oberheim Matrix-6 only has 100 patch slots,) but those extra patches are value added at generally no extra cost.

The CPUs in synths were not programmed in high-level languages, they were programmed in low-level machine code and any memory mapping was done using offset indexing, (the IX and IY registers in the old Z80 ĶP) - as commodorejohn said: using addition or shifting not multiplication. But using addition means that the address boundaries do not have to be a power of two, they can be any number. The assembler code for accessing any patch in a non-power-of-2 patch memory bank using indexed addition is trivial and fast.

Memory was expensive and by today's standards incredibly small - we're talking a few K if you were very lucky, so its use was optimised to be as efficient as possible. This means that while using "power-of-2" increments would be code-efficient on addressing, it could be inefficient in squeezing as much data into a small memory space.

While we take flash memory for granted today, back in the 70s and 80s it was extremely rare - back then memory was RAM or ROM - RAM was volatile (lost it's data when switched off) and ROM had to be completely erased and then re-programmed and this was never done "in-situ" (you had to remove the chips from the synth to reprogram them). Later electrically alterable memory (EEPROM And EARPROM) became available but this was slow to write to (could take 16-20 seconds per write). So Factory Preset patches (ie those that could not be changed by the user) were stored in ROM, User Defined patches were stored in RAM with a battery backup (like the BIOS CMOS memory in a PC). Because ROM was slow and could not be editted and RAM was fast and could be editted, some synths read the ROM contents into RAM (aka the Edit Buffer) so that preset patches could be changed "live". If the synth had electrically alterable ROM you could then save the Edit Buffer into patch memory by pressing "SAVE" ... otherwise the settings would be lost when you loaded another preset.

System memory wasn't used just to store patches, it was also used to store program data and other system parameters so even if you had 2K (2048 bytes) of memory in your synth, not all of that was used for user-patches. This meant that patches were not always a power of 2 - they just used whatever memory space was available to be allocated to patch memory.

The other thing to consider is that even though computer memory is divisible by powers-of-two it does not mean that the patch itself is a power-of-two - it could be that only 3 bytes were needed per patch, (or 5, 6, 7, 9, 10 etc) depending upon what was actually being stored for each patch (ADSR, VCO settings, LFO settings, etc... a single patch could be over 50 different parameters [knob and switch settings])

So if you had 2K of memory that was exclusively used for patches and 16 bytes were needed to store the data for each patch you could have 2048/16 = 128 patches. But if the synth used 448 bytes for system data then there would only be enough space left for (2048-448)/16 = 100 patches. Or if a patch took 20 bytes then you could fit 100 patches and have 48 bytes left over for system data. Often in reality more of the memory is used for system data than for patches.

For example, my OB*12 organises the memory into several sections (Program, Timbre, Phrase Recorder, Motion Recorder, operating system, System) where Program and Timber are the "Sound Patches" (256 of each in two banks of 128) [at this point I have to admit that I don't know how many bytes are used for each patch as the data is sent to the synth via MIDI SysEx messages, but since the resulting MIDI file for 256 Timbre patches is 64,307 bytes that would be as much as 250 bytes/patch (assuming no overhead present, which of course there is)].

Therefore, there is no real reason why patches were in powers of 2 and many were not (the early Oberhiem's were, the early Prophets were not). Often it is simply that the system designer picked a number because it was convenient to round it down to a nice sounding number.

-------------"You know what uranium is, right?Itís this thing called nuclear weapons. And other things. Like lots of things are done with uranium. Including some bad things.But nobody talks about that."

Posted By: The.Crimson.King
Date Posted: August 16 2013 at 00:22

Gerinski wrote:

Dean wrote:

The preset patches on the GX-1 were 70 "tone modules", each containing 26 resistor dividers for setting various parameters on the sound banks.

Thanks, I guess I was meaning user-storable patches memory, not presets.

I got my 1st polyphonic synth in 1983 called a Crumar Trilogy. It had organ, string synth, and synthesizer sounds. 7 memory locations and the 8th routed to a hinged cover panel that let you access a circuit board that was full of variable resistors. You would spin the resistors around to set the voice parameters. Fun Fun Fun!