Chameleon comments (was Re: [sdiy] Monowave II)

Paul Maddox P.Maddox at signal.qinetiq.com
Thu Apr 3 12:04:43 CEST 2003


Craig,

> So, all I've heard about the Chameleon is the odd announcement they post
to
> this list or music-dsp... I've never heard anybody discuss it from a DIY
> point of view.

Im not suprised its still quite a new area of DIY..

> Can you give a quick review of the hardware and development
> process?  I've had a little exposure to DSP programming in the form of
eval
> boards, so I've been occasionally curious about this thing.  Thanks,

Can do, its a bit long though, sorry..

Hardware
----------

A small 1U rack, two line by 16 character display, 12 buttons, 1 rotary
encoder and 3 'pots'.
It doesnt look much, but you can do a lot with it.
One thing that is not obviously apparant is that the user interface, despite
being small and almost 'knobless' is very easy to navigate.
To edit a patch, you hit 'edit'
Pushing 'group' up or down takes you through the pages, in the case of the
Monowave II, Oscillators, LFO, Mixer, VCF, ADSR, VCA, Effects.
pressing the 'page' button changes the page within that group, for example
in the Monowave II pressing page in the oscillator section takes you from
OSC1, to OSc2 and to OSC3, pressing the param button atkes you from
waveform, to pitch, to detune.

The rotary encoder is superb becuase its scaled, so if you turn it fast it
does bigger jumps than if you turn it slowly.. This means to go from value 0
to 100 on a parameter doesnt take forever!
You have three knobs which you can assign to what you want, in the case of
australis, you can decide that you might want filter cutoff, resonance and
perhaps decay rate.

Another thing that is worth pointing out, is that although the buttons and
knobs are marked (for example volume) when programming the Chameleon you can
use this for anything you want. The entire front panel is assignable under
the software.

Two audio outs and two audio ins on the back mean you can use it for
processing as well as sound generation.

Midi interface is simple, Midi IN, and midi OUT/Thru, it would've been nice
to have seperate sockets for both, but its not essential, most of the time
the MIDI interface is used as MIDI OUT.

The brushed aluminium panel looks nice and is very clearly laid out, without
being cluttered or a garish color to look at whilst programming.

under the hood are a Coldfire CPU handling the front panel and MIDI duties
and a Motorola 56303 DSP running at 100Mhz handling the DSP part... If you
look inside just about any VA synth you'll find these two chips or variants
of them, this means you're working with an industry standard..
The inputs and outputs are all 24bit 48Khz so they're clean and very nice
sounding.

Software
---------

There are currently 4 complet apps you can download from the Soundart site;
Australis ;- a very nice sounding polysynth
Reborn ;- a clone of the 808 + 909 and TWO tb303's
Amp-o-matic ;- an amp simulator
Chormatic ;- a multi effects unit
Also available is the FX designer a 6 stage delay line with some awesome
routing options.

All of these you can send to the chameleon as Midi syex files, meaning if
you're short on space in your studio you can have a synth, record it to your
multitrack, PC, whatever, then turn it into reborn and add the drums, then
turn it into the effects unit for processing the tune you've just recorded..
a truly superb concept and worthy of the name 'Chameleon'

Where it really gets interesting is the fact that you can program it.
Installing the SDK is easy, just follow the onscreen instructions. Updating
the SDK is just as simple, unzip the update and you're done.
You also get a debug application, this connect your PC to the chameleon via
a serial port.
Using this you can download applications without needing to fireup your midi
sequencer. If you're in debug mode (rather than release mode) the debug app
window will show events from the chameleon, you can send specific events in
your code so you can see what is (or is not) working. There is also a DSP
emulator application so you can check your code does what it shoudl before
uploading t.

The compiles handles both parts of the chameleon, DSP and CPU, the compiler
will compile C, C++ and the Aseembly language, just hit the compile button,
it generates a file (.elf), you then load this into your debug window and
download it into the chameleon, it couldn't be simpler.
Now if you're worried about writing Midi handlers and panel handlers you
dont need to. The Chameleon runs a background OS called RTEMs, this handles
MIDI and All the panel.

For example to send a message to the LCD, just do  ;-
panel_out_lcd_print(panel, 1, 0, text);

to read a value from the pot just do ;-
panel_in_potentiometer(panel, &potentiometer, &value)

>From the encoder ;-
panel_in_encoder(panel, &encoder, &increment)
from the switchs;-
sprintf(text, "Keypad  %08X", key_bits);

to get a byte from the incomming midi stream you use the function;-
MidiStreamGetByte()

I mentioned previously about sending debug messages, again cimplicity itself
;-
TRACE("this message goes to the debugger. \n");

Also RTEMS is a multitasking operating system.
in one of the example programs supplied you can turn the knobs and push the
buttons and see the values on the LCD (and debug interface) whilst in the
background the LEDs on the panel cycle round. ok, not a usefull aplication
as such, but it does demonstrate the multitasking quite well.

Also all the communications to and from the DSP to the main CPU are handled
and have a whole bunch of functions ready created, again one less thing you
have to worry about.

What this means is that you dont have to worry about the low-level stuff
like MIDI handlers/stacks/DSP interfacing/panel handling and you can focus
on getting your app in quickly and easily.
There are a whole pile of datasheets and PDFs that copme on the CDROM
supplied, including the motorola 563nn family userguide.

The Monowave II example on my webpage took me about 2 months of spare time
to write. you can download this as a MIDI sysex file ready for sending to
the Chameleon and have a play.

I know nothing about DSP, and Im still a novice, but Im learning fast.
On this note I would like to say that the sound art team are VERY helpful
and supportive. I have asked what must seem like the most inane of questions
and they have always replied quickly, politely and helpfully, I can fault
the support!
They also run a Bulletin board for users and developers
http://www.soundart-hot.com/cgi-bin/ikonboard.cgi
I asked a lot of questions before buying the Chameleon as I've always been
an avid hater of DSP/VA synths,
Again , I always had polite, prompt and helpful responses.
Now I realise the reason for this is that the ones I have heard and played
with havn't been well written.. I now have a chance to put this right..

As a synth nut and someone who is keen on experimenting with new synthesis
methods I have to say at this point the Chameleon has some major advatnages
over hardware development, for one thing I dont have to build a whole new
pile of PCBs/Hardware each time I want to try something new, also it takes
up very little space (1U).

The downsides are that many people will dislike the user-interface, for me
this isnt a problem as you can easily build a midi knob box (or buy one)
that will send Midi CCs and make sure that your new killer synth app
responds to them.
The other downside is that , at the moment anyway, the DSP code is a little
daunting to get my head around, not becuase of the maths, but because of
things like pipelining and the fact that you can perform a command at the
same time as doing upto 3 simultaneous memory copies. This makes the DSP
very very fast, but also makes reading the code a lot harder work.

After all is said and done, I have to say, I am very very pleased with my
chameleon, given a little more spare money I would buy a second one, keep
one for programming/developing and one for use in my studio.
I know this sounds like an advert, its not intended to, I just love the
Chameleon and think its a superb concept. I dont get money from soundart but
I whole-heartedly support them and wish them every success with the
chameleon.

If anyone has anymore questions please feel free ask me.

Paul
---------------------------------------------------------------
Modulus Synth page ;-
   Http://www.Modulus.synth.net/
PPG webpages
   Http://www.PPG.synth.net/








More information about the Synth-diy mailing list