eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mbrola.h 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * Copyright (C) 2005 to 2015 by Jonathan Duddington
  3. * email: [email protected]
  4. * Copyright (C) 2015-2018 Reece H. Dunn
  5. * Copyright (C) 2018 Juho Hiltunen
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 3 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program; if not, see: <http://www.gnu.org/licenses/>.
  19. */
  20. // declarations for compilembrola.c and synth_mbrola.c
  21. #ifndef ESPEAK_NG_MBROLA_H
  22. #define ESPEAK_NG_MBROLA_H
  23. #include <stdbool.h>
  24. #include "synthesize.h"
  25. #ifdef __cplusplus
  26. extern "C"
  27. {
  28. #endif
  29. typedef struct {
  30. int name;
  31. unsigned int next_phoneme;
  32. int mbr_name;
  33. int mbr_name2;
  34. int percent; // percentage length of first component
  35. int control;
  36. } MBROLA_TAB;
  37. extern int mbrola_delay;
  38. extern char mbrola_name[20];
  39. espeak_ng_STATUS LoadMbrolaTable(const char *mbrola_voice,
  40. const char *phtrans,
  41. int *srate);
  42. int MbrolaGenerate(PHONEME_LIST *phoneme_list,
  43. int *n_ph, bool resume);
  44. int MbrolaFill(int length,
  45. bool resume,
  46. int amplitude);
  47. void MbrolaReset(void);
  48. int MbrolaTranslate(PHONEME_LIST *plist, int n_phonemes, bool resume, FILE *f_mbrola);
  49. #ifdef __cplusplus
  50. }
  51. #endif
  52. #endif