This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
speakjet_control_overview [2006/10/15 09:35] 127.0.0.1 (old revision restored) |
speakjet_control_overview [2006/12/05 14:03] audiocommander Removed progress-note, document is up-to-date. |
||
---|---|---|---|
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!// |