| NAMETAB *manifest = NULL; | NAMETAB *manifest = NULL; | ||||
| int n_manifest; | int n_manifest; | ||||
| char phsrc[sizeof(path_home)+40]; // Source: path to the 'phonemes' source file. | |||||
| extern ESPEAK_NG_API int utf8_in(int *c, const char *buf); | extern ESPEAK_NG_API int utf8_in(int *c, const char *buf); | ||||
| extern int utf8_out(unsigned int c, char *buf); | extern int utf8_out(unsigned int c, char *buf); | ||||
| if (spectseq == NULL) | if (spectseq == NULL) | ||||
| return ENOMEM; | return ENOMEM; | ||||
| snprintf(filename, sizeof(filename), "%s/../phsource/%s", path_home, path); | |||||
| snprintf(filename, sizeof(filename), "%s/%s", phsrc, path); | |||||
| espeak_ng_STATUS status = LoadSpectSeq(spectseq, filename); | espeak_ng_STATUS status = LoadSpectSeq(spectseq, filename); | ||||
| if (status != ENS_OK) { | if (status != ENS_OK) { | ||||
| error("Bad vowel file: '%s'", path); | error("Bad vowel file: '%s'", path); | ||||
| fname2 = msg; | fname2 = msg; | ||||
| } | } | ||||
| sprintf(command, "sox \"%s/../phsource/%s.wav\" -r %d -c1 -t wav %s\n", path_home, fname2, samplerate_native, fname_temp); | |||||
| sprintf(command, "sox \"%s/%s.wav\" -r %d -c1 -t wav %s\n", phsrc, fname2, samplerate_native, fname_temp); | |||||
| if (system(command) != 0) | if (system(command) != 0) | ||||
| failed = 1; | failed = 1; | ||||
| } | } | ||||
| if (*addr == 0) { | if (*addr == 0) { | ||||
| sprintf(buf, "%s/../phsource/%s", path_home, path); | |||||
| sprintf(buf, "%s/%s", phsrc, path); | |||||
| if ((f = fopen(buf, "rb")) == NULL) { | if ((f = fopen(buf, "rb")) == NULL) { | ||||
| sprintf(buf, "%s/../phsource/%s.wav", path_home, path); | |||||
| sprintf(buf, "%s/%s.wav", phsrc, path); | |||||
| if ((f = fopen(buf, "rb")) == NULL) { | if ((f = fopen(buf, "rb")) == NULL) { | ||||
| error("Can't read file: %s", path); | error("Can't read file: %s", path); | ||||
| return errno; | return errno; | ||||
| break; // ignore bytes 0xef 0xbb 0xbf | break; // ignore bytes 0xef 0xbb 0xbf | ||||
| case kINCLUDE: | case kINCLUDE: | ||||
| NextItem(tSTRING); | NextItem(tSTRING); | ||||
| sprintf(buf, "%s/../phsource/%s", path_home, item_string); | |||||
| sprintf(buf, "%s/%s", phsrc, item_string); | |||||
| if ((stack_ix < N_STACK) && (f = fopen(buf, "rb")) != NULL) { | if ((stack_ix < N_STACK) && (f = fopen(buf, "rb")) != NULL) { | ||||
| stack[stack_ix].linenum = linenum; | stack[stack_ix].linenum = linenum; | ||||
| if (!log) log = stderr; | if (!log) log = stderr; | ||||
| char fname[sizeof(path_home)+40]; | char fname[sizeof(path_home)+40]; | ||||
| char phsrc[sizeof(path_home)+40]; // Source: path to the 'phonemes' source file. | |||||
| char phdst[sizeof(path_home)+40]; // Destination: path to the phondata/phontab/phonindex output files. | char phdst[sizeof(path_home)+40]; // Destination: path to the phondata/phontab/phonindex output files. | ||||
| if (source_path) { | if (source_path) { |