Browse Source

espeak_ng_CompilePhonemeDataPath: Allow the user to specify the source and destination paths for the phoneme data.

master
Reece H. Dunn 8 years ago
parent
commit
eb91c8dfce
2 changed files with 37 additions and 4 deletions
  1. 12
    1
      src/include/espeak-ng/espeak_ng.h
  2. 25
    3
      src/libespeak-ng/compiledata.c

+ 12
- 1
src/include/espeak-ng/espeak_ng.h View File

/* eSpeak NG API. /* eSpeak NG API.
* *
* Copyright (C) 2015-2016 Reece H. Dunn
* Copyright (C) 2015-2017 Reece H. Dunn
* *
* This program is free software: you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
ENOUTPUT_MODE_SPEAK_AUDIO = 0x0002, ENOUTPUT_MODE_SPEAK_AUDIO = 0x0002,
} espeak_ng_OUTPUT_MODE; } espeak_ng_OUTPUT_MODE;


/* eSpeak NG 1.49.0 */

typedef struct espeak_ng_ERROR_CONTEXT_ *espeak_ng_ERROR_CONTEXT; typedef struct espeak_ng_ERROR_CONTEXT_ *espeak_ng_ERROR_CONTEXT;


ESPEAK_NG_API void ESPEAK_NG_API void
espeak_ng_CompileIntonation(FILE *log, espeak_ng_CompileIntonation(FILE *log,
espeak_ng_ERROR_CONTEXT *context); espeak_ng_ERROR_CONTEXT *context);


/* eSpeak NG 1.49.1 */

ESPEAK_NG_API espeak_ng_STATUS
espeak_ng_CompilePhonemeDataPath(long rate,
const char *source_path,
const char *destination_path,
FILE *log,
espeak_ng_ERROR_CONTEXT *context);

#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

+ 25
- 3
src/libespeak-ng/compiledata.c View File



#pragma GCC visibility push(default) #pragma GCC visibility push(default)


espeak_ng_STATUS espeak_ng_CompilePhonemeData(long rate, FILE *log, espeak_ng_ERROR_CONTEXT *context)
espeak_ng_STATUS
espeak_ng_CompilePhonemeData(long rate,
FILE *log,
espeak_ng_ERROR_CONTEXT *context)
{
return espeak_ng_CompilePhonemeDataPath(rate, NULL, NULL, log, context);
}

espeak_ng_STATUS
espeak_ng_CompilePhonemeDataPath(long rate,
const char *source_path,
const char *destination_path,
FILE *log,
espeak_ng_ERROR_CONTEXT *context)
{ {
if (!log) log = stderr; if (!log) log = stderr;


char phsrc[sizeof(path_home)+40]; // Source: path to the 'phonemes' source file. 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.


sprintf(phsrc, "%s/../phsource", path_home);
sprintf(phdst, "%s", path_home);
if (source_path) {
sprintf(phsrc, "%s", source_path);
} else {
sprintf(phsrc, "%s/../phsource", path_home);
}

if (destination_path) {
sprintf(phdst, "%s", destination_path);
} else {
sprintf(phdst, "%s", path_home);
}


samplerate_native = samplerate = rate; samplerate_native = samplerate = rate;
LoadPhData(NULL, NULL); LoadPhData(NULL, NULL);

Loading…
Cancel
Save