Available in DIP form, around $20. 8 x 32 bit cores running at 80 MIPS 80 MHz = 20 MIPs each (each instruction takes 4 clock cycles), 32 shared I/O pins, 512 words of RAM per core and shared space of 8kwords RAM + 8k ROM. High level OO language, free dev tools. VGA, composite and audio out. $200 dev kit or a DIY version being developed in the user forums.
I have been looking at the propeller for months. It really looks like a great chip to work on. I remember the dev kit being cheaper than 200.. I’ll have to check that.
One drawback is that there are no peripherals. A designer has to go back somewhat to the old bus days for things like analog input. Thankfully, the IO is so fast that with nothing more than a cap and possibly resistor, analog out can be bit banged.
So, for MB work, it would require:
1: an entirely new software package. Why? Propeller does not work quite like anything else on the market. The code that has been developed for MB would have to be broken up and recoded into modules for Propeller, and tested. So, yeah, thats a completely new software package essentially.
2: A minor hardware redesign to get around the fact that there is no analog in.
it was only a matter of time before parallel processors became available. a good use for it is for ai in robots (particularly if a neural net is used) and other cool stuff which need simultaneous independent processing. we’ll see how these things get used soon enough.
being that for the most part, all that has been available so far are sequential computing systems, that has been the direction of what has been done.
now if a parallel computing system will benefit synthesis and effects will depend on how we try to take advantage of it. we will have to think of way to utilise parallel and indepenent processing of the same input data.
i am not well studied in systhesis and effects at this time, but i am sure there would be situations where it would be preferrable for effects to be applied in parallel instead of sequentially to a sound source.
one situation might be if you wish to apply more than one sound patch to a midi noteon, at the moment midi dosen’t directly cater for this, what is done is to either copy the signal to another channel before sending to the synthesiser or using midithru to a second synth. this is a problem which organists (including myself) come across when introduced to midi, midi was not designed for multiple patches to a single noteon signal (what i described earlier are work arounds), while both electronic and pipe organs natively can handle multiple stops (patches) simulateneously. - actually the term stop was used to describe the mechanism to prevent certain pipes from sounding, otherwise all pipes associated with a note would sound.
but back to the subject … the main reason synth and effects applications are not readily thought of for parallel processing is that we have always used, designed and thought of sequential processing of a signal. parallel processing may cause a revolution or it may have no effect at all, it depends on if we can use it for what we want.
I could see this turning into the next digital synth if all of the lines can be multiplexed. One CPU for midi, one for sequencer, one for A/D (for older modules) etc, etc, and of course, ETC…
Yes, all of the analog would need to be developed, but the chips and tools are available. Since this thing seems to be a speed demon, I would think many functions could be incorporated into a box that would make amazing sounds.
This is not to say it would be a MidiBox ala TK. I am sure we will see something for us musician/geeks in the next couple of years based on this architecture.
i am not well studied in systhesis and effects at this time, but i am sure there would be situations where it would be preferrable for effects to be applied in parallel instead of sequentially to a sound source.
My Digitech Quad 4 can do this. Some of the I/O maps can route one input to two or more effects in parallel. It only uses one DSP though, so it creates virtual independant FX units by timeslicing (I assume)
It’s a rocking mutiFX btw
I haven’t so far been able to track down specs for the I/O pins on the Propeller. If they’re fast enough, independant A/D/As could be multiplexed on one pin. There’s 32 pins though, so there’s probably enough to be getting along with. Dedicating 8, 12 or 16 to a resistor ladder would be a cheap way of getting audio in and out for a proof-of-concept. 16 for in and 16 for out, for example. Or you could write a software S/PDIF engine and use an external pro ADA or soundcard.
I was imagining something like running independant DSP algorhythms on each core and passing results digitally between them.
Ahem. I made a booboo (corrected above). That should have said 80 MHz, not 80 MIPs. Each instruction takes four clock cycles, so it’s only 20 MIPs per core. And as I read it, for most apps you need to dedicate one core as a task master. according to a forum reply, the task master is onboard but separate to the 8 cores (“COGs”)
Still, $20…
I’m off to search their forums for the words “DSP” and “audio”
Propeller is more than capable of audio and video work. IF you get the demo board, it comes with audio and video out jacks, and can process multiple sprite movements. In fact, someone is in the process of finalising an ‘8-bit’ style game system on chip. The I/O is fast enough to bit bang a composit video signal in parallel with two audio channels, as well as read in button presses.
As to the cog/process style.. certainly you would want to push each cog to its limits before pushing a process onto another cog. For instance, one cog is capable of handling all MIDI I/O signaling, as well as the occasional serial port message (put the LCD and user buttons on a serial terminal?), not just midi in or just midi out.
The idea is not to break down the whole system into a bunch of little one task processes and use up all the cogs before anything usefull gets done… more like break the whole system down into SUB-systems.. ALL MIDI I/O on cog 1, button Scan input and led output on cog 2, Analog input scanning on cog 3, Everything for the LCD/user interface and Bank stick on cog 4.. etc
Consider that MOST of the process work done by current pic could be squeezed into one or two cogs by pushing them to the limits.
Yes it IS a really big job, but Spin actually looks pretty easy to learn. If someone where to build up a complete MIDI I/O object to run one cog, there is LOADS of room for people to make a device as they want it. For instance, a button press scan matrix wouldnt be hard to program, using the existing button boards. Nor would the LED output code be terribly difficult. Also, once a suitable ADC is wedged between the Prop and the existing analog boards, we have what looks like a Midibox.
The real hard code (as I see it) is a: the midi library (it will come with time for certain) and B: (the big one) all the processing TK has put into adding FEATURES to MB. The real intelligence in the MB is all the fancy stuff you can do with it because of morphing the inputs and outputs into usefull MIDI data.
I think the intelligence in the MIOS platform is more about the modular nature of the code, the extensible design practices, and in particular the many small optimisations which come about through TK’s many years of experience with midi, coding in general, and this particular platform - these are most important because timing in MIDI is all-important… Nobody has that kind of experience with the Prop’ and it will take a lot of time to make it come close to the MIOS we have now… It could be very cool though, I wish it had been around when I started my seq project, it really would be perfect for my design… But I’ve read enough of TK’s code to know that I couldn’t do what he does…
Oh Lord, I couldn’t imagine trying to replicate or port MIOS to this chip. I was imagining it more as a platform for building DSP devices that could be controlled from a MIOS core. But yes, one day perhaps MIOS will stretch its wings beyond its home planet and colonise other galaxies. Er, I mean, get ported to other µcs.
yeah if someone had some real heavy processing work to be done via midi control, it would be pretty sweet. Like perhaps model a SID inside the Prop? Or perhaps some sort of MP3 playback with scratching capacity.. someone surely will come up with a damn good idea. I would imagine that if not already, then soon someone will have a MIDI object written for the Prop anyway.
I remembered the other day that my Digitech Quad i mentioned above has a single DSP running at 21 MIPs, and out of that it gets 4 effects, some of which can be dual effects (ie delay+reverb), 7 MIDI CCs per effect, and dynamic response on all four analog inputs. So *8* COGs running at 20 MIPs should be capable of some funky shit, even if they’re not dedicated DSPs.