This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Last revision Both sides next revision | ||
speakjet_control_overview [2006/06/11 15:38] audiocommander |
speakjet_control_overview [2006/10/15 09:35] 127.0.0.1 (old revision restored) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | \\ | ||
+ | :!: **THIS DOCUMENT IS CURRENTLY UNDER CONSTRUCTION** :!: | ||
+ | \\ | ||
+ | \\ | ||
+ | Because the information in the SpeakJet Manual is relatively wide spreaded, this page gives a quick overview of the control possibilities of the Speakjet: | ||
+ | |||
+ | \\ | ||
+ | ====== MSA (Mathmatical Sound Architecture) ====== | ||
+ | MSA commands are stored in the 64-Byte input buffer and are executed in the order they are received. | ||
+ | |||
+ | ===== MSA Controls ===== | ||
+ | An 'X' indicates that a second number should follow as parameter. | ||
+ | |||
+ | ==== Pause Control ==== | ||
+ | 000: Pause 0 ms\\ | ||
+ | 001: Pause 100 ms\\ | ||
+ | 002: Pause 200 ms\\ | ||
+ | 003: Pause 700 ms\\ | ||
+ | |||
+ | 004: Pause 30 ms\\ | ||
+ | 005: Pause 60 ms\\ | ||
+ | 006: Pause 90 ms\\ | ||
+ | |||
+ | 016: Wait // Watch out! Waits for event input line or SCP-Start command!//\\ | ||
+ | 030: Delay, X // number of 10 ms intervals to delay before continuing on to the next code, accepts 0-255//\\ | ||
+ | |||
+ | ==== Next Sound Control ==== | ||
+ | 007: Play next sound fast\\ | ||
+ | 008: Play next sound slow\\ | ||
+ | |||
+ | 014: Play next sound high\\ | ||
+ | 015: Play next sound low\\ | ||
+ | |||
+ | ==== Volume/Pitch/Speed/Bend Control ==== | ||
+ | 020: Volume, X // sets Master Volume Level, accepts 0-127//\\ | ||
+ | 021: Speed, X // Play Speed, default 114, accepts 0-127//\\ | ||
+ | 022: Pitch, X // Pitch in Hertz, only for voiced sounds, default 88, accepts 0-255 (=32kHz..240kHz)//\\ | ||
+ | 023: Bend, X // Sets the Frequency Band (from deep hollow to high metallic), default 5, accepts 0-15//\\ | ||
+ | |||
+ | ==== Port Control ==== | ||
+ | 024: PortCtr, X // binaurally encoded output line control, see manual for details, default 7, accepts 0-7//\\ | ||
+ | 025: Port, X // port output value, see manual for details, default 0, accepts 0-7//\\ | ||
+ | |||
+ | ==== Phrase Control ==== | ||
+ | 026: Repeat, X // repeats the next code x-times, accepts 0-255//\\ | ||
+ | 028: Call Phrase, X // which EEPROM phrase to play, max 3 level deep nesting//\\ | ||
+ | 029: Goto Phrase, X // which EEPROM phrase to play//\\ | ||
+ | 255: End of Phrase | ||
+ | |||
+ | ==== Reset ==== | ||
+ | 031: Reset Defaults | ||
+ | |||
+ | \\ | ||
+ | ===== MSA Sound Codes ===== | ||
+ | 128..254: MSA Sound Phrases and Effects, see [[SpeakJet Definition List]]. | ||
+ | |||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | ====== SCP (Serial Control Protocol) ====== | ||
+ | SCP commands are executed immediately and provide control over the 5-channel synthesizer as well as accessing the internal speakjet EEPROM. | ||
+ | |||
+ | \\ | ||
+ | ===== Entering SCP ===== | ||
+ | '\0' to enter SCP | ||
+ | |||
+ | ==== SCP Commands ==== | ||
+ | 'H': Store Memory Type //accepts 0 and 32//\\ | ||
+ | * '0H': Write a register's value\\ | ||
+ | * '32H': Write to the internal EEPROM\\ | ||
+ | 'J': Memory Address\\ | ||
+ | * '0J': Envelope Freq\\ | ||
+ | * '1J': OSC1 Freq .. '5J': OSC5 Freq\\ | ||
+ | * '6J': Distortion\\ | ||
+ | * '7J': Master Volume\\ | ||
+ | * '8J': Envelope Control\\ | ||
+ | * '11J': OSC1 Vol .. '15J': OSC5 Vol\\ | ||
+ | 'N': Store Memory\\ | ||
+ | 'R': Clear Buffer\\ | ||
+ | 'S': Stop Enounciating\\ | ||
+ | 'T': Start Enounciating\\ | ||
+ | 'V': ACK\\ | ||
+ | 'W': Hard Reset\\ | ||
+ | |||
+ | \\ | ||
+ | ===== Exiting SCP ===== | ||
+ | 'X' or '\A'\\ | ||
+ | |||
+ | \\ | ||
+ | ===== Examples ===== | ||
+ | |||
+ | \0 V X*\\ | ||
+ | //Enters SCP-Mode, enounciates READY and exits SCP-mode// | ||
+ | |||
+ | 8J 0N 1J 500N 11J 16N*\\ | ||
+ | //1st OSC freq 500 and vol 16// | ||
+ | |||
+ | 0J 32H 01N*\\ | ||
+ | //write 0x1 to the first location of internal EEPROM// | ||
+ | |||
+ | 8J 00N*\\ | ||
+ | //set env-type to SAW// | ||
+ | |||
+ | 8J 10N*\\ | ||
+ | //set env-type to TRIANGLE// | ||
+ | |||
+ | //* Don't send spaces, this is just for readability!// |