This commit is contained in:
546
trunk/workspace/00_Lib/SAM-VoiceMaster/src/ReciterTabs.h
Normal file
546
trunk/workspace/00_Lib/SAM-VoiceMaster/src/ReciterTabs.h
Normal file
@@ -0,0 +1,546 @@
|
||||
#ifndef RECITERTABS_H
|
||||
#define RECITERTABS_H
|
||||
|
||||
//some flags
|
||||
unsigned char tab36376[] =
|
||||
{
|
||||
0, 0, 0, 0, 0, 0, 0, 0, // 0-7
|
||||
0, 0, 0, 0, 0, 0, 0, 0, // 8-15
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 2, 2, 2, 2, 2, 2, 130, // ' ', '!'
|
||||
0, 0, 2, 2, 2, 2, 2, 2,
|
||||
3, 3, 3, 3, 3, 3, 3, 3,
|
||||
3, 3, 2, 2, 2, 2, 2, 2,
|
||||
2, 192, 168, 176, 172, 192, 160, 184, // '@', 'A'
|
||||
160, 192, 188, 160, 172, 168, 172, 192,
|
||||
160, 160, 172, 180, 164, 192, 168, 168,
|
||||
176, 192, 188, 0, 0, 0, 2, 0, // 'X', 'Y', 'Z', '[',
|
||||
32, 32, 155, 32, 192, 185, 32, 205,
|
||||
163, 76, 138, 142
|
||||
};
|
||||
|
||||
char rules[] =
|
||||
{
|
||||
']','A'|0x80,
|
||||
' ','(','A','.',')', '=','E','H','4','Y','.',' '|0x80,
|
||||
'(','A',')',' ', '=','A','H'|0x80,
|
||||
' ','(','A','R','E',')',' ', '=','A','A','R'|0x80,
|
||||
' ','(','A','R',')','O', '=','A','X','R'|0x80,
|
||||
'(','A','R',')','#', '=','E','H','4','R'|0x80,
|
||||
' ','^','(','A','S',')','#', '=','E','Y','4','S'|0x80,
|
||||
'(','A',')','W','A', '=','A','X'|0x80,
|
||||
'(','A','W',')', '=','A','O','5'|0x80,
|
||||
' ',':','(','A','N','Y',')', '=','E','H','4','N','I','Y'|0x80,
|
||||
'(','A',')','^','+','#', '=','E','Y','5'|0x80,
|
||||
'#',':','(','A','L','L','Y',')', '=','U','L','I','Y'|0x80,
|
||||
' ','(','A','L',')','#', '=','U','L'|0x80,
|
||||
'(','A','G','A','I','N',')', '=','A','X','G','E','H','4','N'|0x80,
|
||||
'#',':','(','A','G',')','E', '=','I','H','J'|0x80,
|
||||
'(','A',')','^','%', '=','E','Y'|0x80,
|
||||
'(','A',')','^','+',':','#', '=','A','E'|0x80,
|
||||
' ',':','(','A',')','^','+',' ', '=','E','Y','4'|0x80,
|
||||
' ','(','A','R','R',')', '=','A','X','R'|0x80,
|
||||
'(','A','R','R',')', '=','A','E','4','R'|0x80,
|
||||
' ','^','(','A','R',')',' ', '=','A','A','5','R'|0x80,
|
||||
'(','A','R',')', '=','A','A','5','R'|0x80,
|
||||
'(','A','I','R',')', '=','E','H','4','R'|0x80,
|
||||
'(','A','I',')', '=','E','Y','4'|0x80,
|
||||
'(','A','Y',')', '=','E','Y','5'|0x80,
|
||||
'(','A','U',')', '=','A','O','4'|0x80,
|
||||
'#',':','(','A','L',')',' ', '=','U','L'|0x80,
|
||||
'#',':','(','A','L','S',')',' ', '=','U','L','Z'|0x80,
|
||||
'(','A','L','K',')', '=','A','O','4','K'|0x80,
|
||||
'(','A','L',')','^', '=','A','O','L'|0x80,
|
||||
' ',':','(','A','B','L','E',')', '=','E','Y','4','B','U','L'|0x80,
|
||||
'(','A','B','L','E',')', '=','A','X','B','U','L'|0x80,
|
||||
'(','A',')','V','O', '=','E','Y','4'|0x80,
|
||||
'(','A','N','G',')','+', '=','E','Y','4','N','J'|0x80,
|
||||
'(','A','T','A','R','I',')', '=','A','H','T','A','A','4','R','I','Y'|0x80,
|
||||
'(','A',')','T','O','M', '=','A','E'|0x80,
|
||||
'(','A',')','T','T','I', '=','A','E'|0x80,
|
||||
' ','(','A','T',')',' ', '=','A','E','T'|0x80,
|
||||
' ','(','A',')','T', '=','A','H'|0x80,
|
||||
'(','A',')', '=','A','E'|0x80,
|
||||
|
||||
']','B'|0x80,
|
||||
' ','(','B',')',' ', '=','B','I','Y','4'|0x80,
|
||||
' ','(','B','E',')','^','#', '=','B','I','H'|0x80,
|
||||
'(','B','E','I','N','G',')', '=','B','I','Y','4','I','H','N','X'|0x80,
|
||||
' ','(','B','O','T','H',')',' ', '=','B','O','W','4','T','H'|0x80,
|
||||
' ','(','B','U','S',')','#', '=','B','I','H','4','Z'|0x80,
|
||||
'(','B','R','E','A','K',')', '=','B','R','E','Y','5','K'|0x80,
|
||||
'(','B','U','I','L',')', '=','B','I','H','4','L'|0x80,
|
||||
'(','B',')', '=','B'|0x80,
|
||||
|
||||
']','C'|0x80,
|
||||
' ','(','C',')',' ', '=','S','I','Y','4'|0x80,
|
||||
' ','(','C','H',')','^', '=','K'|0x80,
|
||||
'^','E','(','C','H',')', '=','K'|0x80,
|
||||
'(','C','H','A',')','R','#', '=','K','E','H','5'|0x80,
|
||||
'(','C','H',')', '=','C','H'|0x80,
|
||||
' ','S','(','C','I',')','#', '=','S','A','Y','4'|0x80,
|
||||
'(','C','I',')','A', '=','S','H'|0x80,
|
||||
'(','C','I',')','O', '=','S','H'|0x80,
|
||||
'(','C','I',')','E','N', '=','S','H'|0x80,
|
||||
'(','C','I','T','Y',')', '=','S','I','H','T','I','Y'|0x80,
|
||||
'(','C',')','+', '=','S'|0x80,
|
||||
'(','C','K',')', '=','K'|0x80,
|
||||
'(','C','O','M','M','O','D','O','R','E',')','=','K','A','A','4','M','A','H','D','O','H','R'|0x80,
|
||||
'(','C','O','M',')', '=','K','A','H','M'|0x80,
|
||||
'(','C','U','I','T',')', '=','K','I','H','T'|0x80,
|
||||
'(','C','R','E','A',')', '=','K','R','I','Y','E','Y'|0x80,
|
||||
'(','C',')', '=','K'|0x80,
|
||||
|
||||
']','D'|0x80,
|
||||
' ','(','D',')',' ', '=','D','I','Y','4'|0x80,
|
||||
' ','(','D','R','.',')',' ', '=','D','A','A','4','K','T','E','R'|0x80,
|
||||
'#',':','(','D','E','D',')',' ', '=','D','I','H','D'|0x80,
|
||||
'.','E','(','D',')',' ', '=','D'|0x80,
|
||||
'#',':','^','E','(','D',')',' ', '=','T'|0x80,
|
||||
' ','(','D','E',')','^','#', '=','D','I','H'|0x80,
|
||||
' ','(','D','O',')',' ', '=','D','U','W'|0x80,
|
||||
' ','(','D','O','E','S',')', '=','D','A','H','Z'|0x80,
|
||||
'(','D','O','N','E',')',' ', '=','D','A','H','5','N'|0x80,
|
||||
'(','D','O','I','N','G',')', '=','D','U','W','4','I','H','N','X'|0x80,
|
||||
' ','(','D','O','W',')', '=','D','A','W'|0x80,
|
||||
'#','(','D','U',')','A', '=','J','U','W'|0x80,
|
||||
'#','(','D','U',')','^','#', '=','J','A','X'|0x80,
|
||||
'(','D',')', '=','D'|0x80,
|
||||
|
||||
']','E'|0x80,
|
||||
' ','(','E',')',' ', '=','I','Y','I','Y','4'|0x80,
|
||||
'#',':','(','E',')',' ','='|0x80,
|
||||
'\'',':','^','(','E',')',' ','='|0x80,
|
||||
' ',':','(','E',')',' ', '=','I','Y'|0x80,
|
||||
'#','(','E','D',')',' ', '=','D'|0x80,
|
||||
'#',':','(','E',')','D',' ','='|0x80,
|
||||
'(','E','V',')','E','R', '=','E','H','4','V'|0x80,
|
||||
'(','E',')','^','%', '=','I','Y','4'|0x80,
|
||||
'(','E','R','I',')','#', '=','I','Y','4','R','I','Y'|0x80,
|
||||
'(','E','R','I',')', '=','E','H','4','R','I','H'|0x80,
|
||||
'#',':','(','E','R',')','#', '=','E','R'|0x80,
|
||||
'(','E','R','R','O','R',')', '=','E','H','4','R','O','H','R'|0x80,
|
||||
'(','E','R','A','S','E',')', '=','I','H','R','E','Y','5','S'|0x80,
|
||||
'(','E','R',')','#', '=','E','H','R'|0x80,
|
||||
'(','E','R',')', '=','E','R'|0x80,
|
||||
' ','(','E','V','E','N',')', '=','I','Y','V','E','H','N'|0x80,
|
||||
'#',':','(','E',')','W','='|0x80,
|
||||
'@','(','E','W',')', '=','U','W'|0x80,
|
||||
'(','E','W',')', '=','Y','U','W'|0x80,
|
||||
'(','E',')','O', '=','I','Y'|0x80,
|
||||
'#',':','&','(','E','S',')',' ', '=','I','H','Z'|0x80,
|
||||
'#',':','(','E',')','S',' ','='|0x80,
|
||||
'#',':','(','E','L','Y',')',' ', '=','L','I','Y'|0x80,
|
||||
'#',':','(','E','M','E','N','T',')', '=','M','E','H','N','T'|0x80,
|
||||
'(','E','F','U','L',')', '=','F','U','H','L'|0x80,
|
||||
'(','E','E',')', '=','I','Y','4'|0x80,
|
||||
'(','E','A','R','N',')', '=','E','R','5','N'|0x80,
|
||||
' ','(','E','A','R',')','^', '=','E','R','5'|0x80,
|
||||
'(','E','A','D',')', '=','E','H','D'|0x80,
|
||||
'#',':','(','E','A',')',' ', '=','I','Y','A','X'|0x80,
|
||||
'(','E','A',')','S','U', '=','E','H','5'|0x80,
|
||||
'(','E','A',')', '=','I','Y','5'|0x80,
|
||||
'(','E','I','G','H',')', '=','E','Y','4'|0x80,
|
||||
'(','E','I',')', '=','I','Y','4'|0x80,
|
||||
' ','(','E','Y','E',')', '=','A','Y','4'|0x80,
|
||||
'(','E','Y',')', '=','I','Y'|0x80,
|
||||
'(','E','U',')', '=','Y','U','W','5'|0x80,
|
||||
'(','E','Q','U','A','L',')', '=','I','Y','4','K','W','U','L'|0x80,
|
||||
'(','E',')', '=','E','H'|0x80,
|
||||
|
||||
']','F'|0x80,
|
||||
' ','(','F',')',' ', '=','E','H','4','F'|0x80,
|
||||
'(','F','U','L',')', '=','F','U','H','L'|0x80,
|
||||
'(','F','R','I','E','N','D',')', '=','F','R','E','H','5','N','D'|0x80,
|
||||
'(','F','A','T','H','E','R',')', '=','F','A','A','4','D','H','E','R'|0x80,
|
||||
'(','F',')','F','='|0x80,
|
||||
'(','F',')', '=','F'|0x80,
|
||||
|
||||
']','G'|0x80,
|
||||
' ','(','G',')',' ', '=','J','I','Y','4'|0x80,
|
||||
'(','G','I','V',')', '=','G','I','H','5','V'|0x80,
|
||||
' ','(','G',')','I','^', '=','G'|0x80,
|
||||
'(','G','E',')','T', '=','G','E','H','5'|0x80,
|
||||
'S','U','(','G','G','E','S',')', '=','G','J','E','H','4','S'|0x80,
|
||||
'(','G','G',')', '=','G'|0x80,
|
||||
' ','B','#','(','G',')', '=','G'|0x80,
|
||||
'(','G',')','+', '=','J'|0x80,
|
||||
'(','G','R','E','A','T',')', '=','G','R','E','Y','4','T'|0x80,
|
||||
'(','G','O','N',')','E', '=','G','A','O','5','N'|0x80,
|
||||
'#','(','G','H',')','='|0x80,
|
||||
' ','(','G','N',')', '=','N'|0x80,
|
||||
'(','G',')', '=','G'|0x80,
|
||||
|
||||
']','H'|0x80,
|
||||
' ','(','H',')',' ', '=','E','Y','4','C','H'|0x80,
|
||||
' ','(','H','A','V',')', '=','/','H','A','E','6','V'|0x80,
|
||||
' ','(','H','E','R','E',')', '=','/','H','I','Y','R'|0x80,
|
||||
' ','(','H','O','U','R',')', '=','A','W','5','E','R'|0x80,
|
||||
'(','H','O','W',')', '=','/','H','A','W'|0x80,
|
||||
'(','H',')','#', '=','/','H'|0x80,
|
||||
'(','H',')','='|0x80,
|
||||
|
||||
']','I'|0x80,
|
||||
' ','(','I','N',')', '=','I','H','N'|0x80,
|
||||
' ','(','I',')',' ', '=','A','Y','4'|0x80,
|
||||
'(','I',')',' ', '=','A','Y'|0x80,
|
||||
'(','I','N',')','D', '=','A','Y','5','N'|0x80,
|
||||
'S','E','M','(','I',')', '=','I','Y'|0x80,
|
||||
' ','A','N','T','(','I',')', '=','A','Y'|0x80,
|
||||
'(','I','E','R',')', '=','I','Y','E','R'|0x80,
|
||||
'#',':','R','(','I','E','D',')',' ', '=','I','Y','D'|0x80,
|
||||
'(','I','E','D',')',' ', '=','A','Y','5','D'|0x80,
|
||||
'(','I','E','N',')', '=','I','Y','E','H','N'|0x80,
|
||||
'(','I','E',')','T', '=','A','Y','4','E','H'|0x80,
|
||||
'(','I','\'',')', '=','A','Y','5'|0x80,
|
||||
' ',':','(','I',')','^','%', '=','A','Y','5'|0x80,
|
||||
' ',':','(','I','E',')',' ', '=','A','Y','4'|0x80,
|
||||
'(','I',')','%', '=','I','Y'|0x80,
|
||||
'(','I','E',')', '=','I','Y','4'|0x80,
|
||||
' ','(','I','D','E','A',')', '=','A','Y','D','I','Y','5','A','H'|0x80,
|
||||
'(','I',')','^','+',':','#', '=','I','H'|0x80,
|
||||
'(','I','R',')','#', '=','A','Y','R'|0x80,
|
||||
'(','I','Z',')','%', '=','A','Y','Z'|0x80,
|
||||
'(','I','S',')','%', '=','A','Y','Z'|0x80,
|
||||
'I','^','(','I',')','^','#', '=','I','H'|0x80,
|
||||
'+','^','(','I',')','^','+', '=','A','Y'|0x80,
|
||||
'#',':','^','(','I',')','^','+', '=','I','H'|0x80,
|
||||
'(','I',')','^','+', '=','A','Y'|0x80,
|
||||
'(','I','R',')', '=','E','R'|0x80,
|
||||
'(','I','G','H',')', '=','A','Y','4'|0x80,
|
||||
'(','I','L','D',')', '=','A','Y','5','L','D'|0x80,
|
||||
' ','(','I','G','N',')', '=','I','H','G','N'|0x80,
|
||||
'(','I','G','N',')',' ', '=','A','Y','4','N'|0x80,
|
||||
'(','I','G','N',')','^', '=','A','Y','4','N'|0x80,
|
||||
'(','I','G','N',')','%', '=','A','Y','4','N'|0x80,
|
||||
'(','I','C','R','O',')', '=','A','Y','4','K','R','O','H'|0x80,
|
||||
'(','I','Q','U','E',')', '=','I','Y','4','K'|0x80,
|
||||
'(','I',')', '=','I','H'|0x80,
|
||||
|
||||
']','J'|0x80,
|
||||
' ','(','J',')',' ', '=','J','E','Y','4'|0x80,
|
||||
'(','J',')', '=','J'|0x80,
|
||||
|
||||
']','K'|0x80,
|
||||
' ','(','K',')',' ', '=','K','E','Y','4'|0x80,
|
||||
' ','(','K',')','N','='|0x80,
|
||||
'(','K',')', '=','K'|0x80,
|
||||
|
||||
']','L'|0x80,
|
||||
' ','(','L',')',' ', '=','E','H','4','L'|0x80,
|
||||
'(','L','O',')','C','#', '=','L','O','W'|0x80,
|
||||
'L','(','L',')','='|0x80,
|
||||
'#',':','^','(','L',')','%', '=','U','L'|0x80,
|
||||
'(','L','E','A','D',')', '=','L','I','Y','D'|0x80,
|
||||
' ','(','L','A','U','G','H',')', '=','L','A','E','4','F'|0x80,
|
||||
'(','L',')', '=','L'|0x80,
|
||||
|
||||
']','M'|0x80,
|
||||
' ','(','M',')',' ', '=','E','H','4','M'|0x80,
|
||||
' ','(','M','R','.',')',' ', '=','M','I','H','4','S','T','E','R'|0x80,
|
||||
' ','(','M','S','.',')', '=','M','I','H','5','Z'|0x80,
|
||||
' ','(','M','R','S','.',')',' ', '=','M','I','H','4','S','I','X','Z'|0x80,
|
||||
'(','M','O','V',')', '=','M','U','W','4','V'|0x80,
|
||||
'(','M','A','C','H','I','N',')', '=','M','A','H','S','H','I','Y','5','N'|0x80,
|
||||
'M','(','M',')','='|0x80,
|
||||
'(','M',')', '=','M'|0x80,
|
||||
|
||||
']','N'|0x80,
|
||||
' ','(','N',')',' ', '=','E','H','4','N'|0x80,
|
||||
'E','(','N','G',')','+', '=','N','J'|0x80,
|
||||
'(','N','G',')','R', '=','N','X','G'|0x80,
|
||||
'(','N','G',')','#', '=','N','X','G'|0x80,
|
||||
'(','N','G','L',')','%', '=','N','X','G','U','L'|0x80,
|
||||
'(','N','G',')', '=','N','X'|0x80,
|
||||
'(','N','K',')', '=','N','X','K'|0x80,
|
||||
' ','(','N','O','W',')',' ', '=','N','A','W','4'|0x80,
|
||||
'N','(','N',')','='|0x80,
|
||||
'(','N','O','N',')','E', '=','N','A','H','4','N'|0x80,
|
||||
'(','N',')', '=','N'|0x80,
|
||||
|
||||
']','O'|0x80,
|
||||
' ','(','O',')',' ', '=','O','H','4','W'|0x80,
|
||||
'(','O','F',')',' ', '=','A','H','V'|0x80,
|
||||
' ','(','O','H',')',' ', '=','O','W','5'|0x80,
|
||||
'(','O','R','O','U','G','H',')', '=','E','R','4','O','W'|0x80,
|
||||
'#',':','(','O','R',')',' ', '=','E','R'|0x80,
|
||||
'#',':','(','O','R','S',')',' ', '=','E','R','Z'|0x80,
|
||||
'(','O','R',')', '=','A','O','R'|0x80,
|
||||
' ','(','O','N','E',')', '=','W','A','H','N'|0x80,
|
||||
'#','(','O','N','E',')',' ', '=','W','A','H','N'|0x80,
|
||||
'(','O','W',')', '=','O','W'|0x80,
|
||||
' ','(','O','V','E','R',')', '=','O','W','5','V','E','R'|0x80,
|
||||
'P','R','(','O',')','V', '=','U','W','4'|0x80,
|
||||
'(','O','V',')', '=','A','H','4','V'|0x80,
|
||||
'(','O',')','^','%', '=','O','W','5'|0x80,
|
||||
'(','O',')','^','E','N', '=','O','W'|0x80,
|
||||
'(','O',')','^','I','#', '=','O','W','5'|0x80,
|
||||
'(','O','L',')','D', '=','O','W','4','L'|0x80,
|
||||
'(','O','U','G','H','T',')', '=','A','O','5','T'|0x80,
|
||||
'(','O','U','G','H',')', '=','A','H','5','F'|0x80,
|
||||
' ','(','O','U',')', '=','A','W'|0x80,
|
||||
'H','(','O','U',')','S','#', '=','A','W','4'|0x80,
|
||||
'(','O','U','S',')', '=','A','X','S'|0x80,
|
||||
'(','O','U','R',')', '=','O','H','R'|0x80,
|
||||
'(','O','U','L','D',')', '=','U','H','5','D'|0x80,
|
||||
'(','O','U',')','^','L', '=','A','H','5'|0x80,
|
||||
'(','O','U','P',')', '=','U','W','5','P'|0x80,
|
||||
'(','O','U',')', '=','A','W'|0x80,
|
||||
'(','O','Y',')', '=','O','Y'|0x80,
|
||||
'(','O','I','N','G',')', '=','O','W','4','I','H','N','X'|0x80,
|
||||
'(','O','I',')', '=','O','Y','5'|0x80,
|
||||
'(','O','O','R',')', '=','O','H','5','R'|0x80,
|
||||
'(','O','O','K',')', '=','U','H','5','K'|0x80,
|
||||
'F','(','O','O','D',')', '=','U','W','5','D'|0x80,
|
||||
'L','(','O','O','D',')', '=','A','H','5','D'|0x80,
|
||||
'M','(','O','O','D',')', '=','U','W','5','D'|0x80,
|
||||
'(','O','O','D',')', '=','U','H','5','D'|0x80,
|
||||
'F','(','O','O','T',')', '=','U','H','5','T'|0x80,
|
||||
'(','O','O',')', '=','U','W','5'|0x80,
|
||||
'(','O','\'',')', '=','O','H'|0x80,
|
||||
'(','O',')','E', '=','O','W'|0x80,
|
||||
'(','O',')',' ', '=','O','W'|0x80,
|
||||
'(','O','A',')', '=','O','W','4'|0x80,
|
||||
' ','(','O','N','L','Y',')', '=','O','W','4','N','L','I','Y'|0x80,
|
||||
' ','(','O','N','C','E',')', '=','W','A','H','4','N','S'|0x80,
|
||||
'(','O','N','\'','T',')', '=','O','W','4','N','T'|0x80,
|
||||
'C','(','O',')','N', '=','A','A'|0x80,
|
||||
'(','O',')','N','G', '=','A','O'|0x80,
|
||||
' ',':','^','(','O',')','N', '=','A','H'|0x80,
|
||||
'I','(','O','N',')', '=','U','N'|0x80,
|
||||
'#',':','(','O','N',')', '=','U','N'|0x80,
|
||||
'#','^','(','O','N',')', '=','U','N'|0x80,
|
||||
'(','O',')','S','T', '=','O','W'|0x80,
|
||||
'(','O','F',')','^', '=','A','O','4','F'|0x80,
|
||||
'(','O','T','H','E','R',')', '=','A','H','5','D','H','E','R'|0x80,
|
||||
'R','(','O',')','B', '=','R','A','A'|0x80,
|
||||
'^','R','(','O',')',':','#', '=','O','W','5'|0x80,
|
||||
'(','O','S','S',')',' ', '=','A','O','5','S'|0x80,
|
||||
'#',':','^','(','O','M',')', '=','A','H','M'|0x80,
|
||||
'(','O',')', '=','A','A'|0x80,
|
||||
|
||||
']','P'|0x80,
|
||||
' ','(','P',')',' ', '=','P','I','Y','4'|0x80,
|
||||
'(','P','H',')', '=','F'|0x80,
|
||||
'(','P','E','O','P','L',')', '=','P','I','Y','5','P','U','L'|0x80,
|
||||
'(','P','O','W',')', '=','P','A','W','4'|0x80,
|
||||
'(','P','U','T',')',' ', '=','P','U','H','T'|0x80,
|
||||
'(','P',')','P','='|0x80,
|
||||
'(','P',')','S','='|0x80,
|
||||
'(','P',')','N','='|0x80,
|
||||
'(','P','R','O','F','.',')', '=','P','R','O','H','F','E','H','4','S','E','R'|0x80,
|
||||
'(','P',')', '=','P'|0x80,
|
||||
|
||||
']','Q'|0x80,
|
||||
' ','(','Q',')',' ', '=','K','Y','U','W','4'|0x80,
|
||||
'(','Q','U','A','R',')', '=','K','W','O','H','5','R'|0x80,
|
||||
'(','Q','U',')', '=','K','W'|0x80,
|
||||
'(','Q',')', '=','K'|0x80,
|
||||
']','R'|0x80,
|
||||
' ','(','R',')',' ', '=','A','A','5','R'|0x80,
|
||||
' ','(','R','E',')','^','#', '=','R','I','Y'|0x80,
|
||||
'(','R',')','R','='|0x80,
|
||||
'(','R',')', '=','R'|0x80,
|
||||
|
||||
']','S'|0x80,
|
||||
' ','(','S',')',' ', '=','E','H','4','S'|0x80,
|
||||
'(','S','H',')', '=','S','H'|0x80,
|
||||
'#','(','S','I','O','N',')', '=','Z','H','U','N'|0x80,
|
||||
'(','S','O','M','E',')', '=','S','A','H','M'|0x80,
|
||||
'#','(','S','U','R',')','#', '=','Z','H','E','R'|0x80,
|
||||
'(','S','U','R',')','#', '=','S','H','E','R'|0x80,
|
||||
'#','(','S','U',')','#', '=','Z','H','U','W'|0x80,
|
||||
'#','(','S','S','U',')','#', '=','S','H','U','W'|0x80,
|
||||
'#','(','S','E','D',')', '=','Z','D'|0x80,
|
||||
'#','(','S',')','#', '=','Z'|0x80,
|
||||
'(','S','A','I','D',')', '=','S','E','H','D'|0x80,
|
||||
'^','(','S','I','O','N',')', '=','S','H','U','N'|0x80,
|
||||
'(','S',')','S','='|0x80,
|
||||
'.','(','S',')',' ', '=','Z'|0x80,
|
||||
'#',':','.','E','(','S',')',' ', '=','Z'|0x80,
|
||||
'#',':','^','#','(','S',')',' ', '=','S'|0x80,
|
||||
'U','(','S',')',' ', '=','S'|0x80,
|
||||
' ',':','#','(','S',')',' ', '=','Z'|0x80,
|
||||
'#','#','(','S',')',' ', '=','Z'|0x80,
|
||||
' ','(','S','C','H',')', '=','S','K'|0x80,
|
||||
'(','S',')','C','+','='|0x80,
|
||||
'#','(','S','M',')', '=','Z','U','M'|0x80,
|
||||
'#','(','S','N',')','\'', '=','Z','U','M'|0x80,
|
||||
'(','S','T','L','E',')', '=','S','U','L'|0x80,
|
||||
'(','S',')', '=','S'|0x80,
|
||||
|
||||
']','T'|0x80,
|
||||
' ','(','T',')',' ', '=','T','I','Y','4'|0x80,
|
||||
' ','(','T','H','E',')',' ','#', '=','D','H','I','Y'|0x80,
|
||||
' ','(','T','H','E',')',' ', '=','D','H','A','X'|0x80,
|
||||
'(','T','O',')',' ', '=','T','U','X'|0x80,
|
||||
' ','(','T','H','A','T',')', '=','D','H','A','E','T'|0x80,
|
||||
' ','(','T','H','I','S',')',' ', '=','D','H','I','H','S'|0x80,
|
||||
' ','(','T','H','E','Y',')', '=','D','H','E','Y'|0x80,
|
||||
' ','(','T','H','E','R','E',')', '=','D','H','E','H','R'|0x80,
|
||||
'(','T','H','E','R',')', '=','D','H','E','R'|0x80,
|
||||
'(','T','H','E','I','R',')', '=','D','H','E','H','R'|0x80,
|
||||
' ','(','T','H','A','N',')',' ', '=','D','H','A','E','N'|0x80,
|
||||
' ','(','T','H','E','M',')',' ', '=','D','H','A','E','N'|0x80,
|
||||
'(','T','H','E','S','E',')',' ', '=','D','H','I','Y','Z'|0x80,
|
||||
' ','(','T','H','E','N',')', '=','D','H','E','H','N'|0x80,
|
||||
'(','T','H','R','O','U','G','H',')', '=','T','H','R','U','W','4'|0x80,
|
||||
'(','T','H','O','S','E',')', '=','D','H','O','H','Z'|0x80,
|
||||
'(','T','H','O','U','G','H',')',' ', '=','D','H','O','W'|0x80,
|
||||
'(','T','O','D','A','Y',')', '=','T','U','X','D','E','Y'|0x80,
|
||||
'(','T','O','M','O',')','R','R','O','W','=','T','U','M','A','A','5'|0x80,
|
||||
'(','T','O',')','T','A','L', '=','T','O','W','5'|0x80,
|
||||
' ','(','T','H','U','S',')', '=','D','H','A','H','4','S'|0x80,
|
||||
'(','T','H',')', '=','T','H'|0x80,
|
||||
'#',':','(','T','E','D',')', '=','T','I','X','D'|0x80,
|
||||
'S','(','T','I',')','#','N', '=','C','H'|0x80,
|
||||
'(','T','I',')','O', '=','S','H'|0x80,
|
||||
'(','T','I',')','A', '=','S','H'|0x80,
|
||||
'(','T','I','E','N',')', '=','S','H','U','N'|0x80,
|
||||
'(','T','U','R',')','#', '=','C','H','E','R'|0x80,
|
||||
'(','T','U',')','A', '=','C','H','U','W'|0x80,
|
||||
' ','(','T','W','O',')', '=','T','U','W'|0x80,
|
||||
'&','(','T',')','E','N',' ','='|0x80,
|
||||
'(','T',')', '=','T'|0x80,
|
||||
|
||||
']','U'|0x80,
|
||||
' ','(','U',')',' ', '=','Y','U','W','4'|0x80,
|
||||
' ','(','U','N',')','I', '=','Y','U','W','N'|0x80,
|
||||
' ','(','U','N',')', '=','A','H','N'|0x80,
|
||||
' ','(','U','P','O','N',')', '=','A','X','P','A','O','N'|0x80,
|
||||
'@','(','U','R',')','#', '=','U','H','4','R'|0x80,
|
||||
'(','U','R',')','#', '=','Y','U','H','4','R'|0x80,
|
||||
'(','U','R',')', '=','E','R'|0x80,
|
||||
'(','U',')','^',' ', '=','A','H'|0x80,
|
||||
'(','U',')','^','^', '=','A','H','5'|0x80,
|
||||
'(','U','Y',')', '=','A','Y','5'|0x80,
|
||||
' ','G','(','U',')','#','='|0x80,
|
||||
'G','(','U',')','%','='|0x80,
|
||||
'G','(','U',')','#', '=','W'|0x80,
|
||||
'#','N','(','U',')', '=','Y','U','W'|0x80,
|
||||
'@','(','U',')', '=','U','W'|0x80,
|
||||
'(','U',')', '=','Y','U','W'|0x80,
|
||||
|
||||
']','V'|0x80,
|
||||
' ','(','V',')',' ', '=','V','I','Y','4'|0x80,
|
||||
'(','V','I','E','W',')', '=','V','Y','U','W','5'|0x80,
|
||||
'(','V',')', '=','V'|0x80,
|
||||
|
||||
']','W'|0x80,
|
||||
' ','(','W',')',' ', '=','D','A','H','4','B','U','L','Y','U','W'|0x80,
|
||||
' ','(','W','E','R','E',')', '=','W','E','R'|0x80,
|
||||
'(','W','A',')','S','H', '=','W','A','A'|0x80,
|
||||
'(','W','A',')','S','T', '=','W','E','Y'|0x80,
|
||||
'(','W','A',')','S', '=','W','A','H'|0x80,
|
||||
'(','W','A',')','T', '=','W','A','A'|0x80,
|
||||
'(','W','H','E','R','E',')', '=','W','H','E','H','R'|0x80,
|
||||
'(','W','H','A','T',')', '=','W','H','A','H','T'|0x80,
|
||||
'(','W','H','O','L',')', '=','/','H','O','W','L'|0x80,
|
||||
'(','W','H','O',')', '=','/','H','U','W'|0x80,
|
||||
'(','W','H',')', '=','W','H'|0x80,
|
||||
'(','W','A','R',')','#', '=','W','E','H','R'|0x80,
|
||||
'(','W','A','R',')', '=','W','A','O','R'|0x80,
|
||||
'(','W','O','R',')','^', '=','W','E','R'|0x80,
|
||||
'(','W','R',')', '=','R'|0x80,
|
||||
'(','W','O','M',')','A', '=','W','U','H','M'|0x80,
|
||||
'(','W','O','M',')','E', '=','W','I','H','M'|0x80,
|
||||
'(','W','E','A',')','R', '=','W','E','H'|0x80,
|
||||
'(','W','A','N','T',')', '=','W','A','A','5','N','T'|0x80,
|
||||
'A','N','S','(','W','E','R',')', '=','E','R'|0x80,
|
||||
'(','W',')', '=','W'|0x80,
|
||||
|
||||
']','X'|0x80,
|
||||
' ','(','X',')',' ', '=','E','H','4','K','R'|0x80,
|
||||
' ','(','X',')', '=','Z'|0x80,
|
||||
'(','X',')', '=','K','S'|0x80,
|
||||
|
||||
']','Y'|0x80,
|
||||
' ','(','Y',')',' ', '=','W','A','Y','4'|0x80,
|
||||
'(','Y','O','U','N','G',')', '=','Y','A','H','N','X'|0x80,
|
||||
' ','(','Y','O','U','R',')', '=','Y','O','H','R'|0x80,
|
||||
' ','(','Y','O','U',')', '=','Y','U','W'|0x80,
|
||||
' ','(','Y','E','S',')', '=','Y','E','H','S'|0x80,
|
||||
' ','(','Y',')', '=','Y'|0x80,
|
||||
'F','(','Y',')', '=','A','Y'|0x80,
|
||||
'P','S','(','Y','C','H',')', '=','A','Y','K'|0x80,
|
||||
'#',':','^','(','Y',')', '=','I','Y'|0x80,
|
||||
'#',':','^','(','Y',')','I', '=','I','Y'|0x80,
|
||||
' ',':','(','Y',')',' ', '=','A','Y'|0x80,
|
||||
' ',':','(','Y',')','#', '=','A','Y'|0x80,
|
||||
' ',':','(','Y',')','^','+',':','#', '=','I','H'|0x80,
|
||||
' ',':','(','Y',')','^','#', '=','A','Y'|0x80,
|
||||
'(','Y',')', '=','I','H'|0x80,
|
||||
|
||||
']','Z'|0x80,
|
||||
' ','(','Z',')',' ', '=','Z','I','Y','4'|0x80,
|
||||
'(','Z',')', '=','Z'|0x80,
|
||||
'j'|0x80
|
||||
};
|
||||
|
||||
char rules2[] =
|
||||
{
|
||||
'(','A',')', '='|0x80,
|
||||
'(','!',')', '=','.'|0x80,
|
||||
'(','"',')',' ', '=','-','A','H','5','N','K','W','O','W','T','-'|0x80,
|
||||
'(','"',')', '=','K','W','O','W','4','T','-'|0x80,
|
||||
'(','#',')', '=',' ','N','A','H','4','M','B','E','R'|0x80,
|
||||
'(','$',')', '=',' ','D','A','A','4','L','E','R'|0x80,
|
||||
'(','%',')', '=',' ','P','E','R','S','E','H','4','N','T'|0x80,
|
||||
'(','&',')', '=',' ','A','E','N','D'|0x80,
|
||||
'(','\'',')', '='|0x80,
|
||||
'(','*',')', '=',' ','A','E','4','S','T','E','R','I','H','S','K'|0x80,
|
||||
'(','+',')', '=',' ','P','L','A','H','4','S'|0x80,
|
||||
'(',',',')', '=',','|0x80,
|
||||
' ','(','-',')',' ', '=','-'|0x80,
|
||||
'(','-',')', '='|0x80,
|
||||
'(','.',')', '=',' ','P','O','Y','N','T'|0x80,
|
||||
'(','/',')', '=',' ','S','L','A','E','4','S','H'|0x80,
|
||||
'(','0',')', '=',' ','Z','I','Y','4','R','O','W'|0x80,
|
||||
' ','(','1','S','T',')', '=','F','E','R','4','S','T'|0x80,
|
||||
' ','(','1','0','T','H',')', '=','T','E','H','4','N','T','H'|0x80,
|
||||
'(','1',')', '=',' ','W','A','H','4','N'|0x80,
|
||||
' ','(','2','N','D',')', '=','S','E','H','4','K','U','N','D'|0x80,
|
||||
'(','2',')', '=',' ','T','U','W','4'|0x80,
|
||||
' ','(','3','R','D',')', '=','T','H','E','R','4','D'|0x80,
|
||||
'(','3',')', '=',' ','T','H','R','I','Y','4'|0x80,
|
||||
'(','4',')', '=',' ','F','O','H','4','R'|0x80,
|
||||
' ','(','5','T','H',')', '=','F','I','H','4','F','T','H'|0x80,
|
||||
'(','5',')', '=',' ','F','A','Y','4','V'|0x80,
|
||||
' ','(','6','4',')',' ', '=','S','I','H','4','K','S','T','I','Y',' ','F','O','H','R'|0x80,
|
||||
'(','6',')', '=',' ','S','I','H','4','K','S'|0x80,
|
||||
'(','7',')', '=',' ','S','E','H','4','V','U','N'|0x80,
|
||||
' ','(','8','T','H',')', '=','E','Y','4','T','H'|0x80,
|
||||
'(','8',')', '=',' ','E','Y','4','T'|0x80,
|
||||
'(','9',')', '=',' ','N','A','Y','4','N'|0x80,
|
||||
'(',':',')', '=','.'|0x80,
|
||||
'(',';',')', '=','.'|0x80,
|
||||
'(','<',')', '=',' ','L','E','H','4','S',' ','D','H','A','E','N'|0x80,
|
||||
'(','=',')', '=',' ','I','Y','4','K','W','U','L','Z'|0x80,
|
||||
'(','>',')', '=',' ','G','R','E','Y','4','T','E','R',' ','D','H','A','E','N'|0x80,
|
||||
'(','?',')', '=','?'|0x80,
|
||||
'(','@',')', '=',' ','A','E','6','T'|0x80,
|
||||
'(','^',')', '=',' ','K','A','E','4','R','I','X','T'|0x80,
|
||||
']','A'|0x80
|
||||
};
|
||||
|
||||
|
||||
//26 items. From 'A' to 'Z'
|
||||
// positions for mem62 and mem63 for each character
|
||||
unsigned char tab37489[] =
|
||||
{
|
||||
0, 149, 247, 162, 57, 197, 6, 126,
|
||||
199, 38, 55, 78, 145, 241, 85, 161,
|
||||
254, 36, 69, 45, 167, 54, 83, 46,
|
||||
71, 218
|
||||
};
|
||||
|
||||
unsigned char tab37515[] =
|
||||
{
|
||||
125, 126, 126, 127, 128, 129, 130, 130,
|
||||
130, 132, 132, 132, 132, 132, 133, 135,
|
||||
135, 136, 136, 137, 138, 139, 139, 140,
|
||||
140, 140
|
||||
};
|
||||
|
||||
#endif
|
||||
512
trunk/workspace/00_Lib/SAM-VoiceMaster/src/RenderTabs.h
Normal file
512
trunk/workspace/00_Lib/SAM-VoiceMaster/src/RenderTabs.h
Normal file
@@ -0,0 +1,512 @@
|
||||
#ifndef RENDERTABS_H
|
||||
#define RENDERTABS_H
|
||||
|
||||
unsigned char tab48426[5] = { 0x18, 0x1A, 0x17, 0x17, 0x17 };
|
||||
|
||||
unsigned char tab47492[] =
|
||||
{
|
||||
0 , 0 , 0xE0 , 0xE6 , 0xEC , 0xF3 , 0xF9 , 0 ,
|
||||
6 , 0xC , 6
|
||||
};
|
||||
|
||||
|
||||
unsigned char amplitudeRescale[] =
|
||||
{
|
||||
0 , 1 , 2 , 2 , 2 , 3 , 3 , 4 ,
|
||||
4 , 5 , 6 , 8 , 9 ,0xB ,0xD ,0xF, 0 //17 elements?
|
||||
};
|
||||
|
||||
// Used to decide which phoneme's blend lengths. The candidate with the lower score is selected.
|
||||
// tab45856
|
||||
unsigned char blendRank[] =
|
||||
{
|
||||
0 , 0x1F , 0x1F , 0x1F , 0x1F , 2 , 2 , 2 ,
|
||||
2 , 2 , 2 , 2 , 2 , 2 , 5 , 5 ,
|
||||
2 ,0xA , 2 , 8 , 5 , 5 ,0xB ,0xA ,
|
||||
9 , 8 , 8 , 0xA0 , 8 , 8 , 0x17 , 0x1F ,
|
||||
0x12 , 0x12 , 0x12 , 0x12 , 0x1E , 0x1E , 0x14 , 0x14 ,
|
||||
0x14 , 0x14 , 0x17 , 0x17 , 0x1A , 0x1A , 0x1D , 0x1D ,
|
||||
2 , 2 , 2 , 2 , 2 , 2 , 0x1A , 0x1D ,
|
||||
0x1B , 0x1A , 0x1D , 0x1B , 0x1A , 0x1D , 0x1B , 0x1A ,
|
||||
0x1D , 0x1B , 0x17 , 0x1D , 0x17 , 0x17 , 0x1D , 0x17 ,
|
||||
0x17 , 0x1D , 0x17 , 0x17 , 0x1D , 0x17 , 0x17 , 0x17
|
||||
};
|
||||
|
||||
|
||||
// Number of frames at the end of a phoneme devoted to interpolating to next phoneme's final value
|
||||
//tab45696
|
||||
unsigned char outBlendLength[] =
|
||||
{
|
||||
0 , 2 , 2 , 2 , 2 , 4 , 4 , 4 ,
|
||||
4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ,
|
||||
4 , 4 , 3 , 2 , 4 , 4 , 2 , 2 ,
|
||||
2 , 2 , 2 , 1 , 1 , 1 , 1 , 1 ,
|
||||
1 , 1 , 1 , 1 , 1 , 1 , 2 , 2 ,
|
||||
2 , 1 , 0 , 1 , 0 , 1 , 0 , 5 ,
|
||||
5 , 5 , 5 , 5 , 4 , 4 , 2 , 0 ,
|
||||
1 , 2 , 0 , 1 , 2 , 0 , 1 , 2 ,
|
||||
0 , 1 , 2 , 0 , 2 , 2 , 0 , 1 ,
|
||||
3 , 0 , 2 , 3 , 0 , 2 , 0xA0 , 0xA0
|
||||
};
|
||||
|
||||
|
||||
// Number of frames at beginning of a phoneme devoted to interpolating to phoneme's final value
|
||||
// tab45776
|
||||
unsigned char inBlendLength[] =
|
||||
{
|
||||
0 , 2 , 2 , 2 , 2 , 4 , 4 , 4 ,
|
||||
4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 ,
|
||||
4 , 4 , 3 , 3 , 4 , 4 , 3 , 3 ,
|
||||
3 , 3 , 3 , 1 , 2 , 3 , 2 , 1 ,
|
||||
3 , 3 , 3 , 3 , 1 , 1 , 3 , 3 ,
|
||||
3 , 2 , 2 , 3 , 2 , 3 , 0 , 0 ,
|
||||
5 , 5 , 5 , 5 , 4 , 4 , 2 , 0 ,
|
||||
2 , 2 , 0 , 3 , 2 , 0 , 4 , 2 ,
|
||||
0 , 3 , 2 , 0 , 2 , 2 , 0 , 2 ,
|
||||
3 , 0 , 3 , 3 , 0 , 3 , 0xB0 , 0xA0
|
||||
};
|
||||
|
||||
|
||||
// Looks like it's used as bit flags
|
||||
// High bits masked by 248 (11111000)
|
||||
//
|
||||
// 32: S* 241 11110001
|
||||
// 33: SH 226 11100010
|
||||
// 34: F* 211 11010011
|
||||
// 35: TH 187 10111011
|
||||
// 36: /H 124 01111100
|
||||
// 37: /X 149 10010101
|
||||
// 38: Z* 1 00000001
|
||||
// 39: ZH 2 00000010
|
||||
// 40: V* 3 00000011
|
||||
// 41: DH 3 00000011
|
||||
// 43: ** 114 01110010
|
||||
// 45: ** 2 00000010
|
||||
// 67: ** 27 00011011
|
||||
// 70: ** 25 00011001
|
||||
// tab45936
|
||||
unsigned char sampledConsonantFlags[] =
|
||||
{
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0xF1 , 0xE2 , 0xD3 , 0xBB , 0x7C , 0x95 , 1 , 2 ,
|
||||
3 , 3 , 0 , 0x72 , 0 , 2 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0x1B , 0 , 0 , 0x19 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
|
||||
};
|
||||
|
||||
|
||||
//tab45056
|
||||
unsigned char freq1data[]=
|
||||
{
|
||||
0x00 ,0x13 ,0x13 ,0x13 ,0x13 , 0xA , 0xE ,0x12
|
||||
, 0x18 ,0x1A ,0x16 ,0x14 ,0x10 ,0x14 , 0xE ,0x12
|
||||
, 0xE ,0x12 ,0x12 ,0x10 , 0xC , 0xE , 0xA ,0x12
|
||||
, 0xE ,0xA , 8 , 6 , 6 , 6 , 6 ,0x11
|
||||
, 6 , 6 , 6 , 6 ,0xE , 0x10 , 9 ,0xA
|
||||
, 8 ,0xA , 6 , 6 , 6 , 5 , 6 , 0
|
||||
, 0x12 , 0x1A , 0x14 , 0x1A , 0x12 ,0xC , 6 , 6
|
||||
, 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6
|
||||
, 6 , 6 , 6 , 6 , 6 , 6 , 6 , 6
|
||||
, 6 ,0xA ,0xA , 6 , 6 , 6 , 0x2C , 0x13
|
||||
};
|
||||
|
||||
//tab451356
|
||||
unsigned char freq2data[]=
|
||||
{
|
||||
0x00 , 0x43 , 0x43 , 0x43 , 0x43 , 0x54 , 0x48 , 0x42 ,
|
||||
0x3E , 0x28 , 0x2C , 0x1E , 0x24 , 0x2C , 0x48 , 0x30 ,
|
||||
0x24 , 0x1E , 0x32 , 0x24 , 0x1C , 0x44 , 0x18 , 0x32 ,
|
||||
0x1E , 0x18 , 0x52 , 0x2E , 0x36 , 0x56 , 0x36 , 0x43 ,
|
||||
0x49 , 0x4F , 0x1A , 0x42 , 0x49 , 0x25 , 0x33 , 0x42 ,
|
||||
0x28 , 0x2F , 0x4F , 0x4F , 0x42 , 0x4F , 0x6E , 0x00 ,
|
||||
0x48 , 0x26 , 0x1E , 0x2A , 0x1E , 0x22 , 0x1A , 0x1A ,
|
||||
0x1A , 0x42 , 0x42 , 0x42 , 0x6E , 0x6E , 0x6E , 0x54 ,
|
||||
0x54 , 0x54 , 0x1A , 0x1A , 0x1A , 0x42 , 0x42 , 0x42 ,
|
||||
0x6D , 0x56 , 0x6D , 0x54 , 0x54 , 0x54 , 0x7F , 0x7F
|
||||
};
|
||||
|
||||
//tab45216
|
||||
unsigned char freq3data[]=
|
||||
{
|
||||
0x00 , 0x5B , 0x5B , 0x5B , 0x5B , 0x6E , 0x5D , 0x5B ,
|
||||
0x58 , 0x59 , 0x57 , 0x58 , 0x52 , 0x59 , 0x5D , 0x3E ,
|
||||
0x52 , 0x58 , 0x3E , 0x6E , 0x50 , 0x5D , 0x5A , 0x3C ,
|
||||
0x6E , 0x5A , 0x6E , 0x51 , 0x79 , 0x65 , 0x79 , 0x5B ,
|
||||
0x63 , 0x6A , 0x51 , 0x79 , 0x5D , 0x52 , 0x5D , 0x67 ,
|
||||
0x4C , 0x5D , 0x65 , 0x65 , 0x79 , 0x65 , 0x79 , 0x00 ,
|
||||
0x5A , 0x58 , 0x58 , 0x58 , 0x58 , 0x52 , 0x51 , 0x51 ,
|
||||
0x51 , 0x79 , 0x79 , 0x79 , 0x70 , 0x6E , 0x6E , 0x5E ,
|
||||
0x5E , 0x5E , 0x51 , 0x51 , 0x51 , 0x79 , 0x79 , 0x79 ,
|
||||
0x65 , 0x65 , 0x70 , 0x5E , 0x5E , 0x5E , 0x08 , 0x01
|
||||
};
|
||||
|
||||
unsigned char ampl1data[] =
|
||||
{
|
||||
0 , 0 , 0 , 0 , 0 ,0xD ,0xD ,0xE ,
|
||||
0xF ,0xF ,0xF ,0xF ,0xF ,0xC ,0xD ,0xC ,
|
||||
0xF ,0xF ,0xD ,0xD ,0xD ,0xE ,0xD ,0xC ,
|
||||
0xD ,0xD ,0xD ,0xC , 9 , 9 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 ,0xB ,0xB ,
|
||||
0xB ,0xB , 0 , 0 , 1 ,0xB , 0 , 2 ,
|
||||
0xE ,0xF ,0xF ,0xF ,0xF ,0xD , 2 , 4 ,
|
||||
0 , 2 , 4 , 0 , 1 , 4 , 0 , 1 ,
|
||||
4 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 ,0xC , 0 , 0 , 0 , 0 ,0xF ,0xF
|
||||
};
|
||||
|
||||
unsigned char ampl2data[] =
|
||||
{
|
||||
0 , 0 , 0 , 0 , 0 ,0xA ,0xB ,0xD ,
|
||||
0xE ,0xD ,0xC ,0xC ,0xB , 9 ,0xB ,0xB ,
|
||||
0xC ,0xC ,0xC , 8 , 8 ,0xC , 8 ,0xA ,
|
||||
8 , 8 ,0xA , 3 , 9 , 6 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 3 , 5 ,
|
||||
3 , 4 , 0 , 0 , 0 , 5 ,0xA , 2 ,
|
||||
0xE ,0xD ,0xC ,0xD ,0xC , 8 , 0 , 1 ,
|
||||
0 , 0 , 1 , 0 , 0 , 1 , 0 , 0 ,
|
||||
1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 ,0xA , 0 , 0 ,0xA , 0 , 0 , 0
|
||||
};
|
||||
|
||||
unsigned char ampl3data[] =
|
||||
{
|
||||
0 , 0 , 0 , 0 , 0 , 8 , 7 , 8 ,
|
||||
8 , 1 , 1 , 0 , 1 , 0 , 7 , 5 ,
|
||||
1 , 0 , 6 , 1 , 0 , 7 , 0 , 5 ,
|
||||
1 , 0 , 8 , 0 , 0 , 3 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
|
||||
0 , 0 , 0 , 0 , 0 , 1 ,0xE , 1 ,
|
||||
9 , 1 , 0 , 1 , 0 , 0 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
|
||||
0 , 7 , 0 , 0 , 5 , 0 , 0x13 , 0x10
|
||||
};
|
||||
|
||||
|
||||
|
||||
//tab42240
|
||||
unsigned char sinus[] =
|
||||
{
|
||||
0x00 , 0x00 , 0x00 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 ,
|
||||
0x10 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x30 ,
|
||||
0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x40 , 0x40 ,
|
||||
0x40 , 0x40 , 0x40 , 0x40 , 0x40 , 0x50 , 0x50 , 0x50 ,
|
||||
0x50 , 0x50 , 0x50 , 0x50 , 0x50 , 0x60 , 0x60 , 0x60 ,
|
||||
0x60 , 0x60 , 0x60 , 0x60 , 0x60 , 0x60 , 0x60 , 0x60 ,
|
||||
0x60 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x60 , 0x60 , 0x60 , 0x60 , 0x60 , 0x60 , 0x60 , 0x60 ,
|
||||
0x60 , 0x60 , 0x60 , 0x60 , 0x50 , 0x50 , 0x50 , 0x50 ,
|
||||
0x50 , 0x50 , 0x50 , 0x50 , 0x40 , 0x40 , 0x40 , 0x40 ,
|
||||
0x40 , 0x40 , 0x40 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 ,
|
||||
0x30 , 0x30 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 , 0x20 ,
|
||||
0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x10 , 0x00 , 0x00 ,
|
||||
0x00 , 0x00 , 0x00 , 0xF0 , 0xF0 , 0xF0 , 0xF0 , 0xF0 ,
|
||||
0xF0 , 0xE0 , 0xE0 , 0xE0 , 0xE0 , 0xE0 , 0xE0 , 0xD0 ,
|
||||
0xD0 , 0xD0 , 0xD0 , 0xD0 , 0xD0 , 0xD0 , 0xC0 , 0xC0 ,
|
||||
0xC0 , 0xC0 , 0xC0 , 0xC0 , 0xC0 , 0xB0 , 0xB0 , 0xB0 ,
|
||||
0xB0 , 0xB0 , 0xB0 , 0xB0 , 0xB0 , 0xA0 , 0xA0 , 0xA0 ,
|
||||
0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 ,
|
||||
0xA0 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xA0 ,
|
||||
0xA0 , 0xA0 , 0xA0 , 0xA0 , 0xB0 , 0xB0 , 0xB0 , 0xB0 ,
|
||||
0xB0 , 0xB0 , 0xB0 , 0xB0 , 0xC0 , 0xC0 , 0xC0 , 0xC0 ,
|
||||
0xC0 , 0xC0 , 0xC0 , 0xD0 , 0xD0 , 0xD0 , 0xD0 , 0xD0 ,
|
||||
0xD0 , 0xD0 , 0xE0 , 0xE0 , 0xE0 , 0xE0 , 0xE0 , 0xE0 ,
|
||||
0xF0 , 0xF0 , 0xF0 , 0xF0 , 0xF0 , 0xF0 , 0x00 , 0x00 };
|
||||
|
||||
//tab42496
|
||||
unsigned char rectangle[] =
|
||||
{
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 , 0x90 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 ,
|
||||
0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70 , 0x70
|
||||
};
|
||||
|
||||
|
||||
//tab42752
|
||||
unsigned char multtable[] =
|
||||
{
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
|
||||
0x00 , 0x00 , 1 , 1 , 2 , 2 , 3 , 3 ,
|
||||
4 , 4 , 5 , 5 , 6 , 6 , 7 , 7 ,
|
||||
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ,
|
||||
8 , 9 ,0xA ,0xB ,0xC ,0xD ,0xE ,0xF ,
|
||||
0x00 , 1 , 3 , 4 , 6 , 7 , 9 ,0xA ,
|
||||
0xC ,0xD ,0xF , 0x10 , 0x12 , 0x13 , 0x15 , 0x16 ,
|
||||
0x00 , 2 , 4 , 6 , 8 ,0xA ,0xC ,0xE ,
|
||||
0x10 , 0x12 , 0x14 , 0x16 , 0x18 , 0x1A , 0x1C , 0x1E ,
|
||||
0x00 , 2 , 5 , 7 ,0xA ,0xC ,0xF , 0x11 ,
|
||||
0x14 , 0x16 , 0x19 , 0x1B , 0x1E , 0x20 , 0x23 , 0x25 ,
|
||||
0x00 , 3 , 6 , 9 ,0xC ,0xF , 0x12 , 0x15 ,
|
||||
0x18 , 0x1B , 0x1E , 0x21 , 0x24 , 0x27 , 0x2A , 0x2D ,
|
||||
0x00 , 0x03 , 0x07 , 0x0A , 0x0E , 0x11 , 0x15 , 0x18 ,
|
||||
0x1C , 0x1F , 0x23 , 0x26 , 0x2A , 0x2D , 0x31 , 0x34 ,
|
||||
0x00 , 0xFC , 0xF8 , 0xF4 , 0xF0 , 0xEC , 0xE8 , 0xE4 ,
|
||||
0xE0 , 0xDC , 0xD8 , 0xD4 , 0xD0 , 0xCC , 0xC8 , 0xC4 ,
|
||||
0x00 , 0xFC , 0xF9 , 0xF5 , 0xF2 , 0xEE , 0xEB , 0xE7 ,
|
||||
0xE4 , 0xE0 , 0xDD , 0xD9 , 0xD6 , 0xD2 , 0xCF , 0xCB ,
|
||||
0x00 , 0xFD , 0xFA , 0xF7 , 0xF4 , 0xF1 , 0xEE , 0xEB ,
|
||||
0xE8 , 0xE5 , 0xE2 , 0xDF , 0xDC , 0xD9 , 0xD6 , 0xD3 ,
|
||||
0x00 , 0xFD , 0xFB , 0xF8 , 0xF6 , 0xF3 , 0xF1 , 0xEE ,
|
||||
0xEC , 0xE9 , 0xE7 , 0xE4 , 0xE2 , 0xDF , 0xDD , 0xDA ,
|
||||
0x00 , 0xFE , 0xFC , 0xFA , 0xF8 , 0xF6 , 0xF4 , 0xF2 ,
|
||||
0xF0 , 0xEE , 0xEC , 0xEA , 0xE8 , 0xE6 , 0xE4 , 0xE2 ,
|
||||
0x00 , 0xFE , 0xFD , 0xFB , 0xFA , 0xF8 , 0xF7 , 0xF5 ,
|
||||
0xF4 , 0xF2 , 0xF1 , 0xEF , 0xEE , 0xEC , 0xEB , 0xE9 ,
|
||||
0x00 , 0xFF , 0xFE , 0xFD , 0xFC , 0xFB , 0xFA , 0xF9 ,
|
||||
0xF8 , 0xF7 , 0xF6 , 0xF5 , 0xF4 , 0xF3 , 0xF2 , 0xF1 ,
|
||||
0x00 , 0xFF , 0xFF , 0xFE , 0xFE , 0xFD , 0xFD , 0xFC ,
|
||||
0xFC , 0xFB , 0xFB , 0xFA , 0xFA , 0xF9 , 0xF9 , 0xF8
|
||||
};
|
||||
|
||||
//random data ?
|
||||
unsigned char sampleTable[0x500] =
|
||||
{
|
||||
//00
|
||||
|
||||
0x38 , 0x84 , 0x6B , 0x19 , 0xC6 , 0x63 , 0x18 , 0x86
|
||||
, 0x73 , 0x98 , 0xC6 , 0xB1 , 0x1C , 0xCA , 0x31 , 0x8C
|
||||
, 0xC7 , 0x31 , 0x88 , 0xC2 , 0x30 , 0x98 , 0x46 , 0x31
|
||||
, 0x18 , 0xC6 , 0x35 ,0xC , 0xCA , 0x31 ,0xC , 0xC6
|
||||
//20
|
||||
, 0x21 , 0x10 , 0x24 , 0x69 , 0x12 , 0xC2 , 0x31 , 0x14
|
||||
, 0xC4 , 0x71 , 8 , 0x4A , 0x22 , 0x49 , 0xAB , 0x6A
|
||||
, 0xA8 , 0xAC , 0x49 , 0x51 , 0x32 , 0xD5 , 0x52 , 0x88
|
||||
, 0x93 , 0x6C , 0x94 , 0x22 , 0x15 , 0x54 , 0xD2 , 0x25
|
||||
//40
|
||||
, 0x96 , 0xD4 , 0x50 , 0xA5 , 0x46 , 0x21 , 8 , 0x85
|
||||
, 0x6B , 0x18 , 0xC4 , 0x63 , 0x10 , 0xCE , 0x6B , 0x18
|
||||
, 0x8C , 0x71 , 0x19 , 0x8C , 0x63 , 0x35 ,0xC , 0xC6
|
||||
, 0x33 , 0x99 , 0xCC , 0x6C , 0xB5 , 0x4E , 0xA2 , 0x99
|
||||
//60
|
||||
, 0x46 , 0x21 , 0x28 , 0x82 , 0x95 , 0x2E , 0xE3 , 0x30
|
||||
, 0x9C , 0xC5 , 0x30 , 0x9C , 0xA2 , 0xB1 , 0x9C , 0x67
|
||||
, 0x31 , 0x88 , 0x66 , 0x59 , 0x2C , 0x53 , 0x18 , 0x84
|
||||
, 0x67 , 0x50 , 0xCA , 0xE3 ,0xA , 0xAC , 0xAB , 0x30
|
||||
//80
|
||||
, 0xAC , 0x62 , 0x30 , 0x8C , 0x63 , 0x10 , 0x94 , 0x62
|
||||
, 0xB1 , 0x8C , 0x82 , 0x28 , 0x96 , 0x33 , 0x98 , 0xD6
|
||||
, 0xB5 , 0x4C , 0x62 , 0x29 , 0xA5 , 0x4A , 0xB5 , 0x9C
|
||||
, 0xC6 , 0x31 , 0x14 , 0xD6 , 0x38 , 0x9C , 0x4B , 0xB4
|
||||
//A0
|
||||
, 0x86 , 0x65 , 0x18 , 0xAE , 0x67 , 0x1C , 0xA6 , 0x63
|
||||
, 0x19 , 0x96 , 0x23 , 0x19 , 0x84 , 0x13 , 8 , 0xA6
|
||||
, 0x52 , 0xAC , 0xCA , 0x22 , 0x89 , 0x6E , 0xAB , 0x19
|
||||
, 0x8C , 0x62 , 0x34 , 0xC4 , 0x62 , 0x19 , 0x86 , 0x63
|
||||
//C0
|
||||
, 0x18 , 0xC4 , 0x23 , 0x58 , 0xD6 , 0xA3 , 0x50 , 0x42
|
||||
, 0x54 , 0x4A , 0xAD , 0x4A , 0x25 , 0x11 , 0x6B , 0x64
|
||||
, 0x89 , 0x4A , 0x63 , 0x39 , 0x8A , 0x23 , 0x31 , 0x2A
|
||||
, 0xEA , 0xA2 , 0xA9 , 0x44 , 0xC5 , 0x12 , 0xCD , 0x42
|
||||
//E0
|
||||
, 0x34 , 0x8C , 0x62 , 0x18 , 0x8C , 0x63 , 0x11 , 0x48
|
||||
, 0x66 , 0x31 , 0x9D , 0x44 , 0x33 , 0x1D , 0x46 , 0x31
|
||||
, 0x9C , 0xC6 , 0xB1 ,0xC , 0xCD , 0x32 , 0x88 , 0xC4
|
||||
, 0x73 , 0x18 , 0x86 , 0x73 , 8 , 0xD6 , 0x63 , 0x58
|
||||
//100
|
||||
, 7 , 0x81 , 0xE0 , 0xF0 , 0x3C , 7 , 0x87 , 0x90
|
||||
, 0x3C , 0x7C ,0xF , 0xC7 , 0xC0 , 0xC0 , 0xF0 , 0x7C
|
||||
, 0x1E , 7 , 0x80 , 0x80 , 0 , 0x1C , 0x78 , 0x70
|
||||
, 0xF1 , 0xC7 , 0x1F , 0xC0 ,0xC , 0xFE , 0x1C , 0x1F
|
||||
//120
|
||||
, 0x1F ,0xE ,0xA , 0x7A , 0xC0 , 0x71 , 0xF2 , 0x83
|
||||
, 0x8F , 3 ,0xF ,0xF ,0xC , 0 , 0x79 , 0xF8
|
||||
, 0x61 , 0xE0 , 0x43 ,0xF , 0x83 , 0xE7 , 0x18 , 0xF9
|
||||
, 0xC1 , 0x13 , 0xDA , 0xE9 , 0x63 , 0x8F ,0xF , 0x83
|
||||
//140
|
||||
, 0x83 , 0x87 , 0xC3 , 0x1F , 0x3C , 0x70 , 0xF0 , 0xE1
|
||||
, 0xE1 , 0xE3 , 0x87 , 0xB8 , 0x71 ,0xE , 0x20 , 0xE3
|
||||
, 0x8D , 0x48 , 0x78 , 0x1C , 0x93 , 0x87 , 0x30 , 0xE1
|
||||
, 0xC1 , 0xC1 , 0xE4 , 0x78 , 0x21 , 0x83 , 0x83 , 0xC3
|
||||
//160
|
||||
, 0x87 , 6 , 0x39 , 0xE5 , 0xC3 , 0x87 , 7 ,0xE
|
||||
, 0x1C , 0x1C , 0x70 , 0xF4 , 0x71 , 0x9C , 0x60 , 0x36
|
||||
, 0x32 , 0xC3 , 0x1E , 0x3C , 0xF3 , 0x8F ,0xE , 0x3C
|
||||
, 0x70 , 0xE3 , 0xC7 , 0x8F ,0xF ,0xF ,0xE , 0x3C
|
||||
//180
|
||||
, 0x78 , 0xF0 , 0xE3 , 0x87 , 6 , 0xF0 , 0xE3 , 7
|
||||
, 0xC1 , 0x99 , 0x87 ,0xF , 0x18 , 0x78 , 0x70 , 0x70
|
||||
, 0xFC , 0xF3 , 0x10 , 0xB1 , 0x8C , 0x8C , 0x31 , 0x7C
|
||||
, 0x70 , 0xE1 , 0x86 , 0x3C , 0x64 , 0x6C , 0xB0 , 0xE1
|
||||
//1A0
|
||||
, 0xE3 ,0xF , 0x23 , 0x8F ,0xF , 0x1E , 0x3E , 0x38
|
||||
, 0x3C , 0x38 , 0x7B , 0x8F , 7 ,0xE , 0x3C , 0xF4
|
||||
, 0x17 , 0x1E , 0x3C , 0x78 , 0xF2 , 0x9E , 0x72 , 0x49
|
||||
, 0xE3 , 0x25 , 0x36 , 0x38 , 0x58 , 0x39 , 0xE2 , 0xDE
|
||||
//1C0
|
||||
, 0x3C , 0x78 , 0x78 , 0xE1 , 0xC7 , 0x61 , 0xE1 , 0xE1
|
||||
, 0xB0 , 0xF0 , 0xF0 , 0xC3 , 0xC7 ,0xE , 0x38 , 0xC0
|
||||
, 0xF0 , 0xCE , 0x73 , 0x73 , 0x18 , 0x34 , 0xB0 , 0xE1
|
||||
, 0xC7 , 0x8E , 0x1C , 0x3C , 0xF8 , 0x38 , 0xF0 , 0xE1
|
||||
//1E0
|
||||
, 0xC1 , 0x8B , 0x86 , 0x8F , 0x1C , 0x78 , 0x70 , 0xF0
|
||||
, 0x78 , 0xAC , 0xB1 , 0x8F , 0x39 , 0x31 , 0xDB , 0x38
|
||||
, 0x61 , 0xC3 ,0xE ,0xE , 0x38 , 0x78 , 0x73 , 0x17
|
||||
, 0x1E , 0x39 , 0x1E , 0x38 , 0x64 , 0xE1 , 0xF1 , 0xC1
|
||||
//200
|
||||
, 0x4E ,0xF , 0x40 , 0xA2 , 2 , 0xC5 , 0x8F , 0x81
|
||||
, 0xA1 , 0xFC , 0x12 , 8 , 0x64 , 0xE0 , 0x3C , 0x22
|
||||
, 0xE0 , 0x45 , 7 , 0x8E ,0xC , 0x32 , 0x90 , 0xF0
|
||||
, 0x1F , 0x20 , 0x49 , 0xE0 , 0xF8 ,0xC , 0x60 , 0xF0
|
||||
//220
|
||||
, 0x17 , 0x1A , 0x41 , 0xAA , 0xA4 , 0xD0 , 0x8D , 0x12
|
||||
, 0x82 , 0x1E , 0x1E , 3 , 0xF8 , 0x3E , 3 ,0xC
|
||||
, 0x73 , 0x80 , 0x70 , 0x44 , 0x26 , 3 , 0x24 , 0xE1
|
||||
, 0x3E , 4 , 0x4E , 4 , 0x1C , 0xC1 , 9 , 0xCC
|
||||
//240
|
||||
, 0x9E , 0x90 , 0x21 , 7 , 0x90 , 0x43 , 0x64 , 0xC0
|
||||
, 0xF , 0xC6 , 0x90 , 0x9C , 0xC1 , 0x5B , 3 , 0xE2
|
||||
, 0x1D , 0x81 , 0xE0 , 0x5E , 0x1D , 3 , 0x84 , 0xB8
|
||||
, 0x2C ,0xF , 0x80 , 0xB1 , 0x83 , 0xE0 , 0x30 , 0x41
|
||||
//260
|
||||
, 0x1E , 0x43 , 0x89 , 0x83 , 0x50 , 0xFC , 0x24 , 0x2E
|
||||
, 0x13 , 0x83 , 0xF1 , 0x7C , 0x4C , 0x2C , 0xC9 ,0xD
|
||||
, 0x83 , 0xB0 , 0xB5 , 0x82 , 0xE4 , 0xE8 , 6 , 0x9C
|
||||
, 7 , 0xA0 , 0x99 , 0x1D , 7 , 0x3E , 0x82 , 0x8F
|
||||
//280
|
||||
, 0x70 , 0x30 , 0x74 , 0x40 , 0xCA , 0x10 , 0xE4 , 0xE8
|
||||
, 0xF , 0x92 , 0x14 , 0x3F , 6 , 0xF8 , 0x84 , 0x88
|
||||
, 0x43 , 0x81 ,0xA , 0x34 , 0x39 , 0x41 , 0xC6 , 0xE3
|
||||
, 0x1C , 0x47 , 3 , 0xB0 , 0xB8 , 0x13 ,0xA , 0xC2
|
||||
//2A0
|
||||
, 0x64 , 0xF8 , 0x18 , 0xF9 , 0x60 , 0xB3 , 0xC0 , 0x65
|
||||
, 0x20 , 0x60 , 0xA6 , 0x8C , 0xC3 , 0x81 , 0x20 , 0x30
|
||||
, 0x26 , 0x1E , 0x1C , 0x38 , 0xD3 , 1 , 0xB0 , 0x26
|
||||
, 0x40 , 0xF4 ,0xB , 0xC3 , 0x42 , 0x1F , 0x85 , 0x32
|
||||
//2C0
|
||||
, 0x26 , 0x60 , 0x40 , 0xC9 , 0xCB , 1 , 0xEC , 0x11
|
||||
, 0x28 , 0x40 , 0xFA , 4 , 0x34 , 0xE0 , 0x70 , 0x4C
|
||||
, 0x8C , 0x1D , 7 , 0x69 , 3 , 0x16 , 0xC8 , 4
|
||||
, 0x23 , 0xE8 , 0xC6 , 0x9A ,0xB , 0x1A , 3 , 0xE0
|
||||
//2E0
|
||||
, 0x76 , 6 , 5 , 0xCF , 0x1E , 0xBC , 0x58 , 0x31
|
||||
, 0x71 , 0x66 , 0 , 0xF8 , 0x3F , 4 , 0xFC ,0xC
|
||||
, 0x74 , 0x27 , 0x8A , 0x80 , 0x71 , 0xC2 , 0x3A , 0x26
|
||||
, 6 , 0xC0 , 0x1F , 5 ,0xF , 0x98 , 0x40 , 0xAE
|
||||
//300
|
||||
, 1 , 0x7F , 0xC0 , 7 , 0xFF , 0 ,0xE , 0xFE
|
||||
, 0 , 3 , 0xDF , 0x80 , 3 , 0xEF , 0x80 , 0x1B
|
||||
, 0xF1 , 0xC2 , 0 , 0xE7 , 0xE0 , 0x18 , 0xFC , 0xE0
|
||||
, 0x21 , 0xFC , 0x80 , 0x3C , 0xFC , 0x40 ,0xE , 0x7E
|
||||
//320
|
||||
, 0 , 0x3F , 0x3E , 0 ,0xF , 0xFE , 0 , 0x1F
|
||||
, 0xFF , 0 , 0x3E , 0xF0 , 7 , 0xFC , 0 , 0x7E
|
||||
, 0x10 , 0x3F , 0xFF , 0 , 0x3F , 0x38 ,0xE , 0x7C
|
||||
, 1 , 0x87 ,0xC , 0xFC , 0xC7 , 0 , 0x3E , 4
|
||||
//340
|
||||
, 0xF , 0x3E , 0x1F ,0xF ,0xF , 0x1F ,0xF , 2
|
||||
, 0x83 , 0x87 , 0xCF , 3 , 0x87 ,0xF , 0x3F , 0xC0
|
||||
, 7 , 0x9E , 0x60 , 0x3F , 0xC0 , 3 , 0xFE , 0
|
||||
, 0x3F , 0xE0 , 0x77 , 0xE1 , 0xC0 , 0xFE , 0xE0 , 0xC3
|
||||
//360
|
||||
, 0xE0 , 1 , 0xDF , 0xF8 , 3 , 7 , 0 , 0x7E
|
||||
, 0x70 , 0 , 0x7C , 0x38 , 0x18 , 0xFE ,0xC , 0x1E
|
||||
, 0x78 , 0x1C , 0x7C , 0x3E ,0xE , 0x1F , 0x1E , 0x1E
|
||||
, 0x3E , 0 , 0x7F , 0x83 , 7 , 0xDB , 0x87 , 0x83
|
||||
//380
|
||||
, 7 , 0xC7 , 7 , 0x10 , 0x71 , 0xFF , 0 , 0x3F
|
||||
, 0xE2 , 1 , 0xE0 , 0xC1 , 0xC3 , 0xE1 , 0 , 0x7F
|
||||
, 0xC0 , 5 , 0xF0 , 0x20 , 0xF8 , 0xF0 , 0x70 , 0xFE
|
||||
, 0x78 , 0x79 , 0xF8 , 2 , 0x3F ,0xC , 0x8F , 3
|
||||
//3a0
|
||||
, 0xF , 0x9F , 0xE0 , 0xC1 , 0xC7 , 0x87 , 3 , 0xC3
|
||||
, 0xC3 , 0xB0 , 0xE1 , 0xE1 , 0xC1 , 0xE3 , 0xE0 , 0x71
|
||||
, 0xF0 , 0 , 0xFC , 0x70 , 0x7C ,0xC , 0x3E , 0x38
|
||||
, 0xE , 0x1C , 0x70 , 0xC3 , 0xC7 , 3 , 0x81 , 0xC1
|
||||
//3c0
|
||||
, 0xC7 , 0xE7 , 0 ,0xF , 0xC7 , 0x87 , 0x19 , 9
|
||||
, 0xEF , 0xC4 , 0x33 , 0xE0 , 0xC1 , 0xFC , 0xF8 , 0x70
|
||||
, 0xF0 , 0x78 , 0xF8 , 0xF0 , 0x61 , 0xC7 , 0 , 0x1F
|
||||
, 0xF8 , 1 , 0x7C , 0xF8 , 0xF0 , 0x78 , 0x70 , 0x3C
|
||||
//3e0
|
||||
, 0x7C , 0xCE ,0xE , 0x21 , 0x83 , 0xCF , 8 , 7
|
||||
, 0x8F , 8 , 0xC1 , 0x87 , 0x8F , 0x80 , 0xC7 , 0xE3
|
||||
, 0 , 7 , 0xF8 , 0xE0 , 0xEF , 0 , 0x39 , 0xF7
|
||||
, 0x80 ,0xE , 0xF8 , 0xE1 , 0xE3 , 0xF8 , 0x21 , 0x9F
|
||||
//400
|
||||
, 0xC0 , 0xFF , 3 , 0xF8 , 7 , 0xC0 , 0x1F , 0xF8
|
||||
, 0xC4 , 4 , 0xFC , 0xC4 , 0xC1 , 0xBC , 0x87 , 0xF0
|
||||
, 0xF , 0xC0 , 0x7F , 5 , 0xE0 , 0x25 , 0xEC , 0xC0
|
||||
, 0x3E , 0x84 , 0x47 , 0xF0 , 0x8E , 3 , 0xF8 , 3
|
||||
//420
|
||||
, 0xFB , 0xC0 , 0x19 , 0xF8 , 7 , 0x9C ,0xC , 0x17
|
||||
, 0xF8 , 7 , 0xE0 , 0x1F , 0xA1 , 0xFC ,0xF , 0xFC
|
||||
, 1 , 0xF0 , 0x3F , 0 , 0xFE , 3 , 0xF0 , 0x1F
|
||||
, 0 , 0xFD , 0 , 0xFF , 0x88 ,0xD , 0xF9 , 1
|
||||
//440
|
||||
, 0xFF , 0 , 0x70 , 7 , 0xC0 , 0x3E , 0x42 , 0xF3
|
||||
, 0xD , 0xC4 , 0x7F , 0x80 , 0xFC , 7 , 0xF0 , 0x5E
|
||||
, 0xC0 , 0x3F , 0 , 0x78 , 0x3F , 0x81 , 0xFF , 1
|
||||
, 0xF8 , 1 , 0xC3 , 0xE8 ,0xC , 0xE4 , 0x64 , 0x8F
|
||||
////460
|
||||
, 0xE4 ,0xF , 0xF0 , 7 , 0xF0 , 0xC2 , 0x1F , 0
|
||||
, 0x7F , 0xC0 , 0x6F , 0x80 , 0x7E , 3 , 0xF8 , 7
|
||||
, 0xF0 , 0x3F , 0xC0 , 0x78 ,0xF , 0x82 , 7 , 0xFE
|
||||
, 0x22 , 0x77 , 0x70 , 2 , 0x76 , 3 , 0xFE , 0
|
||||
//480
|
||||
, 0xFE , 0x67 , 0 , 0x7C , 0xC7 , 0xF1 , 0x8E , 0xC6
|
||||
, 0x3B , 0xE0 , 0x3F , 0x84 , 0xF3 , 0x19 , 0xD8 , 3
|
||||
, 0x99 , 0xFC , 9 , 0xB8 ,0xF , 0xF8 , 0 , 0x9D
|
||||
, 0x24 , 0x61 , 0xF9 ,0xD , 0 , 0xFD , 3 , 0xF0
|
||||
//4a0
|
||||
, 0x1F , 0x90 , 0x3F , 1 , 0xF8 , 0x1F , 0xD0 ,0xF
|
||||
, 0xF8 , 0x37 , 1 , 0xF8 , 7 , 0xF0 ,0xF , 0xC0
|
||||
, 0x3F , 0 , 0xFE , 3 , 0xF8 ,0xF , 0xC0 , 0x3F
|
||||
, 0 , 0xFA , 3 , 0xF0 ,0xF , 0x80 , 0xFF , 1
|
||||
//4c0
|
||||
, 0xB8 , 7 , 0xF0 , 1 , 0xFC , 1 , 0xBC , 0x80
|
||||
, 0x13 , 0x1E , 0 , 0x7F , 0xE1 , 0x40 , 0x7F , 0xA0
|
||||
, 0x7F , 0xB0 , 0 , 0x3F , 0xC0 , 0x1F , 0xC0 , 0x38
|
||||
, 0xF , 0xF0 , 0x1F , 0x80 , 0xFF , 1 , 0xFC , 3
|
||||
//4e0
|
||||
, 0xF1 , 0x7E , 1 , 0xFE , 1 , 0xF0 , 0xFF , 0
|
||||
, 0x7F , 0xC0 , 0x1D , 7 , 0xF0 ,0xF , 0xC0 , 0x7E
|
||||
, 6 , 0xE0 , 7 , 0xE0 ,0xF , 0xF8 , 6 , 0xC1
|
||||
, 0xFE , 1 , 0xFC , 3 , 0xE0 ,0xF , 0 , 0xFC
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
215
trunk/workspace/00_Lib/SAM-VoiceMaster/src/SamTabs.h
Normal file
215
trunk/workspace/00_Lib/SAM-VoiceMaster/src/SamTabs.h
Normal file
@@ -0,0 +1,215 @@
|
||||
#ifndef SAMTABS_H
|
||||
#define SAMTABS_H
|
||||
|
||||
//tab40672
|
||||
unsigned char stressInputTable[] =
|
||||
{
|
||||
'*', '1', '2', '3', '4', '5', '6', '7', '8'
|
||||
};
|
||||
|
||||
//tab40682
|
||||
unsigned char signInputTable1[]={
|
||||
' ', '.', '?', ',', '-', 'I', 'I', 'E',
|
||||
'A', 'A', 'A', 'A', 'U', 'A', 'I', 'E',
|
||||
'U', 'O', 'R', 'L', 'W', 'Y', 'W', 'R',
|
||||
'L', 'W', 'Y', 'M', 'N', 'N', 'D', 'Q',
|
||||
'S', 'S', 'F', 'T', '/', '/', 'Z', 'Z',
|
||||
'V', 'D', 'C', '*', 'J', '*', '*', '*',
|
||||
'E', 'A', 'O', 'A', 'O', 'U', 'B', '*',
|
||||
'*', 'D', '*', '*', 'G', '*', '*', 'G',
|
||||
'*', '*', 'P', '*', '*', 'T', '*', '*',
|
||||
'K', '*', '*', 'K', '*', '*', 'U', 'U',
|
||||
'U'
|
||||
};
|
||||
|
||||
//tab40763
|
||||
unsigned char signInputTable2[] =
|
||||
{
|
||||
'*', '*', '*', '*', '*', 'Y', 'H', 'H',
|
||||
'E', 'A', 'H', 'O', 'H', 'X', 'X', 'R',
|
||||
'X', 'H', 'X', 'X', 'X', 'X', 'H', '*',
|
||||
'*', '*', '*', '*', '*', 'X', 'X', '*',
|
||||
'*', 'H', '*', 'H', 'H', 'X', '*', 'H',
|
||||
'*', 'H', 'H', '*', '*', '*', '*', '*',
|
||||
'Y', 'Y', 'Y', 'W', 'W', 'W', '*', '*',
|
||||
'*', '*', '*', '*', '*', '*', '*', 'X',
|
||||
'*', '*', '*', '*', '*', '*', '*', '*',
|
||||
'*', '*', '*', 'X', '*', '*', 'L', 'M',
|
||||
'N'
|
||||
};
|
||||
|
||||
//loc_9F8C
|
||||
unsigned char flags[]={
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xA4 , 0xA4 , 0xA4 ,
|
||||
0xA4 , 0xA4 , 0xA4 , 0x84 , 0x84 , 0xA4 , 0xA4 , 0x84 ,
|
||||
0x84 , 0x84 , 0x84 , 0x84 , 0x84 , 0x84 , 0x44 , 0x44 ,
|
||||
0x44 , 0x44 , 0x44 , 0x4C , 0x4C , 0x4C , 0x48 , 0x4C ,
|
||||
0x40 , 0x40 , 0x40 , 0x40 , 0x40 , 0x40 , 0x44 , 0x44 ,
|
||||
0x44 , 0x44 , 0x48 , 0x40 , 0x4C , 0x44 , 0x00 , 0x00 ,
|
||||
0xB4 , 0xB4 , 0xB4 , 0x94 , 0x94 , 0x94 , 0x4E , 0x4E ,
|
||||
0x4E , 0x4E , 0x4E , 0x4E , 0x4E , 0x4E , 0x4E , 0x4E ,
|
||||
0x4E , 0x4E , 0x4B , 0x4B , 0x4B , 0x4B , 0x4B , 0x4B ,
|
||||
0x4B , 0x4B , 0x4B , 0x4B , 0x4B , 0x4B , 0x80 , 0xC1 ,
|
||||
0xC1
|
||||
|
||||
|
||||
};
|
||||
|
||||
//??? flags overlap flags2
|
||||
//loc_9FDA
|
||||
unsigned char flags2[] =
|
||||
{
|
||||
0x80 , 0xC1 , 0xC1 , 0xC1 , 0xC1 , 0x00 , 0x00 , 0x00 ,
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 ,
|
||||
0x10 , 0x10 , 0x10 , 0x08 , 0x0C , 0x08 , 0x04 , 0x40 ,
|
||||
0x24 , 0x20 , 0x20 , 0x24 , 0x00 , 0x00 , 0x24 , 0x20 ,
|
||||
0x20 , 0x24 , 0x20 , 0x20 , 0x00 , 0x20 , 0x00 , 0x00 ,
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
|
||||
0x00 , 0x04 , 0x04 , 0x04 , 0x00 , 0x00 , 0x00 , 0x00 ,
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x04 , 0x04 , 0x04 ,
|
||||
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
|
||||
};
|
||||
|
||||
|
||||
|
||||
//tab45616???
|
||||
unsigned char phonemeStressedLengthTable[] =
|
||||
{
|
||||
0x00 , 0x12 , 0x12 , 0x12 , 8 ,0xB , 9 ,0xB ,
|
||||
0xE ,0xF ,0xB , 0x10 ,0xC , 6 , 6 ,0xE ,
|
||||
0xC ,0xE ,0xC ,0xB , 8 , 8 ,0xB ,0xA ,
|
||||
9 , 8 , 8 , 8 , 8 , 8 , 3 , 5 ,
|
||||
2 , 2 , 2 , 2 , 2 , 2 , 6 , 6 ,
|
||||
8 , 6 , 6 , 2 , 9 , 4 , 2 , 1 ,
|
||||
0xE ,0xF ,0xF ,0xF ,0xE ,0xE , 8 , 2 ,
|
||||
2 , 7 , 2 , 1 , 7 , 2 , 2 , 7 ,
|
||||
2 , 2 , 8 , 2 , 2 , 6 , 2 , 2 ,
|
||||
7 , 2 , 4 , 7 , 1 , 4 , 5 , 5
|
||||
};
|
||||
|
||||
//tab45536???
|
||||
unsigned char phonemeLengthTable[] =
|
||||
{
|
||||
0 , 0x12 , 0x12 , 0x12 , 8 , 8 , 8 , 8 ,
|
||||
8 ,0xB , 6 ,0xC ,0xA , 5 , 5 ,0xB ,
|
||||
0xA ,0xA ,0xA , 9 , 8 , 7 , 9 , 7 ,
|
||||
6 , 8 , 6 , 7 , 7 , 7 , 2 , 5 ,
|
||||
2 , 2 , 2 , 2 , 2 , 2 , 6 , 6 ,
|
||||
7 , 6 , 6 , 2 , 8 , 3 , 1 , 0x1E ,
|
||||
0xD ,0xC ,0xC ,0xC ,0xE , 9 , 6 , 1 ,
|
||||
2 , 5 , 1 , 1 , 6 , 1 , 2 , 6 ,
|
||||
1 , 2 , 8 , 2 , 2 , 4 , 2 , 2 ,
|
||||
6 , 1 , 4 , 6 , 1 , 4 , 0xC7 , 0xFF
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
Ind | phoneme | flags |
|
||||
-----|---------|----------|
|
||||
0 | * | 00000000 |
|
||||
1 | .* | 00000000 |
|
||||
2 | ?* | 00000000 |
|
||||
3 | ,* | 00000000 |
|
||||
4 | -* | 00000000 |
|
||||
|
||||
VOWELS
|
||||
5 | IY | 10100100 |
|
||||
6 | IH | 10100100 |
|
||||
7 | EH | 10100100 |
|
||||
8 | AE | 10100100 |
|
||||
9 | AA | 10100100 |
|
||||
10 | AH | 10100100 |
|
||||
11 | AO | 10000100 |
|
||||
17 | OH | 10000100 |
|
||||
12 | UH | 10000100 |
|
||||
16 | UX | 10000100 |
|
||||
15 | ER | 10000100 |
|
||||
13 | AX | 10100100 |
|
||||
14 | IX | 10100100 |
|
||||
|
||||
DIPHTONGS
|
||||
48 | EY | 10110100 |
|
||||
49 | AY | 10110100 |
|
||||
50 | OY | 10110100 |
|
||||
51 | AW | 10010100 |
|
||||
52 | OW | 10010100 |
|
||||
53 | UW | 10010100 |
|
||||
|
||||
|
||||
21 | YX | 10000100 |
|
||||
20 | WX | 10000100 |
|
||||
18 | RX | 10000100 |
|
||||
19 | LX | 10000100 |
|
||||
37 | /X | 01000000 |
|
||||
30 | DX | 01001000 |
|
||||
|
||||
|
||||
22 | WH | 01000100 |
|
||||
|
||||
|
||||
VOICED CONSONANTS
|
||||
23 | R* | 01000100 |
|
||||
24 | L* | 01000100 |
|
||||
25 | W* | 01000100 |
|
||||
26 | Y* | 01000100 |
|
||||
27 | M* | 01001100 |
|
||||
28 | N* | 01001100 |
|
||||
29 | NX | 01001100 |
|
||||
54 | B* | 01001110 |
|
||||
57 | D* | 01001110 |
|
||||
60 | G* | 01001110 |
|
||||
44 | J* | 01001100 |
|
||||
38 | Z* | 01000100 |
|
||||
39 | ZH | 01000100 |
|
||||
40 | V* | 01000100 |
|
||||
41 | DH | 01000100 |
|
||||
|
||||
unvoiced CONSONANTS
|
||||
32 | S* | 01000000 |
|
||||
33 | SH | 01000000 |
|
||||
34 | F* | 01000000 |
|
||||
35 | TH | 01000000 |
|
||||
66 | P* | 01001011 |
|
||||
69 | T* | 01001011 |
|
||||
72 | K* | 01001011 |
|
||||
42 | CH | 01001000 |
|
||||
36 | /H | 01000000 |
|
||||
|
||||
43 | ** | 01000000 |
|
||||
45 | ** | 01000100 |
|
||||
46 | ** | 00000000 |
|
||||
47 | ** | 00000000 |
|
||||
|
||||
|
||||
55 | ** | 01001110 |
|
||||
56 | ** | 01001110 |
|
||||
58 | ** | 01001110 |
|
||||
59 | ** | 01001110 |
|
||||
61 | ** | 01001110 |
|
||||
62 | ** | 01001110 |
|
||||
63 | GX | 01001110 |
|
||||
64 | ** | 01001110 |
|
||||
65 | ** | 01001110 |
|
||||
67 | ** | 01001011 |
|
||||
68 | ** | 01001011 |
|
||||
70 | ** | 01001011 |
|
||||
71 | ** | 01001011 |
|
||||
73 | ** | 01001011 |
|
||||
74 | ** | 01001011 |
|
||||
75 | KX | 01001011 |
|
||||
76 | ** | 01001011 |
|
||||
77 | ** | 01001011 |
|
||||
|
||||
|
||||
SPECIAL
|
||||
78 | UL | 10000000 |
|
||||
79 | UM | 11000001 |
|
||||
80 | UN | 11000001 |
|
||||
31 | Q* | 01001100 |
|
||||
|
||||
*/
|
||||
|
||||
#endif
|
||||
75
trunk/workspace/00_Lib/SAM-VoiceMaster/src/debug.c
Normal file
75
trunk/workspace/00_Lib/SAM-VoiceMaster/src/debug.c
Normal file
@@ -0,0 +1,75 @@
|
||||
#include<stdio.h>
|
||||
|
||||
extern unsigned char signInputTable1[];
|
||||
extern unsigned char signInputTable2[];
|
||||
|
||||
void PrintPhonemes(unsigned char *phonemeindex, unsigned char *phonemeLength, unsigned char *stress)
|
||||
{
|
||||
int i = 0;
|
||||
printf("===========================================\n");
|
||||
|
||||
printf("Internal Phoneme presentation:\n\n");
|
||||
printf(" idx phoneme length stress\n");
|
||||
printf("------------------------------\n");
|
||||
|
||||
while((phonemeindex[i] != 255) && (i < 255))
|
||||
{
|
||||
if (phonemeindex[i] < 81)
|
||||
{
|
||||
printf(" %3i %c%c %3i %i\n",
|
||||
phonemeindex[i],
|
||||
signInputTable1[phonemeindex[i]],
|
||||
signInputTable2[phonemeindex[i]],
|
||||
phonemeLength[i],
|
||||
stress[i]
|
||||
);
|
||||
} else
|
||||
{
|
||||
printf(" %3i ?? %3i %i\n", phonemeindex[i], phonemeLength[i], stress[i]);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
printf("===========================================\n");
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
void PrintOutput(
|
||||
unsigned char *flag,
|
||||
unsigned char *f1,
|
||||
unsigned char *f2,
|
||||
unsigned char *f3,
|
||||
unsigned char *a1,
|
||||
unsigned char *a2,
|
||||
unsigned char *a3,
|
||||
unsigned char *p)
|
||||
{
|
||||
printf("===========================================\n");
|
||||
printf("Final data for speech output:\n\n");
|
||||
int i = 0;
|
||||
printf(" flags ampl1 freq1 ampl2 freq2 ampl3 freq3 pitch\n");
|
||||
printf("------------------------------------------------\n");
|
||||
while(i < 255)
|
||||
{
|
||||
printf("%5i %5i %5i %5i %5i %5i %5i %5i\n", flag[i], a1[i], f1[i], a2[i], f2[i], a3[i], f3[i], p[i]);
|
||||
i++;
|
||||
}
|
||||
printf("===========================================\n");
|
||||
|
||||
}
|
||||
|
||||
extern unsigned char GetRuleByte(unsigned short mem62, unsigned char Y);
|
||||
|
||||
void PrintRule(int offset)
|
||||
{
|
||||
int i = 1;
|
||||
unsigned char A = 0;
|
||||
printf("Applying rule: ");
|
||||
do
|
||||
{
|
||||
A = GetRuleByte(offset, i);
|
||||
if ((A&127) == '=') printf(" -> "); else printf("%c", A&127);
|
||||
i++;
|
||||
} while ((A&128)==0);
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
17
trunk/workspace/00_Lib/SAM-VoiceMaster/src/debug.h
Normal file
17
trunk/workspace/00_Lib/SAM-VoiceMaster/src/debug.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#ifndef DEBUG_H
|
||||
#define DEBUG_H
|
||||
|
||||
void PrintPhonemes(unsigned char *phonemeindex, unsigned char *phonemeLength, unsigned char *stress);
|
||||
void PrintOutput(
|
||||
unsigned char *flag,
|
||||
unsigned char *f1,
|
||||
unsigned char *f2,
|
||||
unsigned char *f3,
|
||||
unsigned char *a1,
|
||||
unsigned char *a2,
|
||||
unsigned char *a3,
|
||||
unsigned char *p);
|
||||
|
||||
void PrintRule(int offset);
|
||||
|
||||
#endif
|
||||
269
trunk/workspace/00_Lib/SAM-VoiceMaster/src/main.c
Normal file
269
trunk/workspace/00_Lib/SAM-VoiceMaster/src/main.c
Normal file
@@ -0,0 +1,269 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "reciter.h"
|
||||
#include "sam.h"
|
||||
#include "debug.h"
|
||||
|
||||
#ifdef USESDL
|
||||
#include <SDL.h>
|
||||
#include <SDL_audio.h>
|
||||
#endif
|
||||
|
||||
void WriteWav(char* filename, char* buffer, int bufferlength)
|
||||
{
|
||||
FILE *file = fopen(filename, "wb");
|
||||
if (file == NULL) return;
|
||||
//RIFF header
|
||||
fwrite("RIFF", 4, 1,file);
|
||||
unsigned int filesize=bufferlength + 12 + 16 + 8 - 8;
|
||||
fwrite(&filesize, 4, 1, file);
|
||||
fwrite("WAVE", 4, 1, file);
|
||||
|
||||
//format chunk
|
||||
fwrite("fmt ", 4, 1, file);
|
||||
unsigned int fmtlength = 16;
|
||||
fwrite(&fmtlength, 4, 1, file);
|
||||
unsigned short int format=1; //PCM
|
||||
fwrite(&format, 2, 1, file);
|
||||
unsigned short int channels=1;
|
||||
fwrite(&channels, 2, 1, file);
|
||||
unsigned int samplerate = 22050;
|
||||
fwrite(&samplerate, 4, 1, file);
|
||||
fwrite(&samplerate, 4, 1, file); // bytes/second
|
||||
unsigned short int blockalign = 1;
|
||||
fwrite(&blockalign, 2, 1, file);
|
||||
unsigned short int bitspersample=8;
|
||||
fwrite(&bitspersample, 2, 1, file);
|
||||
|
||||
//data chunk
|
||||
fwrite("data", 4, 1, file);
|
||||
fwrite(&bufferlength, 4, 1, file);
|
||||
fwrite(buffer, bufferlength, 1, file);
|
||||
|
||||
fclose(file);
|
||||
}
|
||||
|
||||
void PrintUsage()
|
||||
{
|
||||
printf("usage: sam [options] Word1 Word2 ....\n");
|
||||
printf("options\n");
|
||||
printf(" -phonetic enters phonetic mode. (see below)\n");
|
||||
printf(" -pitch number set pitch value (default=64)\n");
|
||||
printf(" -speed number set speed value (default=72)\n");
|
||||
printf(" -throat number set throat value (default=128)\n");
|
||||
printf(" -mouth number set mouth value (default=128)\n");
|
||||
printf(" -wav filename output to wav instead of libsdl\n");
|
||||
printf(" -sing special treatment of pitch\n");
|
||||
printf(" -debug print additional debug messages\n");
|
||||
printf("\n");
|
||||
|
||||
|
||||
printf(" VOWELS VOICED CONSONANTS \n");
|
||||
printf("IY f(ee)t R red \n");
|
||||
printf("IH p(i)n L allow \n");
|
||||
printf("EH beg W away \n");
|
||||
printf("AE Sam W whale \n");
|
||||
printf("AA pot Y you \n");
|
||||
printf("AH b(u)dget M Sam \n");
|
||||
printf("AO t(al)k N man \n");
|
||||
printf("OH cone NX so(ng) \n");
|
||||
printf("UH book B bad \n");
|
||||
printf("UX l(oo)t D dog \n");
|
||||
printf("ER bird G again \n");
|
||||
printf("AX gall(o)n J judge \n");
|
||||
printf("IX dig(i)t Z zoo \n");
|
||||
printf(" ZH plea(s)ure \n");
|
||||
printf(" DIPHTHONGS V seven \n");
|
||||
printf("EY m(a)de DH (th)en \n");
|
||||
printf("AY h(igh) \n");
|
||||
printf("OY boy \n");
|
||||
printf("AW h(ow) UNVOICED CONSONANTS \n");
|
||||
printf("OW slow S Sam \n");
|
||||
printf("UW crew Sh fish \n");
|
||||
printf(" F fish \n");
|
||||
printf(" TH thin \n");
|
||||
printf(" SPECIAL PHONEMES P poke \n");
|
||||
printf("UL sett(le) (=AXL) T talk \n");
|
||||
printf("UM astron(omy) (=AXM) K cake \n");
|
||||
printf("UN functi(on) (=AXN) CH speech \n");
|
||||
printf("Q kitt-en (glottal stop) /H a(h)ead \n");
|
||||
}
|
||||
|
||||
#ifdef USESDL
|
||||
|
||||
int pos = 0;
|
||||
void MixAudio(void *unused, Uint8 *stream, int len)
|
||||
{
|
||||
int bufferpos = GetBufferLength();
|
||||
char *buffer = GetBuffer();
|
||||
int i;
|
||||
if (pos >= bufferpos) return;
|
||||
if ((bufferpos-pos) < len) len = (bufferpos-pos);
|
||||
for(i=0; i<len; i++)
|
||||
{
|
||||
stream[i] = buffer[pos];
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void OutputSound()
|
||||
{
|
||||
int bufferpos = GetBufferLength();
|
||||
bufferpos /= 50;
|
||||
SDL_AudioSpec fmt;
|
||||
|
||||
fmt.freq = 22050;
|
||||
fmt.format = AUDIO_U8;
|
||||
fmt.channels = 1;
|
||||
fmt.samples = 2048;
|
||||
fmt.callback = MixAudio;
|
||||
fmt.userdata = NULL;
|
||||
|
||||
/* Open the audio device and start playing sound! */
|
||||
if ( SDL_OpenAudio(&fmt, NULL) < 0 )
|
||||
{
|
||||
printf("Unable to open audio: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
SDL_PauseAudio(0);
|
||||
//SDL_Delay((bufferpos)/7);
|
||||
|
||||
while (pos < bufferpos)
|
||||
{
|
||||
SDL_Delay(100);
|
||||
}
|
||||
|
||||
SDL_CloseAudio();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void OutputSound() {}
|
||||
|
||||
#endif
|
||||
|
||||
int debug = 0;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
int phonetic = 0;
|
||||
|
||||
char* wavfilename = NULL;
|
||||
char input[256];
|
||||
|
||||
for(i=0; i<256; i++) input[i] = 0;
|
||||
|
||||
if (argc <= 1)
|
||||
{
|
||||
PrintUsage();
|
||||
return 1;
|
||||
}
|
||||
|
||||
i = 1;
|
||||
while(i < argc)
|
||||
{
|
||||
if (argv[i][0] != '-')
|
||||
{
|
||||
strcat(input, argv[i]);
|
||||
strcat(input, " ");
|
||||
} else
|
||||
{
|
||||
if (strcmp(&argv[i][1], "wav")==0)
|
||||
{
|
||||
wavfilename = argv[i+1];
|
||||
i++;
|
||||
} else
|
||||
if (strcmp(&argv[i][1], "sing")==0)
|
||||
{
|
||||
EnableSingmode();
|
||||
} else
|
||||
if (strcmp(&argv[i][1], "phonetic")==0)
|
||||
{
|
||||
phonetic = 1;
|
||||
} else
|
||||
if (strcmp(&argv[i][1], "debug")==0)
|
||||
{
|
||||
debug = 1;
|
||||
} else
|
||||
if (strcmp(&argv[i][1], "pitch")==0)
|
||||
{
|
||||
SetPitch(atoi(argv[i+1]));
|
||||
i++;
|
||||
} else
|
||||
if (strcmp(&argv[i][1], "speed")==0)
|
||||
{
|
||||
SetSpeed(atoi(argv[i+1]));
|
||||
i++;
|
||||
} else
|
||||
if (strcmp(&argv[i][1], "mouth")==0)
|
||||
{
|
||||
SetMouth(atoi(argv[i+1]));
|
||||
i++;
|
||||
} else
|
||||
if (strcmp(&argv[i][1], "throat")==0)
|
||||
{
|
||||
SetThroat(atoi(argv[i+1]));
|
||||
i++;
|
||||
} else
|
||||
{
|
||||
PrintUsage();
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
i++;
|
||||
} //while
|
||||
|
||||
for(i=0; input[i] != 0; i++)
|
||||
input[i] = toupper((int)input[i]);
|
||||
|
||||
if (debug)
|
||||
{
|
||||
if (phonetic) printf("phonetic input: %s\n", input);
|
||||
else printf("text input: %s\n", input);
|
||||
}
|
||||
|
||||
if (!phonetic)
|
||||
{
|
||||
strcat(input, "[");
|
||||
if (!TextToPhonemes(input)) return 1;
|
||||
if (debug)
|
||||
printf("phonetic input: %s\n", input);
|
||||
} else strcat(input, "\x9b");
|
||||
|
||||
#ifdef USESDL
|
||||
if ( SDL_Init(SDL_INIT_AUDIO) < 0 )
|
||||
{
|
||||
printf("Unable to init SDL: %s\n", SDL_GetError());
|
||||
exit(1);
|
||||
}
|
||||
atexit(SDL_Quit);
|
||||
#endif
|
||||
|
||||
SetInput(input);
|
||||
if (!SAMMain())
|
||||
{
|
||||
PrintUsage();
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (wavfilename != NULL)
|
||||
WriteWav(wavfilename, GetBuffer(), GetBufferLength()/50);
|
||||
else
|
||||
OutputSound();
|
||||
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
554
trunk/workspace/00_Lib/SAM-VoiceMaster/src/reciter.c
Normal file
554
trunk/workspace/00_Lib/SAM-VoiceMaster/src/reciter.c
Normal file
@@ -0,0 +1,554 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "reciter.h"
|
||||
#include "ReciterTabs.h"
|
||||
#include "debug.h"
|
||||
|
||||
unsigned char A, X, Y;
|
||||
extern int debug;
|
||||
|
||||
static unsigned char inputtemp[256]; // secure copy of input tab36096
|
||||
|
||||
void Code37055(unsigned char mem59)
|
||||
{
|
||||
X = mem59;
|
||||
X--;
|
||||
A = inputtemp[X];
|
||||
Y = A;
|
||||
A = tab36376[Y];
|
||||
return;
|
||||
}
|
||||
|
||||
void Code37066(unsigned char mem58)
|
||||
{
|
||||
X = mem58;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
Y = A;
|
||||
A = tab36376[Y];
|
||||
}
|
||||
|
||||
unsigned char GetRuleByte(unsigned short mem62, unsigned char Y)
|
||||
{
|
||||
unsigned int address = mem62;
|
||||
|
||||
if (mem62 >= 37541)
|
||||
{
|
||||
address -= 37541;
|
||||
return rules2[address+Y];
|
||||
}
|
||||
address -= 32000;
|
||||
return rules[address+Y];
|
||||
}
|
||||
|
||||
int TextToPhonemes(char *input) // Code36484
|
||||
{
|
||||
//unsigned char *tab39445 = &mem[39445]; //input and output
|
||||
//unsigned char mem29;
|
||||
unsigned char mem56; //output position for phonemes
|
||||
unsigned char mem57;
|
||||
unsigned char mem58;
|
||||
unsigned char mem59;
|
||||
unsigned char mem60;
|
||||
unsigned char mem61;
|
||||
unsigned short mem62; // memory position of current rule
|
||||
|
||||
unsigned char mem64; // position of '=' or current character
|
||||
unsigned char mem65; // position of ')'
|
||||
unsigned char mem66; // position of '('
|
||||
unsigned char mem36653;
|
||||
|
||||
inputtemp[0] = 32;
|
||||
|
||||
// secure copy of input
|
||||
// because input will be overwritten by phonemes
|
||||
X = 1;
|
||||
Y = 0;
|
||||
do
|
||||
{
|
||||
//pos36499:
|
||||
A = input[Y] & 127;
|
||||
if ( A >= 112) A = A & 95;
|
||||
else if ( A >= 96) A = A & 79;
|
||||
|
||||
inputtemp[X] = A;
|
||||
X++;
|
||||
Y++;
|
||||
} while (Y != 255);
|
||||
|
||||
|
||||
X = 255;
|
||||
inputtemp[X] = 27;
|
||||
mem61 = 255;
|
||||
|
||||
|
||||
pos36550:
|
||||
A = 255;
|
||||
mem56 = 255;
|
||||
|
||||
|
||||
pos36554:
|
||||
while(1)
|
||||
{
|
||||
mem61++;
|
||||
X = mem61;
|
||||
A = inputtemp[X];
|
||||
mem64 = A;
|
||||
if (A == '[')
|
||||
{
|
||||
mem56++;
|
||||
X = mem56;
|
||||
A = 155;
|
||||
input[X] = 155;
|
||||
//goto pos36542;
|
||||
// Code39771(); //Code39777();
|
||||
return 1;
|
||||
}
|
||||
|
||||
//pos36579:
|
||||
if (A != '.') break;
|
||||
X++;
|
||||
Y = inputtemp[X];
|
||||
A = tab36376[Y] & 1;
|
||||
if(A != 0) break;
|
||||
mem56++;
|
||||
X = mem56;
|
||||
A = '.';
|
||||
input[X] = '.';
|
||||
} //while
|
||||
|
||||
|
||||
//pos36607:
|
||||
A = mem64;
|
||||
Y = A;
|
||||
A = tab36376[A];
|
||||
mem57 = A;
|
||||
if((A&2) != 0)
|
||||
{
|
||||
mem62 = 37541;
|
||||
goto pos36700;
|
||||
}
|
||||
|
||||
//pos36630:
|
||||
A = mem57;
|
||||
if(A != 0) goto pos36677;
|
||||
A = 32;
|
||||
inputtemp[X] = ' ';
|
||||
mem56++;
|
||||
X = mem56;
|
||||
if (X > 120) goto pos36654;
|
||||
input[X] = A;
|
||||
goto pos36554;
|
||||
|
||||
// -----
|
||||
|
||||
//36653 is unknown. Contains position
|
||||
|
||||
pos36654:
|
||||
input[X] = 155;
|
||||
A = mem61;
|
||||
mem36653 = A;
|
||||
// mem29 = A; // not used
|
||||
// Code36538(); das ist eigentlich
|
||||
return 1;
|
||||
//Code39771();
|
||||
//go on if there is more input ???
|
||||
mem61 = mem36653;
|
||||
goto pos36550;
|
||||
|
||||
pos36677:
|
||||
A = mem57 & 128;
|
||||
if(A == 0)
|
||||
{
|
||||
//36683: BRK
|
||||
return 0;
|
||||
}
|
||||
|
||||
// go to the right rules for this character.
|
||||
X = mem64 - 'A';
|
||||
mem62 = tab37489[X] | (tab37515[X]<<8);
|
||||
|
||||
// -------------------------------------
|
||||
// go to next rule
|
||||
// -------------------------------------
|
||||
|
||||
pos36700:
|
||||
|
||||
// find next rule
|
||||
Y = 0;
|
||||
do
|
||||
{
|
||||
mem62 += 1;
|
||||
A = GetRuleByte(mem62, Y);
|
||||
} while ((A & 128) == 0);
|
||||
Y++;
|
||||
|
||||
//pos36720:
|
||||
// find '('
|
||||
while(1)
|
||||
{
|
||||
A = GetRuleByte(mem62, Y);
|
||||
if (A == '(') break;
|
||||
Y++;
|
||||
}
|
||||
mem66 = Y;
|
||||
|
||||
//pos36732:
|
||||
// find ')'
|
||||
do
|
||||
{
|
||||
Y++;
|
||||
A = GetRuleByte(mem62, Y);
|
||||
} while(A != ')');
|
||||
mem65 = Y;
|
||||
|
||||
//pos36741:
|
||||
// find '='
|
||||
do
|
||||
{
|
||||
Y++;
|
||||
A = GetRuleByte(mem62, Y);
|
||||
A = A & 127;
|
||||
} while (A != '=');
|
||||
mem64 = Y;
|
||||
|
||||
X = mem61;
|
||||
mem60 = X;
|
||||
|
||||
// compare the string within the bracket
|
||||
Y = mem66;
|
||||
Y++;
|
||||
//pos36759:
|
||||
while(1)
|
||||
{
|
||||
mem57 = inputtemp[X];
|
||||
A = GetRuleByte(mem62, Y);
|
||||
if (A != mem57) goto pos36700;
|
||||
Y++;
|
||||
if(Y == mem65) break;
|
||||
X++;
|
||||
mem60 = X;
|
||||
}
|
||||
|
||||
// the string in the bracket is correct
|
||||
|
||||
//pos36787:
|
||||
A = mem61;
|
||||
mem59 = mem61;
|
||||
|
||||
pos36791:
|
||||
while(1)
|
||||
{
|
||||
mem66--;
|
||||
Y = mem66;
|
||||
A = GetRuleByte(mem62, Y);
|
||||
mem57 = A;
|
||||
//36800: BPL 36805
|
||||
if ((A & 128) != 0) goto pos37180;
|
||||
X = A & 127;
|
||||
A = tab36376[X] & 128;
|
||||
if (A == 0) break;
|
||||
X = mem59-1;
|
||||
A = inputtemp[X];
|
||||
if (A != mem57) goto pos36700;
|
||||
mem59 = X;
|
||||
}
|
||||
|
||||
//pos36833:
|
||||
A = mem57;
|
||||
if (A == ' ') goto pos36895;
|
||||
if (A == '#') goto pos36910;
|
||||
if (A == '.') goto pos36920;
|
||||
if (A == '&') goto pos36935;
|
||||
if (A == '@') goto pos36967;
|
||||
if (A == '^') goto pos37004;
|
||||
if (A == '+') goto pos37019;
|
||||
if (A == ':') goto pos37040;
|
||||
// Code42041(); //Error
|
||||
//36894: BRK
|
||||
return 0;
|
||||
|
||||
// --------------
|
||||
|
||||
pos36895:
|
||||
Code37055(mem59);
|
||||
A = A & 128;
|
||||
if(A != 0) goto pos36700;
|
||||
pos36905:
|
||||
mem59 = X;
|
||||
goto pos36791;
|
||||
|
||||
// --------------
|
||||
|
||||
pos36910:
|
||||
Code37055(mem59);
|
||||
A = A & 64;
|
||||
if(A != 0) goto pos36905;
|
||||
goto pos36700;
|
||||
|
||||
// --------------
|
||||
|
||||
|
||||
pos36920:
|
||||
Code37055(mem59);
|
||||
A = A & 8;
|
||||
if(A == 0) goto pos36700;
|
||||
pos36930:
|
||||
mem59 = X;
|
||||
goto pos36791;
|
||||
|
||||
// --------------
|
||||
|
||||
pos36935:
|
||||
Code37055(mem59);
|
||||
A = A & 16;
|
||||
if(A != 0) goto pos36930;
|
||||
A = inputtemp[X];
|
||||
if (A != 72) goto pos36700;
|
||||
X--;
|
||||
A = inputtemp[X];
|
||||
if ((A == 67) || (A == 83)) goto pos36930;
|
||||
goto pos36700;
|
||||
|
||||
// --------------
|
||||
|
||||
pos36967:
|
||||
Code37055(mem59);
|
||||
A = A & 4;
|
||||
if(A != 0) goto pos36930;
|
||||
A = inputtemp[X];
|
||||
if (A != 72) goto pos36700;
|
||||
if ((A != 84) && (A != 67) && (A != 83)) goto pos36700;
|
||||
mem59 = X;
|
||||
goto pos36791;
|
||||
|
||||
// --------------
|
||||
|
||||
|
||||
pos37004:
|
||||
Code37055(mem59);
|
||||
A = A & 32;
|
||||
if(A == 0) goto pos36700;
|
||||
|
||||
pos37014:
|
||||
mem59 = X;
|
||||
goto pos36791;
|
||||
|
||||
// --------------
|
||||
|
||||
pos37019:
|
||||
X = mem59;
|
||||
X--;
|
||||
A = inputtemp[X];
|
||||
if ((A == 'E') || (A == 'I') || (A == 'Y')) goto pos37014;
|
||||
goto pos36700;
|
||||
// --------------
|
||||
|
||||
pos37040:
|
||||
Code37055(mem59);
|
||||
A = A & 32;
|
||||
if(A == 0) goto pos36791;
|
||||
mem59 = X;
|
||||
goto pos37040;
|
||||
|
||||
//---------------------------------------
|
||||
|
||||
|
||||
pos37077:
|
||||
X = mem58+1;
|
||||
A = inputtemp[X];
|
||||
if (A != 'E') goto pos37157;
|
||||
X++;
|
||||
Y = inputtemp[X];
|
||||
X--;
|
||||
A = tab36376[Y] & 128;
|
||||
if(A == 0) goto pos37108;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if (A != 'R') goto pos37113;
|
||||
pos37108:
|
||||
mem58 = X;
|
||||
goto pos37184;
|
||||
pos37113:
|
||||
if ((A == 83) || (A == 68)) goto pos37108; // 'S' 'D'
|
||||
if (A != 76) goto pos37135; // 'L'
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if (A != 89) goto pos36700;
|
||||
goto pos37108;
|
||||
|
||||
pos37135:
|
||||
if (A != 70) goto pos36700;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if (A != 85) goto pos36700;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if (A == 76) goto pos37108;
|
||||
goto pos36700;
|
||||
|
||||
pos37157:
|
||||
if (A != 73) goto pos36700;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if (A != 78) goto pos36700;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if (A == 71) goto pos37108;
|
||||
//pos37177:
|
||||
goto pos36700;
|
||||
|
||||
// -----------------------------------------
|
||||
|
||||
pos37180:
|
||||
|
||||
A = mem60;
|
||||
mem58 = A;
|
||||
|
||||
pos37184:
|
||||
Y = mem65 + 1;
|
||||
|
||||
//37187: CPY 64
|
||||
// if(? != 0) goto pos37194;
|
||||
if(Y == mem64) goto pos37455;
|
||||
mem65 = Y;
|
||||
//37196: LDA (62),y
|
||||
A = GetRuleByte(mem62, Y);
|
||||
mem57 = A;
|
||||
X = A;
|
||||
A = tab36376[X] & 128;
|
||||
if(A == 0) goto pos37226;
|
||||
X = mem58+1;
|
||||
A = inputtemp[X];
|
||||
if (A != mem57) goto pos36700;
|
||||
mem58 = X;
|
||||
goto pos37184;
|
||||
pos37226:
|
||||
A = mem57;
|
||||
if (A == 32) goto pos37295; // ' '
|
||||
if (A == 35) goto pos37310; // '#'
|
||||
if (A == 46) goto pos37320; // '.'
|
||||
if (A == 38) goto pos37335; // '&'
|
||||
if (A == 64) goto pos37367; // ''
|
||||
if (A == 94) goto pos37404; // ''
|
||||
if (A == 43) goto pos37419; // '+'
|
||||
if (A == 58) goto pos37440; // ':'
|
||||
if (A == 37) goto pos37077; // '%'
|
||||
//pos37291:
|
||||
// Code42041(); //Error
|
||||
//37294: BRK
|
||||
return 0;
|
||||
|
||||
// --------------
|
||||
pos37295:
|
||||
Code37066(mem58);
|
||||
A = A & 128;
|
||||
if(A != 0) goto pos36700;
|
||||
pos37305:
|
||||
mem58 = X;
|
||||
goto pos37184;
|
||||
|
||||
// --------------
|
||||
|
||||
pos37310:
|
||||
Code37066(mem58);
|
||||
A = A & 64;
|
||||
if(A != 0) goto pos37305;
|
||||
goto pos36700;
|
||||
|
||||
// --------------
|
||||
|
||||
|
||||
pos37320:
|
||||
Code37066(mem58);
|
||||
A = A & 8;
|
||||
if(A == 0) goto pos36700;
|
||||
|
||||
pos37330:
|
||||
mem58 = X;
|
||||
goto pos37184;
|
||||
|
||||
// --------------
|
||||
|
||||
pos37335:
|
||||
Code37066(mem58);
|
||||
A = A & 16;
|
||||
if(A != 0) goto pos37330;
|
||||
A = inputtemp[X];
|
||||
if (A != 72) goto pos36700;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if ((A == 67) || (A == 83)) goto pos37330;
|
||||
goto pos36700;
|
||||
|
||||
// --------------
|
||||
|
||||
|
||||
pos37367:
|
||||
Code37066(mem58);
|
||||
A = A & 4;
|
||||
if(A != 0) goto pos37330;
|
||||
A = inputtemp[X];
|
||||
if (A != 72) goto pos36700;
|
||||
if ((A != 84) && (A != 67) && (A != 83)) goto pos36700;
|
||||
mem58 = X;
|
||||
goto pos37184;
|
||||
|
||||
// --------------
|
||||
|
||||
pos37404:
|
||||
Code37066(mem58);
|
||||
A = A & 32;
|
||||
if(A == 0) goto pos36700;
|
||||
pos37414:
|
||||
mem58 = X;
|
||||
goto pos37184;
|
||||
|
||||
// --------------
|
||||
|
||||
pos37419:
|
||||
X = mem58;
|
||||
X++;
|
||||
A = inputtemp[X];
|
||||
if ((A == 69) || (A == 73) || (A == 89)) goto pos37414;
|
||||
goto pos36700;
|
||||
|
||||
// ----------------------
|
||||
|
||||
pos37440:
|
||||
|
||||
Code37066(mem58);
|
||||
A = A & 32;
|
||||
if(A == 0) goto pos37184;
|
||||
mem58 = X;
|
||||
goto pos37440;
|
||||
pos37455:
|
||||
Y = mem64;
|
||||
mem61 = mem60;
|
||||
|
||||
if (debug)
|
||||
PrintRule(mem62);
|
||||
|
||||
pos37461:
|
||||
//37461: LDA (62),y
|
||||
A = GetRuleByte(mem62, Y);
|
||||
mem57 = A;
|
||||
A = A & 127;
|
||||
if (A != '=')
|
||||
{
|
||||
mem56++;
|
||||
X = mem56;
|
||||
input[X] = A;
|
||||
}
|
||||
|
||||
//37478: BIT 57
|
||||
//37480: BPL 37485 //not negative flag
|
||||
if ((mem57 & 128) == 0) goto pos37485; //???
|
||||
goto pos36554;
|
||||
pos37485:
|
||||
Y++;
|
||||
goto pos37461;
|
||||
}
|
||||
|
||||
|
||||
|
||||
9
trunk/workspace/00_Lib/SAM-VoiceMaster/src/reciter.h
Normal file
9
trunk/workspace/00_Lib/SAM-VoiceMaster/src/reciter.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef RECITER_C
|
||||
#define RECITER_C
|
||||
|
||||
//int TextToPhonemes(char *input, char *output);
|
||||
|
||||
int TextToPhonemes(char *input);
|
||||
|
||||
#endif
|
||||
|
||||
1089
trunk/workspace/00_Lib/SAM-VoiceMaster/src/render.c
Normal file
1089
trunk/workspace/00_Lib/SAM-VoiceMaster/src/render.c
Normal file
File diff suppressed because it is too large
Load Diff
7
trunk/workspace/00_Lib/SAM-VoiceMaster/src/render.h
Normal file
7
trunk/workspace/00_Lib/SAM-VoiceMaster/src/render.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef RENDER_H
|
||||
#define RENDER_H
|
||||
|
||||
void Render();
|
||||
void SetMouthThroat(unsigned char mouth, unsigned char throat);
|
||||
|
||||
#endif
|
||||
1453
trunk/workspace/00_Lib/SAM-VoiceMaster/src/sam.c
Normal file
1453
trunk/workspace/00_Lib/SAM-VoiceMaster/src/sam.c
Normal file
File diff suppressed because it is too large
Load Diff
39
trunk/workspace/00_Lib/SAM-VoiceMaster/src/sam.h
Normal file
39
trunk/workspace/00_Lib/SAM-VoiceMaster/src/sam.h
Normal file
@@ -0,0 +1,39 @@
|
||||
#ifndef SAM_H
|
||||
#define SAM_H
|
||||
|
||||
void SetInput(char *_input);
|
||||
void SetSpeed(unsigned char _speed);
|
||||
void SetPitch(unsigned char _pitch);
|
||||
void SetMouth(unsigned char _mouth);
|
||||
void SetThroat(unsigned char _throat);
|
||||
void EnableSingmode();
|
||||
void EnableDebug();
|
||||
|
||||
int SAMMain();
|
||||
|
||||
char* GetBuffer();
|
||||
int GetBufferLength();
|
||||
|
||||
|
||||
//char input[]={"/HAALAOAO MAYN NAAMAEAE IHSTT SAEBAASTTIHAAN \x9b\x9b\0"};
|
||||
//unsigned char input[]={"/HAALAOAO \x9b\0"};
|
||||
//unsigned char input[]={"AA \x9b\0"};
|
||||
//unsigned char input[] = {"GUH5DEHN TAEG\x9b\0"};
|
||||
|
||||
//unsigned char input[]={"AY5 AEM EY TAO4LXKIHNX KAX4MPYUX4TAH. GOW4 AH/HEH3D PAHNK.MEYK MAY8 DEY.\x9b\0"};
|
||||
//unsigned char input[]={"/HEH3LOW2, /HAW AH YUX2 TUXDEY. AY /HOH3P YUX AH FIYLIHNX OW4 KEY.\x9b\0"};
|
||||
//unsigned char input[]={"/HEY2, DHIHS IH3Z GREY2T. /HAH /HAH /HAH.AYL BIY5 BAEK.\x9b\0"};
|
||||
//unsigned char input[]={"/HAH /HAH /HAH \x9b\0"};
|
||||
//unsigned char input[]={"/HAH /HAH /HAH.\x9b\0"};
|
||||
//unsigned char input[]={".TUW BIY5Y3,, OHR NAA3T - TUW BIY5IYIY., DHAE4T IHZ DHAH KWEH4SCHAHN.\x9b\0"};
|
||||
//unsigned char input[]={"/HEY2, DHIHS \x9b\0"};
|
||||
|
||||
//unsigned char input[]={" IYIHEHAEAAAHAOOHUHUXERAXIX \x9b\0"};
|
||||
//unsigned char input[]={" RLWWYMNNXBDGJZZHVDH \x9b\0"};
|
||||
//unsigned char input[]={" SSHFTHPTKCH/H \x9b\0"};
|
||||
|
||||
//unsigned char input[]={" EYAYOYAWOWUW ULUMUNQ YXWXRXLX/XDX\x9b\0"};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user