User Tools

Site Tools


speakjet_definition_list

SCP and MSA #defines for the SpeakJet


/*
 *  IIC_SpeakJetDefines.h
 *  kII.2
 *
 *  Created by Michael Markert, audiocommander.de on 20.05.06
 *  Based on Speakjet control codes from July 27, 2004 version of Speakjet Manual
 *   and ASM-Version of Doug Elliott, VA3DAE
 *
 *  Copyright 2006 Michael Markert, http://www.audiocommander.de
 *
 */
 
/*
 * Released under GNU General Public License
 * http://www.gnu.org/licenses/gpl.html
 * 
 * This program is free software; you can redistribute it and/or modify it under the terms
 * of the GNU General Public License as published by the Free Software Foundation
 *
 * YOU ARE ALLOWED TO COPY AND CHANGE 
 * BUT YOU MUST RELEASE THE SOURCE TOO (UNDER GNU GPL) IF YOU RELEASE YOUR PRODUCT 
 * YOU ARE NOT ALLOWED NOT USE IT WITHIN PROPRIETARY CLOSED-SOURCE PROJECTS
 */
 
 
#ifndef _IIC_SPEAKJETDEFINES_H
#define _IIC_SPEAKJETDEFINES_H
 
 
 
// ********* SPEAKJET SCP ************* //
// Serial Control Protocol
#ifdef _DEBUG_C
	#pragma mark -
	#pragma mark SCP
#endif
 
// escape character ('\\')	0x5C to enter SCP Mode
#define SCP_ESCAPE				'\\'
#define SCP_SEL0				'0'
#define SCP_SEL1				'1'
#define SCP_SEL2				'2'
#define SCP_SEL3				'3'
#define SCP_SEL4				'4'
#define SCP_SEL5				'5'
#define SCP_SEL6				'6'
#define SCP_SEL7				'7'
#define SCP_EXIT				'X'
 
#define SCP_READY				'V'
#define SCP_CLEAR_BUFFER		'R'
#define SCP_START				'T'
#define SCP_STOP				'S'
 
#define SCP_MEMTYPE				'H'
#define SCP_MEMADDR				'J'
#define SCP_MEMWRT				'N'
 
#define SCP_RESET				'W'
 
 
// ********* SPEAKJET SCP REGISTERS **** //
// SCP Registers & MAX Values
#ifdef _DEBUG_C
	#pragma mark -
	#pragma mark SCP REGISTERS & MAX VALUES
#endif
 
// == SCP_MEMTYPE (H) ==
#define SCP_MEMTYPE_REGISTER	'0'
#define SCP_MEMTYPE_EEPROM_H	'3'
#define SCP_MEMTYPE_EEPROM_L	'2'
 
// == SCP_MEMADDR (J) ==
// Envelope
#define SCP_ENV_FREQ			'0'
#define SCP_ENV_CTRL			'8'
// Oscillator Frequency Register (not used, calculated)
#define SCP_OSC1_FREQ			'1'
#define SCP_OSC2_FREQ			'2'
#define SCP_OSC3_FREQ			'3'
#define SCP_OSC4_FREQ			'4'
#define SCP_OSC5_FREQ			'5'
// Oscillator Level Register (not used, calculated)
#define SCP_OSC1_LEVEL			11
#define SCP_OSC2_LEVEL			12
#define SCP_OSC3_LEVEL			13
#define SCP_OSC4_LEVEL			14
#define SCP_OSC5_LEVEL			15
// Distortion
#define SCP_DISTORTION			'6'
// Master
#define SCP_MASTER_VOLUME		'7'
 
// == SCP_MEMWRT (N) ==
//	ENVType (send ENVType + ENVState!)
#define SCP_ENV_SAW				'2'
#define SCP_ENV_SINE			'3'
#define SCP_ENV_TRIANGLE		'4'
#define SCP_ENV_SQUARE			'5'
//	ENVState (send ENVType + ENVState!)
#define SCP_ENV_OSC123			0x40
#define SCP_ENV_OSC45			0x80
//  Default values
#define SCP_FREQ_DEFAULT		440
#define SCP_LEVEL_DEFAULT		20	// 63 MAX for Mixer 1: OSC 1, 2 & 3
//  Maximum accepted values
#define SCP_FREQ_MAX			3999
#define SCP_LEVEL_MAX			31
#define SCP_DISTORTION_MAX		255
#define SCP_MASTER_VOLUME_MAX	255
 
 
 
 
 
 
 
 
 
// ********* SPEAKJET MSA ************* //
// Mathmatical Sound Architecture
#ifdef _DEBUG_C
	#pragma mark -
	#pragma mark MSA Control Codes
#endif
 
 
// 0 - 31 CONTROL CODES
#define MSA_PAUSE0			0		// 0ms
#define MSA_PAUSE1			1		// 100ms
#define MSA_PAUSE2			2		// 200ms
#define MSA_PAUSE3			3		// 700ms
#define MSA_PAUSE4			4		// 30ms
#define MSA_PAUSE5			5		// 60ms
#define MSA_PAUSE6			6		// 90ms
 
#define MSA_NEXTFAST		7
#define MSA_NEXTSLOW		8
#define MSA_NEXTHIGH		14
#define MSA_NEXTLOW			15
 
#define MSA_WAIT			16
 
#define MSA_VOLUME			20
#define MSA_SPEED			21
#define MSA_PITCH			22
#define MSA_BEND			23
 
#define MSA_PORTCTR			24
#define MSA_PORT			25
 
#define MSA_REPEAT			26
 
#define MSA_CALLPHRASE		28
#define MSA_GOTOPHRASE		29
 
#define MSA_DELAY			30
#define MSA_RESET			31
 
// 32 - 127 (Reserved)
#ifdef _DEBUG_C
	#pragma mark MSA (Reserved)
#endif
 
// 128 - 254 SOUNDCODES
#ifdef _DEBUG_C
	#pragma mark MSA Sound Codes
#endif
 
// MSA Sound Codes: Phonemes
#define MSAPH_IY			128
#define MSAPH_IH			129
#define MSAPH_EY			130
#define MSAPH_EH			131
#define MSAPH_AY			132
#define MSAPH_AX			133
#define MSAPH_UX			134
#define MSAPH_OH			135
#define MSAPH_AW			136
#define MSAPH_OW			137
#define MSAPH_UH			138
#define MSAPH_UW			139
#define MSAPH_MM			140
#define MSAPH_NE			141
#define MSAPH_NO			142
#define MSAPH_NGE			143
#define MSAPH_NGO			144
#define MSAPH_LE			145
#define MSAPH_LO			146
#define MSAPH_WW			147
#define MSAPH_RR			148
#define MSAPH_IYRR			149
#define MSAPH_EYRR			150
#define MSAPH_AXRR			151
#define MSAPH_AWRR			152
#define MSAPH_OWRR			153
#define MSAPH_EYIY			154
#define MSAPH_OHIY			155
#define MSAPH_OWIY			156
#define MSAPH_OHIH			157
#define MSAPH_IYEH			158
#define MSAPH_EHLL			159
#define MSAPH_IYUW			160
#define MSAPH_AXUW			161
#define MSAPH_IHWW			162
#define MSAPH_AYWW			163
#define MSAPH_OWWW			164
#define MSAPH_JH			165
#define MSAPH_VV			166
#define MSAPH_ZZ			167
#define MSAPH_ZH			168
#define MSAPH_DH			169
#define MSAPH_BE			170
#define MSAPH_BO			171
#define MSAPH_EB			172
#define MSAPH_OB			173
#define MSAPH_DE			174
#define MSAPH_DO			175
#define MSAPH_ED			176
#define MSAPH_OD			177
#define MSAPH_GE			178
#define MSAPH_GO			179
#define MSAPH_EG			180
#define MSAPH_OG			181
#define MSAPH_CH			182
#define MSAPH_HE			183
#define MSAPH_HO			184
#define MSAPH_WH			185
#define MSAPH_FF			186
#define MSAPH_SE			187
#define MSAPH_SO			188
#define MSAPH_SH			189
#define MSAPH_TH			190
#define MSAPH_TT			191
#define MSAPH_TU			192
#define MSAPH_TS			193
#define MSAPH_KE			194
#define MSAPH_KO			195
#define MSAPH_EK			196
#define MSAPH_OK			197
#define MSAPH_PE			198
#define MSAPH_PO			199
 
// MSA Sound Codes: Robot
#define MSAFX_ROBOT_0		200
#define MSAFX_ROBOT_1		201
#define MSAFX_ROBOT_2		202
#define MSAFX_ROBOT_3		203
#define MSAFX_ROBOT_4		204
#define MSAFX_ROBOT_5		205
#define MSAFX_ROBOT_6		206
#define MSAFX_ROBOT_7		207
#define MSAFX_ROBOT_8		208
#define MSAFX_ROBOT_9		209
 
// MSA Sound Codes: Alarms
#define MSAFX_ALARM_0		210
#define MSAFX_ALARM_1		211
#define MSAFX_ALARM_2		212
#define MSAFX_ALARM_3		213
#define MSAFX_ALARM_4		214
#define MSAFX_ALARM_5		215
#define MSAFX_ALARM_6		216
#define MSAFX_ALARM_7		217
#define MSAFX_ALARM_8		218
#define MSAFX_ALARM_9		219
 
// MSA Sound Codes: Beeps
#define MSAFX_BEEP_0		220
#define MSAFX_BEEP_1		221
#define MSAFX_BEEP_2		222
#define MSAFX_BEEP_3		223
#define MSAFX_BEEP_4		224
#define MSAFX_BEEP_5		225
#define MSAFX_BEEP_6		226
#define MSAFX_BEEP_7		227
#define MSAFX_BEEP_8		228
#define MSAFX_BEEP_9		229
 
// MSA Sound Codes: Biological
#define MSAFX_BIO_0			230
#define MSAFX_BIO_1			231
#define MSAFX_BIO_2			232
#define MSAFX_BIO_3			233
#define MSAFX_BIO_4			234
#define MSAFX_BIO_5			235
#define MSAFX_BIO_6			236
#define MSAFX_BIO_7			237
#define MSAFX_BIO_8			238
#define MSAFX_BIO_9			239
 
// MSA Sound Codes: DTMF
#define MSAFX_DTMF_0		240
#define MSAFX_DTMF_1		241
#define MSAFX_DTMF_2		242
#define MSAFX_DTMF_3		243
#define MSAFX_DTMF_4		244
#define MSAFX_DTMF_5		245
#define MSAFX_DTMF_6		246
#define MSAFX_DTMF_7		247
#define MSAFX_DTMF_8		248
#define MSAFX_DTMF_9		249
#define MSAFX_DTMF_S		250
#define MSAFX_DTMF_R		251
 
// MSA Sound Codes: Misc
#define MSAFX_SONAR_PING	252
#define MSAFX_PISTOLSHOT	253
#define MSAFX_WOW			254
 
// 255: End of Phrase
#ifdef _DEBUG_C
	#pragma mark MSA EOP
#endif
 
#define MSA_EOP				255
 
 
 
 
 
 
 
 
 
 
// <<--- Application related defines --->>
 
// SCP ControlTypes
// realtime announces single SCP messages like "Clear Buffer"
// register is used for 3-part-msgs: select register, select memtype and write value
#define SCP_CTRLTYPE_REALTIME		0x0
#define SCP_CTRLTYPE_REGISTER		0x1
 
// Articulation ControlTypes
#define ARTICULATION_JAW			0x1
#define ARTICULATION_TONGUE			0x2
#define ARTICULATION_GLOTTIS		0x3
 
// OSC Harmonic Waveshapes
#define OSCSYNTH_WAVE_TRIANGLE		0
#define OSCSYNTH_WAVE_SQUARE		1
#define OSCSYNTH_WAVE_SAW			2
 
 
 
 
#endif /* _IIC_SPEAKJETDEFINES_H */
speakjet_definition_list.txt · Last modified: 2006/12/05 14:28 by audiocommander