User Tools

Site Tools


speakjet_application_software_v_0.1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

speakjet_application_software_v_0.1 [2007/04/17 14:21] (current)
Line 1: Line 1:
  
 +====== 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 ======
 +  * Full MSA and SCP Control via Midi!
 +  * Trigger Allophones and SoundFX by Notes
 +  * Trigger Allophones only by Notes
 +  * Trigger SoundFX only by Notes
 +  * Jaw/Tongue control: set position of jaw and tongue by CC, play pitched Allophone by Notes
 +  * Different Jaw/Tongue sets available: Vowels/​Consonants/​Pauses
 +  * Change the pitch of currently played Allophones by Notes 0..59
 +  * Play the 5 Oscillators by Notes, one OSC per Channel
 +  * Harmonic subtractive syntesis Multi-OSC playmode by Notes(!)
 +  * Control Waveforms (shapes) of harmonic synthesis Multi-OSC mode
 +  * Change Allophone Pitch by using the 14bit PitchBend-Wheel
 +  * Control Bend with CH_AFTERTOUCH
 +  * Control Speed by CC
 +  * Control Master Volume by CC
 +  * Send Pauses by CC
 +  * Send Next Slow/​High/​Low/​Fast by CC
 +  * Control OSC-Frquencies and Levels by CC
 +  * Control ENV-Frequency and Type by CC
 +  * Control Distortion (OSC 4 & 5) by CC
 +  * Fire Phrases by CC
 +  * Supports System Realtime Messages START, STOP, CONTINUE, RESET
 +  * Send PANIC by Foot & AllNotes/​SoundsOFF Messages
 +  * Custom assignable controls by editing the definition listing (IIC_SpeakJetMidiDefines.h)
 +
 +\\
 +**Sometimes it's more important to know what it can't do** (yet?): \\
 +  * AIN sensors to trigger & control natural speech (allophone) output <​sup>​**1)**</​sup>​
 +  * Multiple MBHP-IIC-Speakjet Modules (cascaded SpeakJets!) <​sup>​**2)**</​sup>​
 +  * Bankstick support to save patches <​sup>​**2)**</​sup>​
 +  * Phrase storage (use the [[http://​www.magnevation.com/​software.htm|Phrase-A-Lator]] from Magnevation via RS232!) <​sup>​**3)**</​sup>​
 +\\
 +<​sup>​**1)**</​sup>​ will be available with the next version\\
 +<​sup>​**2)**</​sup>​ would be nice, I'm thinking about it...\\
 +<​sup>​**3)**</​sup>​ don't wait for it (or help coding :) \\
 +
 +
 +
 +\\
 +\\
 +
 +===== Download ===== 
 +
 +  * [[http://​www.audiocommander.de/​downloads/​midibox/​kII_015.tgz|SpeakJet Application Software '​kII'​]] – // v 0.1.5 build 20061210 // (138 kb)\\
 +  * runs on the PIC18F Core to enable the full control of the SpeakJet Module by MIDI-Messages. The package contains the source, an X-Code 2.0 project, ACSim-Classes and precompiled .hex and .syx files.
 +  * Note that you will also need the PIC16F Firmware for the SpeakJet IIC Module! ​
 +  * Check out the audio-examples at the bottom of the [[Midibox SpeakJet]] page!
 +
 +
 +
 +\\
 +\\
 +
 +===== LCD-Values ===== 
 +
 +A 16x2 LCD is optional. You see following infos:
 +
 +{{http://​www.audiocommander.de/​picBrowser/​phpThumb.php?​src=galleries/​060600_kII_MIOS/​IMG_7714.jpg&​w=250&​h=166&​q=95&​f=.jpg?​250x166}}
 +
 +  * N: (Note) Base Note Listener. '​-'​ => inactive, '​*'​ => next note will get new base
 +  * H: (Harmony) Current Base Note, eg '​D#'​
 +  * V: (Value) Last Value (0..127)
 +  * J: (Jaw) Jaw Position, 0x0 opened, 0xB closed
 +  * T: (Tongue) Tongue Position, 0x0 front, 0x5 back
 +  * O: (OSC) Subtractive Synthesis Waveshape: SAW, TRIANGLE, SQUARE
 +  * E: (ENV) Envelope Waveshape: SINE, SAW, TRIANGLE, SQUARE
 +  * R: (REC) Record Buffer Mode (hidden feature)
 +
 +
 +\\
 +\\
 +===== 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:
 +  * [[SpeakJet Control Overview]] (SCP and MSA Control Overview)
 +  * [[SpeakJet Definition List]] (SCP and MSA Command #defines)
 +  * [[acmididefines|Midi Definition List]] incl. Note2Frequency definitions (see [[MIDI Specification]])
 +
 +
 +\\
speakjet_application_software_v_0.1.txt · Last modified: 2007/04/17 14:21 (external edit)