Browse Source

Use bit offsets to define the phflag phXYZ values.

master
Reece H. Dunn 8 years ago
parent
commit
a66cc8de7f
1 changed files with 37 additions and 21 deletions
  1. 37
    21
      src/libespeak-ng/phoneme.h

+ 37
- 21
src/libespeak-ng/phoneme.h View File

#define phDELETED 14 #define phDELETED 14
#define phINVALID 15 #define phINVALID 15


// phoneme properties
// bits 16-19 give place of articulation
#define phARTICULATION 0xf0000
#define phUNSTRESSED 0x02
#define phVOICELESS 0x08
#define phVOICED 0x10
#define phSIBILANT 0x20
#define phNOLINK 0x40
#define phTRILL 0x80
#define phPALATAL 0x200
#define phBRKAFTER 0x4000 // [*] add a post-pause

#define phNONSYLLABIC 0x100000 // don't count this vowel as a syllable when finding the stress position
#define phLONG 0x200000
#define phLENGTHENSTOP 0x400000 // make the pre-pause slightly longer
#define phRHOTIC 0x800000 // bit 23
#define phNOPAUSE 0x1000000
#define phPREVOICE 0x2000000 // for voiced stops
// phflags
#define phFLAGBIT_UNSTRESSED 1
#define phFLAGBIT_VOICELESS 3
#define phFLAGBIT_VOICED 4
#define phFLAGBIT_SIBILANT 5
#define phFLAGBIT_NOLINK 6
#define phFLAGBIT_TRILL 7
#define phFLAGBIT_PALATAL 9
#define phFLAGBIT_BRKAFTER 14 // [*] add a post-pause
#define phARTICULATION 0xf0000 // bits 16-19
#define phFLAGBIT_NONSYLLABIC 20 // don't count this vowel as a syllable when finding the stress position
#define phFLAGBIT_LONG 21
#define phFLAGBIT_LENGTHENSTOP 22 // make the pre-pause slightly longer
#define phFLAGBIT_RHOTIC 23
#define phFLAGBIT_NOPAUSE 24
#define phFLAGBIT_PREVOICE 25 // for voiced stops
#define phFLAGBIT_FLAG1 28
#define phFLAGBIT_FLAG2 29
#define phFLAGBIT_LOCAL 31 // used during compilation


#define phFLAG1 0x10000000
#define phFLAG2 0x20000000
#define phLOCAL 0x80000000 // used during compilation
// phoneme properties
#define phUNSTRESSED (1 << phFLAGBIT_UNSTRESSED)
#define phVOICELESS (1 << phFLAGBIT_VOICELESS)
#define phVOICED (1 << phFLAGBIT_VOICED)
#define phSIBILANT (1 << phFLAGBIT_SIBILANT)
#define phNOLINK (1 << phFLAGBIT_NOLINK)
#define phTRILL (1 << phFLAGBIT_TRILL)
#define phPALATAL (1 << phFLAGBIT_PALATAL)
#define phBRKAFTER (1 << phFLAGBIT_BRKAFTER)
#define phNONSYLLABIC (1 << phFLAGBIT_NONSYLLABIC)
#define phLONG (1 << phFLAGBIT_LONG)
#define phLENGTHENSTOP (1 << phFLAGBIT_LENGTHENSTOP)
#define phRHOTIC (1 << phFLAGBIT_RHOTIC)
#define phNOPAUSE (1 << phFLAGBIT_NOPAUSE)
#define phPREVOICE (1 << phFLAGBIT_PREVOICE)
#define phFLAG1 (1 << phFLAGBIT_FLAG1)
#define phFLAG2 (1 << phFLAGBIT_FLAG2)
#define phLOCAL (1 << phFLAGBIT_LOCAL)


// fixed phoneme code numbers, these can be used from the program code // fixed phoneme code numbers, these can be used from the program code
#define phonCONTROL 1 #define phonCONTROL 1

Loading…
Cancel
Save