Discussion about the Korg PolySix synthesizer group photo

Yahoo Groups archive

Discussion about the Korg PolySix synthesizer

Index last updated: 2026-04-28 23:40 UTC

Thread

Specs available

Specs available

2003-09-04 by riccardo231057

Do you know if the specs of the sound of the tape interface is 
available somewhere?

I will like to build a patch editor for my Polysix (easy task), to 
group patches in set of 32 (easy too) and to self generate the wav 
for that bank (not so easy).

So, what I need to know is the base sound (shape and frequency) and 
its modulation related to values encoding.

Thanks a lot for any help.

Riccardo

Re: [PolySix] Specs available

2003-09-04 by The Old Crow

Here is my info on the tape data:

/* start clip from file */

	Korg Polysix Tape Format

	Info from Old Crow's Synth Shop

  The tape interface is a simple one, based on the Kansas City Standard
for FM data-to-tape.  A tape dump looks like this:

	1) 10,240 "1" bits of leader tone
	2) A 2-byte header; the 2 bytes are 0x50 and 0x36 (ASCII "P6")
	3) 512 bytes of patch data for 32 patches
	4) One-byte checksum of data
	5) 1,536 "1" bits of trailer tone

  Bytes are framed by one "0" start bit and two "1" stop bits, making
a single byte actually use 11 bits.  Also, note that bytes are sent
LSB *FIRST*.  That is 0x50 = 0b01010000 is sent 00001010.
                                             LSB^      ^MSB

  The "0" and "1" bits are designated by waveforms with periods of 640us
(1562.5Hz) and 320us (3125Hz), respectively.  Note that the waveform
polarity is irrelevant, for example a "1" bit can be represented by a
  _          _   _
_| |_ or by a |_|.  Only the interval matters.  Thus, 0x50 encoded in
FM data format with 1 start and 2 stop bits can appear as either of:
         _    __    __    _    _    _   _...
Case#1:   |__|  |__|  |__| |__| |__| |_| 

Start bit->0  0  0  0  0  1 0  1 0  1 1<-Stop bits
           __    __    __   __   __   _
Case#2:  _|  |__|  |__|  |_|  |_|  |_| |_...

              \LSB____ 0x50 ____MSB/

  The checksum is just the lower 8 bits of the sum of all 512 bytes of
the RAM data (carry outs of the sum aren't even stored; they just
"fall off" the data byte each time it exceeds 0xFF).

/* stop clip from file */

  I made a simple PIC circuit with the factory patch data coded in ROM so 
I can reload repaired boards without fumbling with tape recorders and 
levels.  Just connect it to the tape in jack, set the tape load mode 
on the P6 and hit the single button on the PIC widget to zap the data 
across.

Crow
/**/
Show quoted textHide quoted text
On Thu, 4 Sep 2003, riccardo231057 wrote:

> Do you know if the specs of the sound of the tape interface is 
> available somewhere?
> 
> I will like to build a patch editor for my Polysix (easy task), to 
> group patches in set of 32 (easy too) and to self generate the wav 
> for that bank (not so easy).
> 
> So, what I need to know is the base sound (shape and frequency) and 
> its modulation related to values encoding.
> 
> Thanks a lot for any help.
> 
> Riccardo

Re: [PolySix] Specs available

2003-09-05 by Riccardo (Oggi)

Crow,
thanks a lot for your fast and punctual reply.

If I will build something interesting I'll let you know.

Riccardo
Show quoted textHide quoted text
  ----- Original Message ----- 
  From: The Old Crow 
  To: PolySix@yahoogroups.com 
  Sent: Friday, September 05, 2003 1:11 AM
  Subject: Re: [PolySix] Specs available



    Here is my info on the tape data:

  /* start clip from file */

        Korg Polysix Tape Format

        Info from Old Crow's Synth Shop

    The tape interface is a simple one, based on the Kansas City Standard
  for FM data-to-tape.  A tape dump looks like this:

        1) 10,240 "1" bits of leader tone
        2) A 2-byte header; the 2 bytes are 0x50 and 0x36 (ASCII "P6")
        3) 512 bytes of patch data for 32 patches
        4) One-byte checksum of data
        5) 1,536 "1" bits of trailer tone

    Bytes are framed by one "0" start bit and two "1" stop bits, making
  a single byte actually use 11 bits.  Also, note that bytes are sent
  LSB *FIRST*.  That is 0x50 = 0b01010000 is sent 00001010.
                                               LSB^      ^MSB

    The "0" and "1" bits are designated by waveforms with periods of 640us
  (1562.5Hz) and 320us (3125Hz), respectively.  Note that the waveform
  polarity is irrelevant, for example a "1" bit can be represented by a
    _          _   _
  _| |_ or by a |_|.  Only the interval matters.  Thus, 0x50 encoded in
  FM data format with 1 start and 2 stop bits can appear as either of:
           _    __    __    _    _    _   _...
  Case#1:   |__|  |__|  |__| |__| |__| |_| 

  Start bit->0  0  0  0  0  1 0  1 0  1 1<-Stop bits
             __    __    __   __   __   _
  Case#2:  _|  |__|  |__|  |_|  |_|  |_| |_...

                \LSB____ 0x50 ____MSB/

    The checksum is just the lower 8 bits of the sum of all 512 bytes of
  the RAM data (carry outs of the sum aren't even stored; they just
  "fall off" the data byte each time it exceeds 0xFF).

  /* stop clip from file */

    I made a simple PIC circuit with the factory patch data coded in ROM so 
  I can reload repaired boards without fumbling with tape recorders and 
  levels.  Just connect it to the tape in jack, set the tape load mode 
  on the P6 and hit the single button on the PIC widget to zap the data 
  across.

  Crow
  /**/

  On Thu, 4 Sep 2003, riccardo231057 wrote:

  > Do you know if the specs of the sound of the tape interface is 
  > available somewhere?
  > 
  > I will like to build a patch editor for my Polysix (easy task), to 
  > group patches in set of 32 (easy too) and to self generate the wav 
  > for that bank (not so easy).
  > 
  > So, what I need to know is the base sound (shape and frequency) and 
  > its modulation related to values encoding.
  > 
  > Thanks a lot for any help.
  > 
  > Riccardo


        Yahoo! Groups Sponsor 
              ADVERTISEMENT
             
       
       

  To unsubscribe from this group, send an email to:
  PolySix-unsubscribe@egroups.com

  PolySix "Digiest" Page: http://www.acc.umu.se/~amber/Poly6 

  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 


[Non-text portions of this message have been removed]

Re: [PolySix] Specs available

2003-09-08 by Riccardo (Oggi)

Crow,
thanks to your info, generating a WAV encoding P6 parameters is no longer a problem. 

But now I miss another couple of things:
1) parameter sequence: which comes first, which second etc. etc.
2) parameter values range.

Can you help me on this too?

Thanks a lot
Riccardo
Show quoted textHide quoted text
  ----- Original Message ----- 
  From: The Old Crow 
  To: PolySix@yahoogroups.com 
  Sent: Friday, September 05, 2003 1:11 AM
  Subject: Re: [PolySix] Specs available



    Here is my info on the tape data:

  /* start clip from file */

        Korg Polysix Tape Format

        Info from Old Crow's Synth Shop

    The tape interface is a simple one, based on the Kansas City Standard
  for FM data-to-tape.  A tape dump looks like this:

        1) 10,240 "1" bits of leader tone
        2) A 2-byte header; the 2 bytes are 0x50 and 0x36 (ASCII "P6")
        3) 512 bytes of patch data for 32 patches
        4) One-byte checksum of data
        5) 1,536 "1" bits of trailer tone

    Bytes are framed by one "0" start bit and two "1" stop bits, making
  a single byte actually use 11 bits.  Also, note that bytes are sent
  LSB *FIRST*.  That is 0x50 = 0b01010000 is sent 00001010.
                                               LSB^      ^MSB

    The "0" and "1" bits are designated by waveforms with periods of 640us
  (1562.5Hz) and 320us (3125Hz), respectively.  Note that the waveform
  polarity is irrelevant, for example a "1" bit can be represented by a
    _          _   _
  _| |_ or by a |_|.  Only the interval matters.  Thus, 0x50 encoded in
  FM data format with 1 start and 2 stop bits can appear as either of:
           _    __    __    _    _    _   _...
  Case#1:   |__|  |__|  |__| |__| |__| |_| 

  Start bit->0  0  0  0  0  1 0  1 0  1 1<-Stop bits
             __    __    __   __   __   _
  Case#2:  _|  |__|  |__|  |_|  |_|  |_| |_...

                \LSB____ 0x50 ____MSB/

    The checksum is just the lower 8 bits of the sum of all 512 bytes of
  the RAM data (carry outs of the sum aren't even stored; they just
  "fall off" the data byte each time it exceeds 0xFF).

  /* stop clip from file */

    I made a simple PIC circuit with the factory patch data coded in ROM so 
  I can reload repaired boards without fumbling with tape recorders and 
  levels.  Just connect it to the tape in jack, set the tape load mode 
  on the P6 and hit the single button on the PIC widget to zap the data 
  across.

  Crow
  /**/

  On Thu, 4 Sep 2003, riccardo231057 wrote:

  > Do you know if the specs of the sound of the tape interface is 
  > available somewhere?
  > 
  > I will like to build a patch editor for my Polysix (easy task), to 
  > group patches in set of 32 (easy too) and to self generate the wav 
  > for that bank (not so easy).
  > 
  > So, what I need to know is the base sound (shape and frequency) and 
  > its modulation related to values encoding.
  > 
  > Thanks a lot for any help.
  > 
  > Riccardo


        Yahoo! Groups Sponsor 
              ADVERTISEMENT
             
       
       

  To unsubscribe from this group, send an email to:
  PolySix-unsubscribe@egroups.com

  PolySix "Digiest" Page: http://www.acc.umu.se/~amber/Poly6 

  Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service. 


[Non-text portions of this message have been removed]

Re: [PolySix] Specs available

2003-09-08 by The Old Crow

I don't know exactly, but I'll give an educated guess:

  There are 16 bytes per patch.  Presuming the bytes are stored in RAM in 
their hardware address order, you have:

  1st byte: Effect Speed/Intensity knob
  2nd byte: Filter Fc knob
  3rd byte: Filter EG intensity knob
  4th byte: Filter Q (resonance) knob
  5th byte: Attack knob
  6th byte: Decay knob
  7th byte: Sustain knob
  8th byte: Release knob
  9th byte: Filter keyboard tracking knob
 10th byte: PW/PWM knob
 11th byte: PWM speed knob
 12th byte: MG (LFO) speed knob
 13th byte: MG delay knob
 14th byte: MG level knob

 15th byte: switch bits for VCO oct (2 bits), waveform (2 bits),
            subosc mode (2 bits) and MG destination (2 bits).

 16th byte: switch bits for EG VCA mode (1 bit), effect mode (2 bits),
            attenuator (4 bits).

  I don't know exactly which bit values mean which setting for the
switches.  Best way to figure that out is just a little trial and error.

  The 14 knob values are at 8-bit resolution.

  Hope this helps,

Crow
/**/
Show quoted textHide quoted text
On Mon, 8 Sep 2003, Riccardo (Oggi) wrote:

> Crow, thanks to your info, generating a WAV encoding P6 parameters is no
> longer a problem.
> 
> But now I miss another couple of things:
> 1) parameter sequence: which comes first, which second etc. etc.
> 2) parameter values range.
> 
> Can you help me on this too?

Re: [PolySix] Specs available

2003-09-08 by Riccardo (Oggi)

Crow,
don't know where in the world you are, but I am in debt with you!

Thanks again.

Riccardo
Show quoted textHide quoted text
  ----- Original Message ----- 
  From: The Old Crow 
  To: PolySix@yahoogroups.com 
  Sent: Monday, September 08, 2003 9:36 AM
  Subject: Re: [PolySix] Specs available



    I don't know exactly, but I'll give an educated guess:

    There are 16 bytes per patch.  Presuming the bytes are stored in RAM in 
  their hardware address order, you have:

    1st byte: Effect Speed/Intensity knob
    2nd byte: Filter Fc knob
    3rd byte: Filter EG intensity knob
    4th byte: Filter Q (resonance) knob
    5th byte: Attack knob
    6th byte: Decay knob
    7th byte: Sustain knob
    8th byte: Release knob
    9th byte: Filter keyboard tracking knob
  10th byte: PW/PWM knob
  11th byte: PWM speed knob
  12th byte: MG (LFO) speed knob
  13th byte: MG delay knob
  14th byte: MG level knob

  15th byte: switch bits for VCO oct (2 bits), waveform (2 bits),
              subosc mode (2 bits) and MG destination (2 bits).

  16th byte: switch bits for EG VCA mode (1 bit), effect mode (2 bits),
              attenuator (4 bits).

    I don't know exactly which bit values mean which setting for the
  switches.  Best way to figure that out is just a little trial and error.

    The 14 knob values are at 8-bit resolution.

    Hope this helps,

  Crow
  /**/

  On Mon, 8 Sep 2003, Riccardo (Oggi) wrote:

  > Crow, thanks to your info, generating a WAV encoding P6 parameters is no
  > longer a problem.
  > 
  > But now I miss another couple of things:
  > 1) parameter sequence: which comes first, which second etc. etc.
  > 2) parameter values range.
  > 
  > Can you help me on this too?



[Non-text portions of this message have been removed]

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.