mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-01 21:58:52 +00:00
Make LoadPhData return an espeak_ng_STATUS code.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2008 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2015 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2015 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2011 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2007 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2015 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2014 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2015 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2005 to 2013 by Jonathan Duddington
|
||||
* email: jonsd@users.sourceforge.net
|
||||
* 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();
|
||||
|
||||
Reference in New Issue
Block a user