Right now I am thinking about some sound related projects to start learning to program the Pokitto.
At least two ideas are floating in my mind:
Sequencer for modular synthesizers
Looking at the GPIO head, I am wondering if it would be possible to use the Pokitto as a sequencer for analog modular gear. Basically one would have to send control voltages for the pitch of an analog oscillator and send a gate pulse of variable length to trigger an envelope. 3.3 Volts should be enough for a pitch range of three octaves in the Volt per octave system. But I am not so sure if 3.3 V would be enough to trigger an envelope generator. However, most modular systems feature one or more voltage controlled amplifiers.
Actually I am not sure if the Pokitto is capable of doing that, but it would be nice to learn a bit about the GPIO head. In addition, one would have to program a simple tracker interface for composing.
As far as I see the Pokitto features a 3 channel software synth provided by jonne and some PWM related sound output, but how about trying to implement FM synthesis? In its simplest form it consists of two sine oscillators, one is called the carrier and the other is the modulator. The frequency of the carrier is modulated by the modulator and by this way, complex timbres can be created. Modulating the ampltudes of the oscillators with envelopes allows for creating interesting evolving spectra.
So far I am leaning towards option two as I am interested in real time audio synthesis, but unfortunately know very little about hardware programming.
For now I am imagining a simple program that plays a sinewave that is either read from a wavetable or generated in real time by the Pokitto. These data are send to the DAC (headphone output). The frequency of the sine wave should be controllable via the buttons.
Of course one would have to keep in mind that later one would have to compute the modulated carrier signal (with envelopes and all) which is send through the DAC. It would also be nice if several of those two operator voices could be used in parallel later, possibly controlled by a tracker interface.
Any ideas for starting points?