#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "dictionary.h" | |||||
#include "readclause.h" | #include "readclause.h" | ||||
#include "error.h" | #include "error.h" |
#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "dictionary.h" | |||||
#include "numbers.h" | |||||
#include "readclause.h" | #include "readclause.h" | ||||
#include "synthdata.h" | #include "synthdata.h" | ||||
#include "numbers.h" | |||||
#include "speech.h" | #include "speech.h" | ||||
#include "phoneme.h" | #include "phoneme.h" | ||||
} | } | ||||
#pragma GCC visibility pop | #pragma GCC visibility pop | ||||
int Reverse4Bytes(int word) | |||||
static int Reverse4Bytes(int word) | |||||
{ | { | ||||
// reverse the order of bytes from little-endian to big-endian | // reverse the order of bytes from little-endian to big-endian | ||||
#ifdef ARCH_BIG | #ifdef ARCH_BIG |
/* | |||||
* Copyright (C) 2005 to 2015 by Jonathan Duddington | |||||
* email: [email protected] | |||||
* Copyright (C) 2015-2018 Reece H. Dunn | |||||
* Copyright (C) 2018 Juho Hiltunen | |||||
* | |||||
* 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; either version 3 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU General Public License | |||||
* along with this program; if not, see: <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#ifndef ESPEAK_NG_DICTIONARY_H | |||||
#define ESPEAK_NG_DICTIONARY_H | |||||
#include "synthesize.h" | |||||
#include "translate.h" | |||||
#ifdef __cplusplus | |||||
extern "C" | |||||
{ | |||||
#endif | |||||
void strncpy0(char *to, const char *from, int size); | |||||
int LoadDictionary(Translator *tr, const char *name, int no_error); | |||||
int HashDictionary(const char *string); | |||||
const char *EncodePhonemes(const char *p, char *outptr, int *bad_phoneme); | |||||
void DecodePhonemes(const char *inptr, char *outptr); | |||||
char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa, int *flags); | |||||
const char *GetTranslatedPhonemeString(int phoneme_mode); | |||||
int IsVowel(Translator *tr, int letter); | |||||
int Unpronouncable(Translator *tr, char *word, int posn); | |||||
void ChangeWordStress(Translator *tr, char *word, int new_stress); | |||||
void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, int tonic, int control); | |||||
void AppendPhonemes(Translator *tr, char *string, int size, const char *ph); | |||||
int TranslateRules(Translator *tr, char *p_start, char *phonemes, int ph_size, char *end_phonemes, int word_flags, unsigned int *dict_flags); | |||||
int TransposeAlphabet(Translator *tr, char *text); | |||||
int Lookup(Translator *tr, const char *word, char *ph_out); | |||||
int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *flags, int end_flags, WORD_TAB *wtab); | |||||
int LookupFlags(Translator *tr, const char *word, unsigned int **flags_out); | |||||
int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy); | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif | |||||
#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "readclause.h" | |||||
#include "dictionary.h" | |||||
#include "numbers.h" | #include "numbers.h" | ||||
#include "readclause.h" | |||||
#include "phoneme.h" | #include "phoneme.h" | ||||
#include "voice.h" | #include "voice.h" |
int LookupPhonemeString(const char *string); | int LookupPhonemeString(const char *string); | ||||
int PhonemeCode(unsigned int mnem); | int PhonemeCode(unsigned int mnem); | ||||
const char *EncodePhonemes(const char *p, char *outptr, int *bad_phoneme); | |||||
void DecodePhonemes(const char *inptr, char *outptr); | |||||
extern const char *WordToString(unsigned int word); | extern const char *WordToString(unsigned int word); | ||||
extern PHONEME_TAB_LIST phoneme_tab_list[N_PHONEME_TABS]; | extern PHONEME_TAB_LIST phoneme_tab_list[N_PHONEME_TABS]; |
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include <ucd/ucd.h> | #include <ucd/ucd.h> | ||||
#include "dictionary.h" | |||||
#include "readclause.h" | #include "readclause.h" | ||||
#include "error.h" | #include "error.h" |
#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "dictionary.h" | |||||
#include "readclause.h" | #include "readclause.h" | ||||
#include "speech.h" | #include "speech.h" |
#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "dictionary.h" | |||||
#include "readclause.h" | #include "readclause.h" | ||||
#include "synthdata.h" | #include "synthdata.h" | ||||
#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "dictionary.h" | |||||
#include "intonation.h" | #include "intonation.h" | ||||
#include "setlengths.h" | #include "setlengths.h" | ||||
#include "synthdata.h" | #include "synthdata.h" |
int FormantTransition2(frameref_t *seq, int *n_frames, unsigned int data1, unsigned int data2, PHONEME_TAB *other_ph, int which); | int FormantTransition2(frameref_t *seq, int *n_frames, unsigned int data1, unsigned int data2, PHONEME_TAB *other_ph, int which); | ||||
void Write4Bytes(FILE *f, int value); | void Write4Bytes(FILE *f, int value); | ||||
int Reverse4Bytes(int word); | |||||
#if HAVE_SONIC_H | #if HAVE_SONIC_H | ||||
void DoSonicSpeed(int value); | void DoSonicSpeed(int value); |
#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "readclause.h" | |||||
#include "phonemelist.h" | |||||
#include "dictionary.h" | |||||
#include "numbers.h" | #include "numbers.h" | ||||
#include "phonemelist.h" | |||||
#include "readclause.h" | |||||
#include "speech.h" | #include "speech.h" | ||||
#include "phoneme.h" | #include "phoneme.h" |
extern void SetLengthMods(Translator *tr, int value); | extern void SetLengthMods(Translator *tr, int value); | ||||
void LoadConfig(void); | void LoadConfig(void); | ||||
int TransposeAlphabet(Translator *tr, char *text); | |||||
#define LEADING_2_BITS 0xC0 // 0b11000000 | #define LEADING_2_BITS 0xC0 // 0b11000000 | ||||
#define UTF8_TAIL_BITS 0x80 // 0b10000000 | #define UTF8_TAIL_BITS 0x80 // 0b10000000 | ||||
int IsDigit(unsigned int c); | int IsDigit(unsigned int c); | ||||
int IsDigit09(unsigned int c); | int IsDigit09(unsigned int c); | ||||
int IsAlpha(unsigned int c); | int IsAlpha(unsigned int c); | ||||
int IsVowel(Translator *tr, int c); | |||||
int isspace2(unsigned int c); | int isspace2(unsigned int c); | ||||
const char *GetTranslatedPhonemeString(int phoneme_mode); | |||||
ALPHABET *AlphabetFromChar(int c); | ALPHABET *AlphabetFromChar(int c); | ||||
Translator *SelectTranslator(const char *name); | Translator *SelectTranslator(const char *name); | ||||
int SetTranslator2(const char *name); | int SetTranslator2(const char *name); | ||||
void DeleteTranslator(Translator *tr); | void DeleteTranslator(Translator *tr); | ||||
void ProcessLanguageOptions(LANGUAGE_OPTIONS *langopts); | void ProcessLanguageOptions(LANGUAGE_OPTIONS *langopts); | ||||
int Lookup(Translator *tr, const char *word, char *ph_out); | |||||
int LookupFlags(Translator *tr, const char *word, unsigned int **flags_out); | |||||
void ChangeWordStress(Translator *tr, char *word, int new_stress); | |||||
int LoadDictionary(Translator *tr, const char *name, int no_error); | |||||
int LookupDictList(Translator *tr, char **wordptr, char *ph_out, unsigned int *flags, int end_flags, WORD_TAB *wtab); | |||||
int HashDictionary(const char *string); | |||||
void print_dictionary_flags(unsigned int *flags, char *buf, int buf_len); | void print_dictionary_flags(unsigned int *flags, char *buf, int buf_len); | ||||
char *DecodeRule(const char *group_chars, int group_length, char *rule, int control); | char *DecodeRule(const char *group_chars, int group_length, char *rule, int control); | ||||
void ApplySpecialAttribute2(Translator *tr, char *phonemes, int dict_flags); | void ApplySpecialAttribute2(Translator *tr, char *phonemes, int dict_flags); | ||||
void AppendPhonemes(Translator *tr, char *string, int size, const char *ph); | |||||
int RemoveEnding(Translator *tr, char *word, int end_type, char *word_copy); | |||||
int Unpronouncable(Translator *tr, char *word, int posn); | |||||
void SetWordStress(Translator *tr, char *output, unsigned int *dictionary_flags, int tonic, int prev_stress); | |||||
int TranslateRules(Translator *tr, char *p, char *phonemes, int size, char *end_phonemes, int end_flags, unsigned int *dict_flags); | |||||
int TranslateWord(Translator *tr, char *word1, WORD_TAB *wtab, char *word_out); | int TranslateWord(Translator *tr, char *word1, WORD_TAB *wtab, char *word_out); | ||||
void TranslateClause(Translator *tr, int *tone, char **voice_change); | void TranslateClause(Translator *tr, int *tone, char **voice_change); | ||||
void SetVoiceStack(espeak_VOICE *v, const char *variant_name); | void SetVoiceStack(espeak_VOICE *v, const char *variant_name); | ||||
char *WritePhMnemonic(char *phon_out, PHONEME_TAB *ph, PHONEME_LIST *plist, int use_ipa, int *flags); | |||||
extern FILE *f_trans; // for logging | extern FILE *f_trans; // for logging | ||||
#include <espeak-ng/speak_lib.h> | #include <espeak-ng/speak_lib.h> | ||||
#include <espeak-ng/encoding.h> | #include <espeak-ng/encoding.h> | ||||
#include "dictionary.h" | |||||
#include "readclause.h" | #include "readclause.h" | ||||
#include "speech.h" | #include "speech.h" |