Browse Source

Make LoadPhData return an espeak_ng_STATUS code.

master
Reece H. Dunn 9 years ago
parent
commit
c2811d074e

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

@@ -1,6 +1,6 @@
/* eSpeak NG API.
*
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -41,6 +41,7 @@ typedef enum {
ENE_WRITE_ERROR = -2,
ENE_OUT_OF_MEMORY = -3,
ENE_COMPILE_ERRORS = -4,
ENE_VERSION_MISMATCH = -5,
} espeak_ng_STATUS;

#define espeakINITIALIZE_PATH_ONLY 0x4000

+ 3
- 1
src/libespeak-ng/dictionary.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2014 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2013-2015 Reece H. Dunn
* Copyright (C) 2013-2016 Reece H. Dunn
*
* 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
@@ -30,7 +30,9 @@
#include <wctype.h>
#include <wchar.h>

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/intonation.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2007 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -27,7 +27,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/klatt.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2008 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2013-2015 Reece H. Dunn
* Copyright (C) 2013-2016 Reece H. Dunn
*
* Based on a re-implementation by:
* (c) 1993,94 Jon Iles and Nick Ing-Simmons
@@ -33,7 +33,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "klatt.h"
#include "phoneme.h"

+ 3
- 1
src/libespeak-ng/numbers.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2015 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -31,7 +31,9 @@
#include <wctype.h>
#include <wchar.h>

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/phonemelist.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2014 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -26,7 +26,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/readclause.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2015 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -30,7 +30,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/setlengths.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2011 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -26,7 +26,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 7
- 6
src/libespeak-ng/speak_lib.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2013 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2013-2015 Reece H. Dunn
* Copyright (C) 2013-2016 Reece H. Dunn
*
* 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
@@ -40,8 +40,9 @@
#include <unistd.h>
#endif

#include "speak_lib.h"
#include "espeak_ng.h"
#include "speak_lib.h"

#include "phoneme.h"
#include "synthesize.h"
#include "voice.h"
@@ -308,19 +309,19 @@ static void init_path(const char *path)
static int initialise(int control)
{
int param;
int result;
int srate = 22050; // default sample rate 22050 Hz

err = EE_OK;
LoadConfig();

if ((result = LoadPhData(&srate)) != 1) { // reads sample rate from espeak-data/phontab
if (result == -1) {
espeak_ng_STATUS result = LoadPhData(&srate);
if (result != ENS_OK) {
if (result == ENE_READ_ERROR) {
fprintf(stderr, "Failed to load espeak-data\n");
if ((control & espeakINITIALIZE_DONT_EXIT) == 0)
exit(1);
} else
fprintf(stderr, "Wrong version of espeak-data 0x%x (expects 0x%x) at %s\n", result, version_phdata, path_home);
fprintf(stderr, "Wrong version of espeak-data (expected 0x%x) at %s\n", version_phdata, path_home);
}
WavegenInit(srate, 0);


+ 4
- 1
src/libespeak-ng/spect.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2007 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2013-2015 Reece H. Dunn
* Copyright (C) 2013-2016 Reece H. Dunn
*
* 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
@@ -19,11 +19,14 @@

#include "config.h"

#include <stdio.h>
#if HAVE_STDINT_H
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/synth_mbrola.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2013 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -29,7 +29,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 10
- 9
src/libespeak-ng/synthdata.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2014 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -29,7 +29,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"
@@ -105,25 +107,24 @@ static char *ReadPhFile(void *ptr, const char *fname, int *size)
return p;
}

int LoadPhData(int *srate)
espeak_ng_STATUS LoadPhData(int *srate)
{
int ix;
int n_phonemes;
int version;
int result = 1;
int length;
int rate;
unsigned char *p;
int *pw;

if ((phoneme_tab_data = (unsigned char *)ReadPhFile((void *)(phoneme_tab_data), "phontab", NULL)) == NULL)
return -1;
return ENE_READ_ERROR;
if ((phoneme_index = (USHORT *)ReadPhFile((void *)(phoneme_index), "phonindex", NULL)) == NULL)
return -1;
return ENE_READ_ERROR;
if ((phondata_ptr = ReadPhFile((void *)(phondata_ptr), "phondata", NULL)) == NULL)
return -1;
return ENE_READ_ERROR;
if ((tunes = (TUNE *)ReadPhFile((void *)(tunes), "intonations", &length)) == NULL)
return -1;
return ENE_READ_ERROR;
wavefile_data = (unsigned char *)phondata_ptr;
n_tunes = length / sizeof(TUNE);

@@ -136,7 +137,7 @@ int LoadPhData(int *srate)
}

if (version != version_phdata)
result = version;
return ENE_VERSION_MISMATCH;

// set up phoneme tables
p = phoneme_tab_data;
@@ -161,7 +162,7 @@ int LoadPhData(int *srate)

if (srate != NULL)
*srate = rate;
return result;
return ENS_OK;
}

void FreePhData(void)

+ 3
- 1
src/libespeak-ng/synthesize.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2014 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -29,7 +29,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 2
- 2
src/libespeak-ng/synthesize.h View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2014 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -499,7 +499,7 @@ unsigned int LookupSound(PHONEME_TAB *ph1, PHONEME_TAB *ph2, int which, int *mat
frameref_t *LookupSpect(PHONEME_TAB *this_ph, int which, FMT_PARAMS *fmt_params, int *n_frames, PHONEME_LIST *plist);

unsigned char *LookupEnvelope(int ix);
int LoadPhData(int *srate);
espeak_ng_STATUS LoadPhData(int *srate);

void SynthesizeInit(void);
int Generate(PHONEME_LIST *phoneme_list, int *n_ph, int resume);

+ 3
- 1
src/libespeak-ng/tr_languages.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2015 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -31,7 +31,9 @@

#include <wctype.h>

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/translate.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2014 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -30,7 +30,9 @@
#include <wctype.h>
#include <wchar.h>

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 3
- 1
src/libespeak-ng/voices.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2015 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -36,7 +36,9 @@
#include "dirent.h"
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "phoneme.h"
#include "synthesize.h"
#include "voice.h"

+ 3
- 1
src/libespeak-ng/wavegen.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2013 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -30,7 +30,9 @@
#include <stdint.h>
#endif

#include "espeak_ng.h"
#include "speak_lib.h"

#include "speech.h"
#include "phoneme.h"
#include "synthesize.h"

+ 6
- 6
src/speak-ng.c View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2005 to 2013 by Jonathan Duddington
* email: [email protected]
* Copyright (C) 2015 Reece H. Dunn
* Copyright (C) 2015-2016 Reece H. Dunn
*
* 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
@@ -46,8 +46,8 @@
#include <locale.h>
#include <sys/stat.h>

#include "speak_lib.h"
#include "espeak_ng.h"
#include "speak_lib.h"

#include "phoneme.h"
#include "synthesize.h"
@@ -343,7 +343,6 @@ static void init_path(char *argv0, char *path_specified)
static int initialise(void)
{
int param;
int result;
int srate = 22050; // default sample rate

// It seems that the wctype functions don't work until the locale has been set
@@ -354,12 +353,13 @@ static int initialise(void)
setlocale(LC_CTYPE, "");
}

if ((result = LoadPhData(&srate)) != 1) {
if (result == -1) {
espeak_ng_STATUS result = LoadPhData(&srate);
if (result != ENS_OK) {
if (result == ENE_READ_ERROR) {
fprintf(stderr, "Failed to load espeak-data\n");
exit(1);
} else
fprintf(stderr, "Wrong version of espeak-data 0x%x (expects 0x%x) at %s\n", result, version_phdata, path_home);
fprintf(stderr, "Wrong version of espeak-data (expected 0x%x) at %s\n", version_phdata, path_home);
}
WavegenInit(srate, 0);
LoadConfig();

Loading…
Cancel
Save