Home › Forums › General › Using Ctrlr › Studio Electronics ATC-1 Tone Chameleon
- This topic has 28 replies, 6 voices, and was last updated 10 years, 4 months ago by UNITMAN.
-
AuthorPosts
-
November 9, 2010 at 9:27 pm #1597
Ok, so here goes. I had a bit of trouble reading some of the text because it’s quite low res so I’ve zipped the files just in case they come in handy:
http://www.mediafire.com/?wdc8c4bwccb4dd9
Sorry for the formatting. The code thing got it the closest. I’ve included easier to read text & pdf files in the .zip
missing bits:
[code:2gsfma0n]LFO1A EQU $03 LFO 1 ASSIGN 0 – 11
LFO2A EQU $07 LFO 2 ASSIGN 0 – 11
MX1 EQU $0F OSC 1 MIX LEVEL 0 – 127
MX2 EQU $10 OSC 2 MIX LEVEL 0 – 127
E3AS EQU $24 ENV 3 ASSIGNMENT 0 – 13
E1DYN EQU $25 ENV 1 DYNAMIC 0 – 127
E2DYN EQU $26 ENV 2 DYNAMIC 0 – 127
E3DYN EQU $27 SENSITIVITY (7 BITS) 0 – 127
MTRIG EQU $28 MULTRG 0 – 1 (1 = ON)
PRISTAT EQU $29 NOTE ASSIGN PRIOR 0 – 1 (1 = LOW, 0 = LAST)
PBND EQU $2A OSC BEND RANGE 0 – 24 (IN SEMITONES)
FBND EQU $2B VCF BEND RANGE 0 – 24 (IN SEMITONES)
ENV1 EQU $2D ENV 1,3,1&3 INVERT 0 – 3
XPOS EQU $2E OCTAVE LO-MID-HI (0,1,2) 0 – 2
MODAS EQU $2F MOD ASSIGNMENT 0 – 15
MODAMT EQU $30 MOD AMOUNT SCALING 0 – 127
TCHAS EQU $31 TOUCH ASSIGN 0 – 15
TCHAMT EQU $32 TOUCH AMOUNT 0 – 127
AGLIDE EQU $33 AUTOGLIDE INTERVAL 0 – 48 (IN SEMITONES)
XMODST EQU $35 XMDO & XMODE BITS 0 – 3
MCLCK EQU $36 MIDI SYNC DIVISOR 0 – 8[/code:2gsfma0n]stuff covered by ccs:
[code:2gsfma0n]GLIDE EQU $00 PRESET GLIDE TIME 0 – 127
LFO1R EQU $01 LFO 1 RATE 0 – 127
LFO1D EQU $02 LFO 1 DEPTH 0 – 127
LFO1WF EQU $04 LFO 1 WAVE FORM 0 – 5
LFO2R EQU $05 LFO 2 RATE 0 – 127
LFO2D EQU $06 LFO 2 DEPTH 0 – 127
LFO2WF EQU $08 LFO 2 WAVE FORM 0 – 5
FREQ1 EQU $09 OSC 1 FREQ 0 – 63 (IN SEMITONES)
FREQ2 EQU $0A OSC 2 COARSE FREQ 0 – 63 (IN SEMITONES)
FINE2 EQU $0B OSC 2 FINE 0 – 127 (+- 63 PSEUDO-CENTS)
PW1 EQU $0C OSC 1 PULSE WIDTH 0 – 127 (64 = SQUARE)
PW2 EQU $0D OSC 2 PULSE WIDTH 0 – 127
PSW EQU $0E OSC WAVE & SYNC BIT0=TRI1, BIT1=SAW1, BIT2=PULSE1 BIT3=TRI2, BIT4=SAW2, BIT5=PULSE2, BIT6=SYNC 2 TO 1. ALO (0) TURNS ON A WAVEFORM FOR THE SYNC FUNCTION.
MXX EQU $11 XMOD LEVEL 0 – 127
MXN EQU $12 NOISE MIX LEVEL 0 – 127
CTOFF EQU $13 FILTER CUTOFF 0 – 127 (IN SEMITONES)
RFS EQU $14 FILTER RESONANCE 0 – 127
FTRK EQU $15 FILTER TRACKING 0 – 127
ENV1 EQU $16 ENV 1 AMOUNT 0 – 127
ATK1 EQU $17 ENV 1 ATTACK 0 – 127
DK1 EQU $18 ENV 1 DECAY 0 – 127
SUS1 EQU $19 ENV 1 SUS 0 – 127
REL1 EQU $1A ENV 1 RELEASE 0 – 127
ATK2 EQU $1B “ 0 – 127
DK2 EQU $1C “ 0 – 127
SUS2 EQU $1D “ 0 – 127
REL2 EQU $1E “ 0 – 127
ATK3 EQU $1F “ 0 – 127
DK3 EQU $20 “ 0 – 127
SUS3 EQU $21 “ 0 – 127
REL3 EQU $22 “ 0 – 127
ENV3 EQU $23 ENV 3 AMOUNT 0 – 127
GLDST EQU $2C 1 = GLIDE ON 0 – 1
MODE2 EQU $34 OSC2 MODE 0 – 3
CSEL EQU $37 FILTER CART SELECT 0 – 3
8 CURRENTLY UNUSED BYTES[/code:2gsfma0n]and some extra stuff:
LSTPAR EQU $3F LAST PROG PARAMETER CURRENTLY UNUSED
NOTE: LAST BYTE OF PROGRAM IS NOT USED. EXCEPT
LAST BYTE OF PRO 510 IS GLOBAL VOLUME (0 – 127)
LAST BYTE OF PROG 511 IS MIDI CHANNEL
LAST BYTE OF PROG 512 IS MASTER TUNE (0 – 127)** STUDIO ELECTRONICS "ATC-1X" SYSEX INFO ** 2-18-08
THE ATC-1X CAN:
SEND A WHOLE BANK (128 PROGRAMS) – HOLD SAVE, HIT EXIT ( OR ON
REQUEST)SEND ONE PROGRAM ON REQUEST
RECEIVE A WHOLE BANK
RECEIVE ONE PROGRAM AT THE CURRENT BANK & PROG #
SEND THE EDIT BUFFER ON REQUEST
RECEIVE THE EDIT BUFFER
THE ATC-1X HOLDS 4 BANKS OF 128 PROGRAMS. PROGRAM DATA IS 7 BIT, 64 BYTES,SO
NO COMPRESSION OR NYBBLIZING IS NEEDED. BANK SELECT IS STANDARD, I.E. CNTR #0,
DATA 0, CNTR #20h, DATA 0 THRU 3 FOR THE 4 BANKS, THEN A PROGRAM CHANGE
MESSAGE TO SELECT A NEW PROGRAM.ATC-1 SYSEX HEADER:
BYTE 1 $F0
BYTE 2 00
BYTE 3 00
BYTE 4 77 STUDIO ELECTRONICS I.D.
BYTE 5 2 ATC-1 UNIT I.D.
BYTE 6 nn 127 = DUMP REQUEST, 0 WHEN SENDING PROGS TO ATC-1
BYTE 7 00 RESERVED
BYTE 8 00 RESERVED
BYTE 9 nn 0 = WHOLE BANK, 1 = 1 PROG AT CURRENT #, 2 = EDIT BUFFER
BYTE 10 nn MUST BE $F7 IF THIS IS A REQUEST, OTHERWISE THIS WILL BE
THE FIRST BYTE OF DATABYTE LAST MUST BE $F7
This is all the info I have, but Greg is pretty helpful, so I’m sure if you need any more info I can ask him.
If this all gets implemented then I’ll have no choice but to donate ” title=”Smile” />
thanks again
November 9, 2010 at 11:52 pm #1598i’ll get to that asap, my JooJoo arrived today so i’ll play with it a little but i’ll be back on ctrlr thursday the latest, tablets are fun ” title=”Smile” />
November 10, 2010 at 9:16 am #1599I was wondering about the first part of data like: LFO1A EQU $03 LFO 1 ASSIGN 0 – 11 what does that mean ?
does that mean that CC03 is LFO1 assign and can have values 0-11 or is it a pointer to memory program data (3rd byte?)and the second part says "Stuff covered by ccs" and the question is the same, how should i interpret the data ? i see those $XX values are HEX, are theese CC numbers ?
November 10, 2010 at 5:28 pm #1600"atom":3obbzdr6 wrote:I was wondering about the first part of data like: LFO1A EQU $03 LFO 1 ASSIGN 0 – 11 what does that mean ?
does that mean that CC03 is LFO1 assign and can have values 0-11 or is it a pointer to memory program data (3rd byte?)[/quote:3obbzdr6]sorry, it’s all a lot easier to read in the text doc i uploaded to mediafire. i didn’t see that you could upload files here. i’ve attached them to this post.
i don’t actually know anything about sysex stuff so i just copied the info i read from the photocopies.
as far as i can tell the format is like this:
LFO1A_EQU_$03_LFO 1 ASSIGN_0 – 11
1st part is the parameter name for the device
2nd part -"EQU" i have no idea, but that’s what’s written in the thing the SE guy sent me. (have a look at the photocopies)
3rd part "$0_" i think this is the sysex number
4th part is full description
and 5th part is the min and max valuesome of that is obvious, sorry.
"atom":3obbzdr6 wrote:and the second part says "Stuff covered by ccs" and the question is the same, how should i interpret the data ? i see those $XX values are HEX, are theese CC numbers ?[/quote:3obbzdr6]well this stuff is also sysex and formatted the same, as you can see, but most of it is covered by ccs already so I don’t know if it’s necessary to use sysex for those functions. as i said before i’m a noob when it comes to this stuff. is it usual for synths to have both sysex and ccs for the same function?
November 10, 2010 at 7:02 pm #1601Well like i thought this is actualy the program data format, all parameters packed into one big sysex message sent when you do a bulk dump on the device. This is not the sort of linear controllers that should be used, but even that can be implemented in ctrlr since this is exactly what i’m working on at the moment.
November 10, 2010 at 8:47 pm #1602so is this useful to you? is there a way to convert this info into the usual format?
November 10, 2010 at 11:31 pm #1603well yes and no, the program format is a stream of bytes like
[code:2sjal3md]
F0 01 02 03 0a 93 94 12 23 ..... F7
[/code:2sjal3md]
the first few bytes describe the message contents, and the rest is the program data, that you need to parse and read values for parameters, it’s a program all data packed into one big message.November 4, 2013 at 9:54 am #14727hi there
did you ever post your atc-1 ctrlr?
would ove to be able to use that
December 27, 2013 at 12:56 am #16998Hello,
I just discover ctrlr.org, it’s look good.
The “mediafire” link in this page for the ATC-1 is broken, does anybody could send it again ?
I try to make a new one, but i think it take a lot of time :/Thks
-
AuthorPosts
- The forum ‘Using Ctrlr’ is closed to new topics and replies.