This commit is contained in:
Nishi 2026-05-23 10:23:33 +09:00
commit c16539ae02
79 changed files with 1802 additions and 1407 deletions

View file

@ -6,14 +6,100 @@
#include <fishtalk_int.h>
#endif
#define FT_PHONEMES \
FT_PHONEME(AA) \
FT_PHONEME(AA0) \
FT_PHONEME(AA1) \
FT_PHONEME(AA2) \
FT_PHONEME(AE) \
FT_PHONEME(AE0) \
FT_PHONEME(AE1) \
FT_PHONEME(AE2) \
FT_PHONEME(AH) \
FT_PHONEME(AH0) \
FT_PHONEME(AH1) \
FT_PHONEME(AH2) \
FT_PHONEME(AO) \
FT_PHONEME(AO0) \
FT_PHONEME(AO1) \
FT_PHONEME(AO2) \
FT_PHONEME(AW) \
FT_PHONEME(AW0) \
FT_PHONEME(AW1) \
FT_PHONEME(AW2) \
FT_PHONEME(AY) \
FT_PHONEME(AY0) \
FT_PHONEME(AY1) \
FT_PHONEME(AY2) \
FT_PHONEME(B) \
FT_PHONEME(CH) \
FT_PHONEME(D) \
FT_PHONEME(DH) \
FT_PHONEME(EH) \
FT_PHONEME(EH0) \
FT_PHONEME(EH1) \
FT_PHONEME(EH2) \
FT_PHONEME(ER) \
FT_PHONEME(ER0) \
FT_PHONEME(ER1) \
FT_PHONEME(ER2) \
FT_PHONEME(EY) \
FT_PHONEME(EY0) \
FT_PHONEME(EY1) \
FT_PHONEME(EY2) \
FT_PHONEME(F) \
FT_PHONEME(G) \
FT_PHONEME(HH) \
FT_PHONEME(IH) \
FT_PHONEME(IH0) \
FT_PHONEME(IH1) \
FT_PHONEME(IH2) \
FT_PHONEME(IY) \
FT_PHONEME(IY0) \
FT_PHONEME(IY1) \
FT_PHONEME(IY2) \
FT_PHONEME(JH) \
FT_PHONEME(K) \
FT_PHONEME(L) \
FT_PHONEME(M) \
FT_PHONEME(N) \
FT_PHONEME(NG) \
FT_PHONEME(OW) \
FT_PHONEME(OW0) \
FT_PHONEME(OW1) \
FT_PHONEME(OW2) \
FT_PHONEME(OY) \
FT_PHONEME(OY0) \
FT_PHONEME(OY1) \
FT_PHONEME(OY2) \
FT_PHONEME(P) \
FT_PHONEME(R) \
FT_PHONEME(S) \
FT_PHONEME(SH) \
FT_PHONEME(T) \
FT_PHONEME(TH) \
FT_PHONEME(UH) \
FT_PHONEME(UH0) \
FT_PHONEME(UH1) \
FT_PHONEME(UH2) \
FT_PHONEME(UW) \
FT_PHONEME(UW0) \
FT_PHONEME(UW1) \
FT_PHONEME(UW2) \
FT_PHONEME(V) \
FT_PHONEME(W) \
FT_PHONEME(Y) \
FT_PHONEME(Z) \
FT_PHONEME(ZH)
#ifdef __cplusplus
extern "C" {
#endif
FT_HANDLE FishTalkInit(FT_SAMPLE_PROC sample, int rate);
void FishTalkBuffer(FT_HANDLE handle, const char* buffer);
void FishTalkSync(FT_HANDLE handle);
void FishTalkFree(FT_HANDLE handle);
void FishTalkBuffer(FT_HANDLE handle, const char* buffer);
void FishTalkSync(FT_HANDLE handle);
void FishTalkFree(FT_HANDLE handle);
#ifdef __cplusplus
}

View file

@ -4,10 +4,20 @@
struct ft_handle {
FT_SAMPLE_PROC sample;
int rate;
int rate;
int in_cmd;
char buffer[512 * 1024];
long buffer_size;
char cmd_buffer[16 * 1024];
long cmd_buffer_size;
};
/* cmd.c */
void ft_cmd_queue(FT_HANDLE handle, const char* buffer);
void ft_cmd_main(FT_HANDLE handle, const char* buffer, long length);
/* phon.c */
void ft_phon_main(FT_HANDLE handle, const char* buffer, long length);

View file

@ -1,253 +1,252 @@
extern signed char phon_AA0[];
extern signed char phon_AA0[];
extern unsigned int phon_AA0_length;
extern signed char phon_AA1[];
extern signed char phon_AA1[];
extern unsigned int phon_AA1_length;
extern signed char phon_AA2[];
extern signed char phon_AA2[];
extern unsigned int phon_AA2_length;
extern signed char phon_AE0[];
extern signed char phon_AE0[];
extern unsigned int phon_AE0_length;
extern signed char phon_AE1[];
extern signed char phon_AE1[];
extern unsigned int phon_AE1_length;
extern signed char phon_AE2[];
extern signed char phon_AE2[];
extern unsigned int phon_AE2_length;
extern signed char phon_AH0[];
extern signed char phon_AH0[];
extern unsigned int phon_AH0_length;
extern signed char phon_AH1[];
extern signed char phon_AH1[];
extern unsigned int phon_AH1_length;
extern signed char phon_AH2[];
extern signed char phon_AH2[];
extern unsigned int phon_AH2_length;
extern signed char phon_AO0[];
extern signed char phon_AO0[];
extern unsigned int phon_AO0_length;
extern signed char phon_AO1[];
extern signed char phon_AO1[];
extern unsigned int phon_AO1_length;
extern signed char phon_AO2[];
extern signed char phon_AO2[];
extern unsigned int phon_AO2_length;
extern signed char phon_AW0[];
extern signed char phon_AW0[];
extern unsigned int phon_AW0_length;
extern signed char phon_AW1[];
extern signed char phon_AW1[];
extern unsigned int phon_AW1_length;
extern signed char phon_AW2[];
extern signed char phon_AW2[];
extern unsigned int phon_AW2_length;
extern signed char phon_AY0[];
extern signed char phon_AY0[];
extern unsigned int phon_AY0_length;
extern signed char phon_AY1[];
extern signed char phon_AY1[];
extern unsigned int phon_AY1_length;
extern signed char phon_AY2[];
extern signed char phon_AY2[];
extern unsigned int phon_AY2_length;
extern signed char phon_B[];
extern signed char phon_B[];
extern unsigned int phon_B_length;
extern signed char phon_CH[];
extern signed char phon_CH[];
extern unsigned int phon_CH_length;
extern signed char phon_D[];
extern signed char phon_D[];
extern unsigned int phon_D_length;
extern signed char phon_DH[];
extern signed char phon_DH[];
extern unsigned int phon_DH_length;
extern signed char phon_EH0[];
extern signed char phon_EH0[];
extern unsigned int phon_EH0_length;
extern signed char phon_EH1[];
extern signed char phon_EH1[];
extern unsigned int phon_EH1_length;
extern signed char phon_EH2[];
extern signed char phon_EH2[];
extern unsigned int phon_EH2_length;
extern signed char phon_ER0[];
extern signed char phon_ER0[];
extern unsigned int phon_ER0_length;
extern signed char phon_ER1[];
extern signed char phon_ER1[];
extern unsigned int phon_ER1_length;
extern signed char phon_ER2[];
extern signed char phon_ER2[];
extern unsigned int phon_ER2_length;
extern signed char phon_EY0[];
extern signed char phon_EY0[];
extern unsigned int phon_EY0_length;
extern signed char phon_EY1[];
extern signed char phon_EY1[];
extern unsigned int phon_EY1_length;
extern signed char phon_EY2[];
extern signed char phon_EY2[];
extern unsigned int phon_EY2_length;
extern signed char phon_F[];
extern signed char phon_F[];
extern unsigned int phon_F_length;
extern signed char phon_G[];
extern signed char phon_G[];
extern unsigned int phon_G_length;
extern signed char phon_HH[];
extern signed char phon_HH[];
extern unsigned int phon_HH_length;
extern signed char phon_IH0[];
extern signed char phon_IH0[];
extern unsigned int phon_IH0_length;
extern signed char phon_IH1[];
extern signed char phon_IH1[];
extern unsigned int phon_IH1_length;
extern signed char phon_IH2[];
extern signed char phon_IH2[];
extern unsigned int phon_IH2_length;
extern signed char phon_IY0[];
extern signed char phon_IY0[];
extern unsigned int phon_IY0_length;
extern signed char phon_IY1[];
extern signed char phon_IY1[];
extern unsigned int phon_IY1_length;
extern signed char phon_IY2[];
extern signed char phon_IY2[];
extern unsigned int phon_IY2_length;
extern signed char phon_JH[];
extern signed char phon_JH[];
extern unsigned int phon_JH_length;
extern signed char phon_K[];
extern signed char phon_K[];
extern unsigned int phon_K_length;
extern signed char phon_L[];
extern signed char phon_L[];
extern unsigned int phon_L_length;
extern signed char phon_M[];
extern signed char phon_M[];
extern unsigned int phon_M_length;
extern signed char phon_N[];
extern signed char phon_N[];
extern unsigned int phon_N_length;
extern signed char phon_NG[];
extern signed char phon_NG[];
extern unsigned int phon_NG_length;
extern signed char phon_OW0[];
extern signed char phon_OW0[];
extern unsigned int phon_OW0_length;
extern signed char phon_OW1[];
extern signed char phon_OW1[];
extern unsigned int phon_OW1_length;
extern signed char phon_OW2[];
extern signed char phon_OW2[];
extern unsigned int phon_OW2_length;
extern signed char phon_OY0[];
extern signed char phon_OY0[];
extern unsigned int phon_OY0_length;
extern signed char phon_OY1[];
extern signed char phon_OY1[];
extern unsigned int phon_OY1_length;
extern signed char phon_OY2[];
extern signed char phon_OY2[];
extern unsigned int phon_OY2_length;
extern signed char phon_P[];
extern signed char phon_P[];
extern unsigned int phon_P_length;
extern signed char phon_R[];
extern signed char phon_R[];
extern unsigned int phon_R_length;
extern signed char phon_S[];
extern signed char phon_S[];
extern unsigned int phon_S_length;
extern signed char phon_SH[];
extern signed char phon_SH[];
extern unsigned int phon_SH_length;
extern signed char phon_T[];
extern signed char phon_T[];
extern unsigned int phon_T_length;
extern signed char phon_TH[];
extern signed char phon_TH[];
extern unsigned int phon_TH_length;
extern signed char phon_UH0[];
extern signed char phon_UH0[];
extern unsigned int phon_UH0_length;
extern signed char phon_UH1[];
extern signed char phon_UH1[];
extern unsigned int phon_UH1_length;
extern signed char phon_UH2[];
extern signed char phon_UH2[];
extern unsigned int phon_UH2_length;
extern signed char phon_UW0[];
extern signed char phon_UW0[];
extern unsigned int phon_UW0_length;
extern signed char phon_UW1[];
extern signed char phon_UW1[];
extern unsigned int phon_UW1_length;
extern signed char phon_UW2[];
extern signed char phon_UW2[];
extern unsigned int phon_UW2_length;
extern signed char phon_V[];
extern signed char phon_V[];
extern unsigned int phon_V_length;
extern signed char phon_W[];
extern signed char phon_W[];
extern unsigned int phon_W_length;
extern signed char phon_Y[];
extern signed char phon_Y[];
extern unsigned int phon_Y_length;
extern signed char phon_Z[];
extern signed char phon_Z[];
extern unsigned int phon_Z_length;
extern signed char phon_ZH[];
extern signed char phon_ZH[];
extern unsigned int phon_ZH_length;
/*** Aliases ***/
#define phon_OW phon_OW0
#define phon_OW_length phon_OW0_length;
#define phon_AH phon_AH0
#define phon_AH_length phon_AH0_length;
#define phon_AY phon_AY0
#define phon_AY_length phon_AY0_length;
#define phon_IH phon_IH0
#define phon_IH_length phon_IH0_length;
#define phon_IY phon_IY0
#define phon_IY_length phon_IY0_length;
#define phon_AW phon_AW0
#define phon_AW_length phon_AW0_length;
#define phon_AO phon_AO0
#define phon_AO_length phon_AO0_length;
#define phon_OY phon_OY0
#define phon_OY_length phon_OY0_length;
#define phon_AA phon_AA0
#define phon_AA_length phon_AA0_length;
#define phon_AE phon_AE0
#define phon_AE_length phon_AE0_length;
#define phon_ER phon_ER0
#define phon_ER_length phon_ER0_length;
#define phon_EH phon_EH0
#define phon_EH_length phon_EH0_length;
#define phon_AE phon_AE0
#define phon_AE_length phon_AE0_length;
#define phon_UW phon_UW0
#define phon_UW_length phon_UW0_length;
#define phon_AW phon_AW0
#define phon_AW_length phon_AW0_length;
#define phon_AY phon_AY0
#define phon_AY_length phon_AY0_length;
#define phon_AA phon_AA0
#define phon_AA_length phon_AA0_length;
#define phon_IY phon_IY0
#define phon_IY_length phon_IY0_length;
#define phon_EY phon_EY0
#define phon_EY_length phon_EY0_length;
#define phon_UH phon_UH0
#define phon_UH_length phon_UH0_length;
#define phon_UW phon_UW0
#define phon_UW_length phon_UW0_length;
#define phon_AO phon_AO0
#define phon_AO_length phon_AO0_length;
#define phon_AH phon_AH0
#define phon_AH_length phon_AH0_length;

View file

@ -4,6 +4,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
#ifdef _FISHTALK
@ -12,6 +13,6 @@ typedef struct ft_handle* FT_HANDLE;
typedef void* FT_HANDLE;
#endif
typedef void(*FT_SAMPLE_PROC)(FT_HANDLE handle, short* wave, long length);
typedef void (*FT_SAMPLE_PROC)(FT_HANDLE handle, short* wave, long length);
#endif