Another example:
It sounds great!! However, I'm starting to think there may be something wrong with either my board (not unlikely) or the converted LCP17 SpeakJet application. The operation of the SpeakJet seems generally quite unstable.
I've noticed the following (some or all issues may be hardware of software errors, or just me misunderstanding how the application is supposed to work):
Sending notes to MIDI channel 5 produces no sounds
Channel 6:
doesn't respond to the Jaw Open and Tongue Position controllers (CC 40 and 41), and produces the same untuned white-noise-like sound for all keys. Oddly, the Speed parameter does seem to have an effect
Channel 7:
seems OK. I can control the Tongue Position and Jaw Open parameters from my MIDI controller. Am I right in thinking the Jaw Open parameter has only two possible values? I don't seem to be able to change Tongue position while an allophone is playing, which surprised me. I'm guessing changed values only effect the next triggered note. I guess the SpeakJet chip wasn't really designed for this kind of realtime tweaking.
Channel 8:
same as 6- untuned noise, responds only to Speed parameter
Channel 9:
as above
Channels 10:
seems to work OK. Responds to Stress and Speed parameters, though Stress (CC 43) values from controller don't seem to be 'held' ie when the parameter is adjusted from my controller, it's only the next note that's effected, any subsequent notes that are triggered revert to a default value unless the controller is tweaked again. Maybe this is expected behaviour? This isn't the case with Channel 1 (all sound codes), which works as expected, though it appears to be with Channel 2 (all allophones) and channel 3 (all SFX), so I'm assuming this is an error.
Channels 11 > 16:
I can trigger different oscillator sounds. They're very 'clicky'. This is probably expected. I haven't mapped the synth parameters on my controller yet, so maybe it's just the default settings that exhibit this behaviour. Also, the note mapping seems weird. Some adjacent notes have the same pitch, and the note-to-pitch mapping just seems generally weird. Is this because of the harmoniser/scaling used for the hand-tracker?
General issues:
pitchbend is glitchy, where implemented. Bending up sometimes was a delayed response, bending down works as expected for smaller bend values, but at extreme settings glitches out, giving a wobbly sound which seems to bear little relation to the phoneme being triggered, and occasional high-pitched pops, sustained noises and circuit-bent type glitches. Again, bending only seems to have an effect on the next note triggered, rather than the currently-playing sound, which is very counterintuitive. Also, it seems to lead to a situation where the pitchbend control is at its centre value, but the next note still plays at the wrong pitch.
I get a lot of stuck notes. This seems to happen when the note is released before the phoneme triggered has finished playing (though I'm not sure it happens in every case).
When initially plugged in, I get 'ready' twice, followed by 'goodbye', which isn't really a problem, but is a bit odd. Again, may be expected behaviour.
I have no way of knowing if any or all of these issues are present in the original PIC-based KII setup, unfortunately, or in Thorsten's LPC17 setup, which I've copied. It would be great to know, if TK and/or audiocommander could confirm on their setups. I don't mean to be super-critical. I'm really impressed with the project. There's a good chance, as I said, that a lot of the above result from me not really understanding how things are supposed to work, and other issues I've identified may simply be the inevitable result of the way the SpeakJet chip was designed. I've also only spent a few hours working with it so far, some I'll probably find workarounds for most of these things, anyway.
I'm considering making some kind of an interface for a future version of the SpeakJet application, with a screen and a couple of controls. I think I'd probably also rearrange things so that it just responded on a single MIDI channel, or perhaps 2 (one for allophones/sounds and one for pitch), and had a way of switching modes, rather than switching modes by changing MIDI channels. I've got to learn a bit of MIOS programming before I can do that though. This might be a good project to get my teeth into, especially since audiocommander's code seems to be quite clear and well-commented.
Cheers,
a|x
a|x