The past few months have been very busy for us: concept development and first test implementations, building our own software libraries, meeting with potential partners, interviewing applicants, and so on. Probably the most satisfying (and visible) results consist of the development prototypes that we have put together. We are already able to play some sounds on the keyboard of the first prototype.
Two Functions, Two “Brains”
We still have ways to go, but have already progressed enough to give an idea of the internal structure of our first synth. Our goal has been unwavering: to create a highly musical digital synthesizer focused on live performance.
The approach for this is to separate the synthesizer into two completely distinct parts: the control processor and the audio engine. Our TCD (Time Curve Destination) protocol contains all of the control and modulation information of every relevant parameter and is generated by a small but powerful microcontroller based on the 32-bit ARM Cortex-M3 architecture.
The audio engine resides in an embedded PC and does nothing but generate audio. In other words, there are no envelope generators, LFOs, step sequencers, or other control sources within the audio engine. All performance-oriented information ("control" aspects) are handled by the ARM-processor.
Connecting the TCD Controller with the Audio Engine
With our dual approach, it is clear that the communication between the control processor and the audio engine is extremely important. Unlike the thirty year-old MIDI protocol, this must be a fast, wide-bandwidth, and a high-resolution protocol. The actual transmission of the control signals is in this case internal - the musician does not have to give any thought to this because it is all carried out within the synth, between the two processors. However, the TCD protocol opens up many possibilities for new products and external connections.
For the transport of the TCD messages, we have the choice between USB and Ethernet. Choosing Ethernet would involve further choices: we could go for the OSC standard, or we could license a proprietary solution like CopperLan.
Since the ARM microcontrollers come with integrated interfaces for high-speed USB, this provides a high-performance and cost-efficient solution. And here even MIDI would come back into the game. We found a way to tunnel our TCD protocol through USB-MIDI by "abusing" MIDI messages to encode the high-resolution TCD control data. The first tests look really promising.
Over the coming weeks, we'll be reporting on our findings and the decisions we make as we move forward. Meanwhile, we would like to hear from you if you have any questions or comments. See our contact page to find out how to keep informed or to get in touch.