Table of Contents

The SpeakJet Control Application Software v.0.1

You should have come here from the Midibox SpeakJet Project. On this page you'll find descriptions of the Application Software kII for the Core Module, that controls the MBHP-IIC-SpeakJet-Module.

The SJ Control Application Software provides full access to all SJ-Functions via MIDI!

kII is a MIDI control application for the MBHP_SpeakJet Module. By connecting a Core equipped with this program to the SpeakJet Module via IIC you can control nearly all functions of the SpeakJet Chip by Midi-Messages.

kII stands for “Kempelen Two”, Baron Wolfang von Kempelen has been a hungarian inventor and creator of famous automats. Whereas his most famous creatin has been the “Turkish Chessplayer” (which was a late-revealed fake with a chess-player sitting inside), he also invented one of the first talking machines ever. Baron Kempelen lived from 1734 to 1804.

If you are improving the application, please send me an email or PM me in the forum, so I can update the project! –audiocommander



Features


Sometimes it's more important to know what it can't do (yet?):


1) will be available with the next version
2) would be nice, I'm thinking about it…
3) don't wait for it (or help coding :)



Download



LCD-Values

A 16×2 LCD is optional. You see following infos:

www.audiocommander.de_picbrowser_phpthumb.php_src_galleries_060600_kii_mios_img_7714.jpg_w_250_h_166_q_95_f_.jpg



MIDI-Implementation-Chart

Function #define default assingment Channel Mode Description
== NOTES ==
Voice
Soundcodes SJCH_SOUNDCODES CH 1 Omni Play all available Sounds
Allophones SJCH_ALLOPHONES CH 2 Omni Play all available Vocal Allophones
Sound-FX SJCH_FX CH 3 Omni Play all available Sound-FX
Pitch SJCH_PITCH CH 4 Omni Change the pitch of current Sounds; if nothing is triggered, you can't hear anything!
Vowels SJCH_VOWELS CH 5 Omni Trigger Pitched Allophone; Jaw- and Tongue-Controls are needed to change the vowel
Consonants SJCH_CONSONANTS CH 6 Omni Trigger Pitched Consonants; Jaw- and Tongue-Controls are needed to change the consonant
Vowels/Cons SJCH_VOWELS_CONSONANTS CH 7 Omni Trigger Pitched Allophones; Jaw- and Tongue-Controls are needed to change the consonant
Vowels w. Pauses SJCH_VOWL_PAUS CH 8 Omni Trigger Pitched Vowels with Pauses; Jaw- and Tongue-Controls are needed to change the consonant
Vowels/Cons w. Pauses SJCH_VOWL_CONS_PAUS CH 9 Omni Trigger Pitched Vowels & Consonants with Pauses; Jaw- and Tongue-Controls are needed to change the consonant
Vocal Percussion SJCH_PERCUSSIVE CH 10 Omni Trigger percussive sounds only
Synth
OSC1 SJCH_OSC1 CH 11 Poly Play OSC 1
OSC2 SJCH_OSC2 CH 12 Poly Play OSC 2
OSC3 SJCH_OSC3 CH 13 Poly Play OSC 3
OSC4 SJCH_OSC4 CH 14 Poly Play OSC 4
OSC5 SJCH_OSC5 CH 15 Poly Play OSC 5
Synth SJCH_OSC_Omni CH 16 Omni Subtractive Soundsynthesis with all 5 OSCs (Single Voice only). Apply different waveforms for both synth & envelope and add distortion for soundmodelling!
== CONTROL CHANGE (Sliders) ==
Voice
Phrases SJCC_PHRASE CC 9 Omni Fire SpeakJet Phrase
Jaw Open SJCC_MOUTH_JAW CC 40 Omni Open Jaw, eg: closed 'u', opened 'a'
Tongue Position  SJCC_MOUTH_TONGUE  CC 41 Omni Position Tongue, eg: front 'th', back 'err'
Stress SJCC_MOUTH_STRESS  CC 43 Omni Bend Voice from high env to low env (pitch independent)
Speed SJCC_MOUTH_SPEED CC 44 Omni Speed up or slow down allophone lengths
Pauses SJCC_MOUTH_PAUSES CC 45 Omni Inserts Pauses from 0 to 640 ms (0..127)
Volume  SJCC_MASTER_VOL CC 108 Omni Set Main Volume
Synth
OSCx Freqency SJCC_OSCx_FREQ CC 101..105 Poly Set Frequency of OSC 1 to 5
OSCx Level SJCC_OSCx_LVL CC 111..115 Poly Set Volume of OSC 1 to 5
Envelope Frequency SJCC_ENV_FREQ CC 106 Omni Set Envelope's frequency
Envelopy Waveform  SJCC_ENV_TYPE CC 116 Omni Set Waveshape of ENV: Saw, Sine, Triangle, Square
Distortion SJCC_DISTORTION CC 118 Omni Set Distortion Amount (0..127)
Harmonizer
Base Note SJCC_HARMONY_BASE CC 39 Omni Set base note (0..127)
== CONTROL CHANGE (Buttons) ==
Voice
Phrases 0..3 SJCC_PHRASEx CC 29..32 Omni  Fire SpeakJet Phrases 0 to 3
Pauses 0..6 SJCC_PAUSEx CC 21..24 Omni Fire Pauses; currently implemented: 1,2,3,5
Slower SJCC_NEXT_SLOW CC 25 Omni Play next Allophone slower
Lower SJCC_NEXT_LOW CC 26 Omni Play next Allophone lower
Higher SJCC_NEXT_HIGH CC 27 Omni  Play next Allophone higher
Faster SJCC_NEXT_FAST CC 28 Omni Play next Allophone faster
Synth
Synth Waveshape SJCC_OSC_WAVESHAPE CC 50 Omni Toggle Synth Waveshape: Saw, Triangle, Square
Envelope Waveshape SJCC_ENV_WAVESHAPE CC 51 Omni Toggle Env Waveshape: Saw, Triangle, Square, Sine
Harmonizer
Base Note SJCC_HARMONY_LISTEN CC 37 Omni Toggle on to set new base note by next incoming note
Scale SJCC_HARMONY_SCALE CC 38 Omni Next Scale; 0=none, 1=major, 2=minor
== PITCH WHEEL ==
Voice
Pitch SJCC_PITCH - Omni Changes the Pitch of Soundcodes
== POLY AFTERTOUCH ==
Voice
Bend MIDI_POLY_AFTER - Omni Changes the Bending of Soundcodes
Bend MIDI_CH_AFTER - Omni Changes the Bending of Soundcodes
== SYSTEM REALTIME MESSAGES ==
START, CONTINUE MIDI_START, MIDI_CONTINUE - - Start Enunciating
STOP MIDI_STOP - - Pause Enunciating
RESET MIDI_RESET - - Hardware-Reset (similar to switching power off/on)



Tools & Helpers

If you're a developer and are working on your own implementations, you will find these sources useful: