伊地知ニジカ放送局だぬ゛ん゛. https://www.youtube.com/@deerjika
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.

45 lines
1.2 KiB

  1. /**********************************************************************
  2. SampleTalk.c - AquesTalk2 Linux 規則音声合成 サンプルプログラム
  3. 標準入力から音声記号列を1行読み込み、
  4. 標準出力に音声波形(.wavフォーマット)を出力
  5. COPYRIGHT (C) 2010 AQUEST CORP.
  6. 使用方法は、readme.txt を参照ください。
  7. 2010/01/23 N.Yamazaki Creation
  8. **********************************************************************/
  9. #include <stdio.h>
  10. #include "AquesTalk2.h"
  11. int main(int ac, char **av)
  12. {
  13. int size;
  14. int iret;
  15. char str[1024];
  16. // 音声記号列を入力
  17. if(fgets(str, 1024-1, stdin)==0) return 0;
  18. // 音声合成
  19. // unsigned char *wav = AquesTalk2_Synthe(str, 100, &size, NULL); //SJIS
  20. // unsigned char *wav = AquesTalk2_Synthe_Euc(str, 100, &size, NULL);
  21. unsigned char *wav = AquesTalk2_Synthe_Utf8(str, 100, &size, NULL);
  22. // unsigned char *wav = AquesTalk2_Synthe_Utf16(wstr, 100, &size, NULL); // unsigned short *wstr
  23. // unsigned char *wav = AquesTalk2_Synthe_Roman(str, 100, &size, NULL);
  24. if(wav==0){
  25. fprintf(stderr, "ERR:%d\n",size);
  26. return -1;
  27. }
  28. // 音声データ(wavフォーマット)の出力
  29. fwrite(wav, 1, size, stdout);
  30. // 音声データバッファの開放
  31. AquesTalk2_FreeWave(wav);
  32. return 0;
  33. }