From 83cc299addc66babe9a14979eb83d6b758c0ba68 Mon Sep 17 00:00:00 2001 From: Nishi Date: Sat, 23 May 2026 14:08:06 +0900 Subject: [PATCH] better --- include/fishtalk_phon.h | 74 ++++++++++++++++++++-------------------- samples/JH.wav | Bin 98 -> 3186 bytes samples/N.wav | Bin 98 -> 3278 bytes samples/P.wav | Bin 98 -> 3834 bytes samples/V.wav | Bin 100 -> 3760 bytes src/cmd.c | 1 + src/phon.c | 20 ++++++++++- src/phon_JH.c | 54 +++++++++++++++++++++++++++-- src/phon_N.c | 55 +++++++++++++++++++++++++++-- src/phon_P.c | 64 ++++++++++++++++++++++++++++++++-- src/phon_V.c | 63 ++++++++++++++++++++++++++++++++-- src/synth.c | 4 +-- tools/convert.sh | 4 +-- 13 files changed, 289 insertions(+), 50 deletions(-) diff --git a/include/fishtalk_phon.h b/include/fishtalk_phon.h index 633f111..c76ccd5 100644 --- a/include/fishtalk_phon.h +++ b/include/fishtalk_phon.h @@ -206,47 +206,47 @@ extern signed char phon_ZH[]; extern unsigned int phon_ZH_length; /*** Aliases ***/ -#define phon_IH phon_IH0 -#define phon_IH_length phon_IH0_length; - -#define phon_ER phon_ER0 -#define phon_ER_length phon_ER0_length; - -#define phon_OW phon_OW0 -#define phon_OW_length phon_OW0_length; - -#define phon_EH phon_EH0 -#define phon_EH_length phon_EH0_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_UH phon_UH0 -#define phon_UH_length phon_UH0_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_OY phon_OY0 -#define phon_OY_length phon_OY0_length; - -#define phon_UW phon_UW0 -#define phon_UW_length phon_UW0_length; +#define phon_AY phon_AY0 +#define phon_AY_length phon_AY0_length; #define phon_AO phon_AO0 #define phon_AO_length phon_AO0_length; -#define phon_AW phon_AW0 -#define phon_AW_length phon_AW0_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_UH phon_UH0 +#define phon_UH_length phon_UH0_length; + +#define phon_EY phon_EY0 +#define phon_EY_length phon_EY0_length; + +#define phon_AE phon_AE0 +#define phon_AE_length phon_AE0_length; + +#define phon_EH phon_EH0 +#define phon_EH_length phon_EH0_length; + +#define phon_OY phon_OY0 +#define phon_OY_length phon_OY0_length; + +#define phon_ER phon_ER0 +#define phon_ER_length phon_ER0_length; + +#define phon_IY phon_IY0 +#define phon_IY_length phon_IY0_length; + +#define phon_UW phon_UW0 +#define phon_UW_length phon_UW0_length; + +#define phon_IH phon_IH0 +#define phon_IH_length phon_IH0_length; + +#define phon_AW phon_AW0 +#define phon_AW_length phon_AW0_length; + +#define phon_OW phon_OW0 +#define phon_OW_length phon_OW0_length; + +#define phon_AA phon_AA0 +#define phon_AA_length phon_AA0_length; diff --git a/samples/JH.wav b/samples/JH.wav index 117ea280b91bc83b22d24ea1646002d45e46eb95..9ef3c0e394a9f5d08f7895fd4ec03fe93086bcd9 100644 GIT binary patch literal 3186 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 OVBcx4-!sE$ZvG#BK%TAu delta 18 Xcmew)k;E3{>E;&2Fp({Sg#icvG5rJQ diff --git a/samples/N.wav b/samples/N.wav index cc08a22ad87ffd20d443c91a1e9aa770536928ba..fed862a5bd651c6dbc5b690fef363d39a3b7eb4f 100644 GIT binary patch literal 3278 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 Yxzs3>h^ly0d?4Cs4&G-6w5i(v0cBG^TL1t6 delta 18 XcmX>nnZy?4>E;&2Fp({Sg#icvFNOoe diff --git a/samples/P.wav b/samples/P.wav index a208ec4a378948971116b0db8281970e15af76d0..c7b18074e502b502312730aa627bc07b2bb27a29 100644 GIT binary patch literal 3834 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 delta 18 Xcmew*o5U96>E;&2Fp({Sg#icvGU5aD diff --git a/samples/V.wav b/samples/V.wav index 328dc67142b98b4d6ab403874177dffb0d3371fe..078cd3aac9a3c7c32f548b6822e6baf6b748739e 100644 GIT binary patch literal 3760 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 delta 18 XcmdlWo5B|4>E;&0Fp({ag#icvE$#!b diff --git a/src/cmd.c b/src/cmd.c index 1573503..edc8c95 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -22,6 +22,7 @@ void ft_cmd_queue(FT_HANDLE handle, const char* buffer) { len = sj - old; ft_phon_main(handle, buf, len); + ft_phon_main(handle, " ", 2); old = j; } diff --git a/src/phon.c b/src/phon.c index a6b33b6..5336aa1 100644 --- a/src/phon.c +++ b/src/phon.c @@ -120,6 +120,11 @@ DEF(p_gen_2) { } else if(M("ck")) { ph[i * MAX_PPL + 0] = FT_P_K; + return 1; + } else if(M("gi")) { + ph[i * MAX_PPL + 0] = FT_P_G; + ph[i * MAX_PPL + 1] = FT_P_IY; + return 1; } else if(M("wa")) { ph[i * MAX_PPL + 0] = FT_P_W; @@ -134,6 +139,15 @@ DEF(p_gen_2) { } else if(M("tt")) { ph[i * MAX_PPL + 0] = FT_P_T; + return 1; + } else if(M("do")) { + ph[i * MAX_PPL + 0] = FT_P_D; + ph[i * MAX_PPL + 1] = FT_P_OW; + + return 1; + } else if(M("ss")) { + ph[i * MAX_PPL + 0] = FT_P_S; + return 1; } @@ -160,6 +174,10 @@ DEF(p_vowel_2) { } else if(M("oi") || M("oy")) { ph[i * MAX_PPL + 0] = FT_P_OY; + return 1; + } else if(M("rr")) { + ph[i * MAX_PPL + 0] = FT_P_R; + return 1; } else if(M("ar")) { ph[i * MAX_PPL + 0] = FT_P_AA; @@ -207,7 +225,7 @@ DEF(p_soft) { } DEF(p_special_1) { - if(M("e") && last) { + if(M("e") && last && tolower(b_c) != 'm') { return 0; } else if(M("y") && first) { ph[i * MAX_PPL + 0] = FT_P_Y; diff --git a/src/phon_JH.c b/src/phon_JH.c index a49fe47..7c96694 100644 --- a/src/phon_JH.c +++ b/src/phon_JH.c @@ -1,4 +1,54 @@ #include -signed char phon_JH[] = {}; -unsigned int phon_JH_length = 0; +signed char phon_JH[] = { + 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -1, -2, -2, /**/ + -1, -1, -1, -1, -2, -1, -1, -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -2, -2, /**/ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -1, 0, -1, -1, -1, -1, -2, -1, -1, -1, -1, -2, -1, -1, /**/ + -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, /**/ + -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, 0, 1, 1, -1, -1, 1, 1, -2, -4, -1, 1, 0, -1, -1, /**/ + 1, 1, -2, -2, -1, -1, -2, -3, -2, -1, 0, -1, -2, -1, 0, -1, -2, -1, 0, -1, -2, 0, 1, -1, -3, -1, 1, 0, -2, -2, 0, 0, /**/ + -1, 0, 1, -1, -3, -1, 1, 0, -3, -3, 0, 0, -1, -2, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -2, -1, 0, 0, -1, -1, -1, /**/ + 0, 0, 0, 0, -2, -1, 0, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, -3, -1, 1, 0, -3, -3, 2, 2, -3, -2, 1, 2, -3, -3, 3, /**/ + 2, -2, -5, 0, 4, -1, -3, -1, 1, 1, -3, -1, 2, 0, -1, -3, 2, 2, -3, -2, -1, 2, 1, -3, -1, 0, -1, -1, -1, 0, -1, -2, /**/ + 0, 0, 0, -2, -2, 1, 0, -3, -2, 1, 1, -2, -2, 0, 0, -2, 0, 1, 0, -2, -1, 1, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, /**/ + 0, 0, -1, -2, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, -1, -1, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, 1, -2, /**/ + -1, 0, 0, -1, -2, -1, 0, -1, -1, -1, 0, 0, -2, -2, -1, 1, -1, -2, -1, 1, 0, -3, -2, 1, 0, -3, -1, 1, 0, -3, -3, 2, /**/ + 0, -4, -2, 0, 0, -3, -2, 2, -1, -3, -2, 1, 1, -5, -3, 1, 0, -2, -5, 0, 1, -4, -3, -1, 1, -1, -4, 0, 1, -2, -2, -2, /**/ + 1, -2, -3, 0, -1, 0, -1, -2, 1, -1, -2, -1, -2, 0, -1, -1, 0, 0, 1, 0, -1, 0, -1, 0, -1, -2, -1, -2, -2, -1, 0, 0, /**/ + -2, -2, -1, -1, 0, -1, 0, 0, -2, -1, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, -1, /**/ + -1, -1, -1, 0, -1, -2, -2, -1, -2, -1, -1, 0, 0, -2, -2, 0, -1, -2, -2, 0, 0, -1, -1, -1, 1, 1, -2, -2, -1, 1, 1, -2, /**/ + -1, 1, 0, -3, -1, 1, 1, -4, -4, 2, 2, -1, -3, -2, 2, -3, -2, 2, -1, 0, -4, -2, 4, -3, -4, -1, -1, 2, -4, -1, 2, -2, /**/ + -1, -3, 0, 1, -4, -2, -1, -2, -1, -4, 0, -1, -4, 0, -1, 1, 1, -1, 2, 0, -2, -1, -1, 1, -1, -2, 0, -2, -2, -2, -1, 1, /**/ + -2, -3, -2, -1, 0, -1, 0, 0, -1, 0, 0, 1, 1, -1, -1, -1, 0, -1, -1, 0, 0, 0, -1, -2, -2, -2, -1, -1, -2, -1, -1, -1, /**/ + -1, -1, -1, -1, -2, -2, -1, 0, 0, -1, 0, -1, -1, -2, 0, 1, 0, 0, -2, -1, -1, -2, -2, -1, 0, -2, -3, -1, 0, 0, -1, -1, /**/ + 0, -1, 0, 0, 0, 0, -2, 0, 1, 0, 1, 0, 0, -2, -3, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, -1, 0, -1, /**/ + 0, 1, -1, -1, -1, -1, -1, -1, 0, 1, 0, -3, -3, 0, 1, 0, -1, 1, 3, 1, -1, -2, -1, -1, -1, -1, 0, 0, -2, -3, -3, -1, /**/ + 0, -1, -1, 0, 0, -1, -2, 0, 1, 1, 0, -1, 0, 1, 0, 0, 0, 1, 1, -1, -2, -1, 0, -1, -2, -3, -2, -1, -2, -2, -1, -1, /**/ + -1, -2, 0, 0, 0, -1, 0, 0, 0, -1, 0, 1, 0, -1, -2, -1, 0, -1, -1, -2, -1, -1, -2, -1, 0, 0, 0, -1, 0, 0, -1, -1, /**/ + -1, 0, 1, -1, -2, -1, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0, -2, -2, -1, -1, -1, -2, 0, 0, 0, -1, -1, 1, 1, 0, -1, 0, /**/ + 0, 0, 0, 0, 0, -1, -3, -4, -3, -2, -1, -1, -3, -4, -5, -7, -9, -4, 10, 23, 25, 18, 7, -2, -10, -14, -10, 0, 5, 0, -9, -16, /**/ + -19, -20, -17, -7, 5, 11, 9, 5, 2, 2, 3, 8, 14, 18, 15, 6, -3, -9, -10, -10, -7, -3, -2, -6, -11, -14, -12, -8, -2, 4, 8, 9, /**/ + 5, 2, 1, 2, 5, 7, 8, 7, 3, -4, -8, -8, -6, -5, -4, -3, -4, -7, -8, -8, -4, -1, 3, 5, 5, 2, -1, 0, 2, 2, 4, 5, /**/ + 4, 1, -3, -6, -6, -5, -3, -3, -3, -3, -4, -5, -6, -4, -1, 1, 2, 2, 3, 2, 0, -1, 0, 1, 2, 0, -1, -2, -4, -5, -5, -3, /**/ + -2, -2, -2, -1, -1, -1, -2, -1, 0, 0, -2, -2, -1, 0, -2, -4, -4, -7, -14, -14, 2, 21, 30, 27, 19, 8, -6, -21, -25, -14, -2, 2, /**/ + -2, -7, -14, -22, -28, -22, -7, 8, 17, 19, 17, 12, 5, 0, 2, 10, 17, 17, 11, 4, -5, -15, -20, -18, -12, -6, -3, -4, -7, -10, -12, -10, /**/ + -3, 5, 12, 16, 15, 12, 6, 1, 0, 1, 4, 5, 3, 0, -5, -11, -14, -14, -10, -6, -3, -1, -1, -1, -2, -3, 0, 4, 9, 11, 10, 7, /**/ + 3, -1, -4, -4, -2, 0, -1, -3, -4, -6, -8, -9, -7, -4, 0, 2, 3, 1, 1, 1, 2, 2, 3, 5, 5, 3, 1, -1, -3, -4, -5, -3, /**/ + -1, -2, -2, -3, -3, -3, -2, -1, 0, 0, 0, 0, -1, -2, 0, 1, -1, -3, -3, -5, -12, -17, -7, 15, 36, 41, 30, 13, 0, -7, -25, -39, /**/ + -30, -13, -4, -3, -5, -9, -17, -23, -19, -4, 10, 24, 36, 36, 28, 16, 2, -7, -9, -4, 2, 3, -1, -7, -16, -25, -30, -27, -18, -5, 7, 15, /**/ + 17, 15, 9, 4, 3, 7, 11, 13, 13, 12, 5, -7, -16, -20, -19, -16, -10, -5, -1, 1, -1, -4, -5, -1, 5, 10, 14, 16, 14, 9, 2, -3, /**/ + -6, -7, -7, -6, -4, -4, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 1, 0, /**/ + 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, /**/ + -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -2, -1, 0, 0, -1, -1, 0, 0, -1, -1, -2, -1, 0, 0, -1, -1, 0, 0, 0, /**/ + 0, -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 1, 0, -1, -1, -1, 0, 0, -1, 0, 0, /**/ + 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, /**/ + -1, 0, 0, 0, -1, -1, -1, -1, -2, -1, 0, 0, -1, -1, -2, -2, -1, -1, -1, 0, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, /**/ + -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0, -1, 0, 0, 1, 0, -1, -2, -1, 0, 0, 0, -1, -1, -1, -2, -2, -1, -1, 0, 0, /**/ + -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -2, -2, 0, 1, -1, -2, -2, 0, /**/ + 1, 2, 0, -1, 1, 3, 0, -4, -6, -1, 4, 3, 0, 0, 2, 4, 3, 0, -2, -3, -2, -1, -2, -2, -3, -3, -4, -3, -4, -3, -1, -2, /**/ + -2, -1, -1, 0, 0, 0, -2, -2, -1, 0, 0, -1, -2, -1, -1, -6, -13, -9, 11, 30, 29, 7, -14, -15, 2, 17, 12, -5, -18, -20, -16, -12, /**/ + -10, -8, -6, -8, -13, -13, -4, 8, 14, 10, 2, 1, 8, 15, 15, 10, 5, 3, 3, 0, -4, -5, -4, -6, -11, -14, -12, -7, -4, -5, -8, -7, /**/ + -3, 1, 3, 4, 5, 8, 7, 6, 5, 6, 7, 6, 2, -1, -2, -2, -2, -4, -7, -8, -7, -6, -6, -6, -6, -4, -2, -1, -1, 1, 3, 4, /**/ + 3, 3, 4, 5, 4, 3, 2, 1, /**/ +}; +unsigned int phon_JH_length = 1544; diff --git a/src/phon_N.c b/src/phon_N.c index a7db7e5..ac09860 100644 --- a/src/phon_N.c +++ b/src/phon_N.c @@ -1,4 +1,55 @@ #include -signed char phon_N[] = {}; -unsigned int phon_N_length = 0; +signed char phon_N[] = { + 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, -1, -1, /**/ + -1, -1, -1, -1, -1, -1, 1, 3, 3, 2, 2, 3, 3, 2, 1, 1, 1, -1, -1, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -3, -2, /**/ + -1, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 2, 1, 2, 2, 1, 1, 1, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -3, -2, -1, /**/ + -1, -2, -1, 0, 0, -1, 0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -1, -1, -1, -2, /**/ + -1, -1, -1, -2, -1, 0, 0, -1, -1, 0, 0, -1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -1, -2, /**/ + -2, -2, -1, -2, -2, 1, 3, 2, 1, 3, 3, 3, 2, 2, 1, 0, -1, -1, -1, -2, -3, -4, -3, -3, -4, -4, -3, -3, -3, -3, -2, -1, /**/ + 0, 0, 0, 1, 2, 2, 2, 2, 3, 2, 2, 3, 2, 2, 1, 1, 1, 0, 0, 0, -1, -2, -1, -2, -2, -2, -2, -2, -3, -3, -2, -2, /**/ + -2, -1, -1, -1, -1, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 0, 0, 0, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, /**/ + -2, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -1, -2, -3, -3, /**/ + -3, -3, -3, -3, 0, 2, 1, 2, 3, 4, 3, 2, 3, 2, 1, 0, -1, -1, -2, -3, -4, -4, -4, -5, -5, -4, -3, -4, -3, -2, -1, -1, /**/ + 0, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 1, 2, 1, 0, -1, 0, -1, -2, -2, -2, -2, -2, -3, -2, -1, -2, -2, -2, -1, /**/ + -1, -1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -3, -2, -2, -2, -2, -2, -2, /**/ + -3, -2, -1, -1, -2, -2, -1, -1, -1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -2, -2, -1, -2, -3, -3, -3, /**/ + -2, -3, -3, 0, 2, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 0, 0, -1, -2, -2, -2, -2, -4, -3, -3, -3, -4, -3, -2, -2, -2, -2, /**/ + -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 0, 0, 0, 0, -1, -1, -1, -1, -2, -3, /**/ + -2, -1, -2, -3, -3, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 1, 1, 0, 1, 2, 2, 1, 1, 2, 2, 0, 0, 0, 0, /**/ + 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, 1, 1, 0, -1, -1, -1, -1, -2, -2, -2, -3, -3, -3, /**/ + -2, 2, 5, 4, 3, 4, 6, 4, 3, 3, 3, 2, -1, -3, -2, -2, -5, -7, -6, -5, -6, -7, -6, -4, -3, -3, -2, 0, 1, 1, 1, 3, /**/ + 5, 5, 5, 5, 6, 5, 4, 4, 3, 2, 1, 1, 1, -1, -2, -2, -2, -3, -4, -4, -4, -4, -3, -3, -3, -3, -3, -2, -2, -2, -2, -1, /**/ + 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 2, 1, 1, 0, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2, /**/ + -2, -2, -1, -1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 2, 3, 2, 1, 1, 1, 0, -1, -2, -2, -2, -3, -4, -3, -4, -7, -11, -7, /**/ + 6, 13, 10, 5, 8, 12, 10, 4, 2, 3, 1, -5, -10, -9, -8, -12, -15, -12, -7, -7, -7, -5, 0, 3, 3, 5, 9, 11, 10, 9, 10, 9, /**/ + 7, 4, 2, 1, -1, -4, -6, -7, -8, -8, -8, -8, -8, -7, -6, -4, 0, 2, 2, 3, 5, 7, 7, 6, 6, 7, 6, 3, 1, 1, 0, -2, /**/ + -5, -5, -6, -6, -6, -6, -6, -5, -4, -3, -2, -1, 0, 1, 3, 4, 4, 4, 4, 4, 4, 3, 3, 1, 0, -1, -2, -3, -4, -5, -4, -5, /**/ + -5, -4, -3, -2, -3, -2, -1, 1, 1, 2, 3, 4, 3, 3, 3, 2, 2, 1, 1, 0, 0, -2, -4, -4, -4, -5, -6, -7, -4, -3, -8, -15, /**/ + -10, 9, 27, 24, 10, 5, 11, 14, 7, -1, -2, -3, -10, -17, -17, -14, -15, -19, -17, -9, -3, -3, -1, 6, 11, 13, 12, 14, 17, 15, 10, 7, /**/ + 6, 2, -3, -7, -8, -10, -13, -15, -12, -9, -9, -9, -6, -1, 2, 3, 6, 9, 10, 9, 9, 9, 10, 7, 3, 1, -1, -2, -5, -7, -7, -9, /**/ + -10, -9, -7, -5, -5, -3, 0, 2, 3, 5, 6, 7, 7, 6, 5, 4, 4, 2, 0, -3, -4, -5, -6, -6, -6, -5, -5, -5, -4, -2, -1, 0, /**/ + 0, 1, 3, 5, 6, 5, 3, 2, 2, 1, 0, -1, -1, -2, -4, -4, -3, -3, -2, -2, -1, -2, -1, 0, 2, 1, 0, 0, 1, 0, 0, 1, /**/ + -2, -11, -16, 0, 25, 33, 15, -4, -2, 10, 9, -6, -13, -10, -11, -20, -24, -16, -7, -8, -13, -9, 4, 12, 10, 9, 16, 20, 16, 10, 8, 10, /**/ + 6, -2, -8, -8, -8, -13, -17, -15, -11, -8, -8, -6, -1, 4, 5, 5, 8, 11, 12, 9, 8, 8, 6, 1, -4, -7, -7, -7, -9, -11, -10, -8, /**/ + -5, -2, 0, 2, 3, 4, 6, 6, 6, 6, 6, 5, 4, 2, 0, -2, -4, -5, -7, -7, -7, -6, -5, -4, -3, -2, 1, 4, 5, 4, 4, 5, /**/ + 4, 4, 4, 2, 0, -2, -3, -4, -4, -5, -5, -5, -5, -4, -2, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 2, 0, -1, -3, -5, -5, -5, /**/ + -5, -5, -3, -3, -12, -24, -14, 25, 56, 43, 5, -11, 8, 24, 10, -15, -23, -20, -24, -32, -27, -12, -8, -17, -15, 4, 22, 23, 15, 18, 27, 27, /**/ + 14, 5, 6, 5, -7, -18, -19, -15, -16, -21, -21, -13, -6, -3, 0, 7, 14, 16, 13, 14, 17, 16, 9, 1, -2, -4, -9, -13, -15, -14, -13, -12, /**/ + -9, -4, 0, 1, 2, 7, 12, 13, 11, 9, 8, 7, 3, -3, -5, -5, -8, -12, -14, -11, -7, -6, -5, -1, 2, 5, 7, 9, 9, 7, 5, 5, /**/ + 3, 2, -1, -3, -5, -7, -8, -8, -7, -6, -4, -2, -1, 1, 2, 3, 4, 5, 7, 5, 2, 1, 1, -1, -3, -5, -5, -4, -5, -6, -6, -4, /**/ + -2, -2, -1, 0, 1, 0, 0, 1, -4, -19, -27, 0, 48, 63, 24, -21, -20, 12, 22, -2, -27, -30, -25, -27, -27, -14, -3, -8, -16, -5, 20, 31, /**/ + 23, 13, 17, 25, 21, 9, 2, 2, -4, -17, -23, -18, -14, -17, -20, -16, -6, 1, 3, 6, 13, 17, 15, 13, 13, 14, 10, 1, -4, -5, -8, -13, /**/ + -16, -15, -12, -11, -10, -6, -1, 3, 5, 8, 10, 12, 12, 10, 7, 5, 2, -2, -4, -7, -9, -10, -10, -9, -7, -6, -5, -3, 0, 3, 6, 7, /**/ + 7, 7, 6, 5, 4, 4, 1, -3, -6, -7, -6, -6, -7, -7, -5, -3, -1, 0, 2, 4, 5, 6, 5, 4, 3, 2, 1, -1, -2, -3, -5, -6, /**/ + -5, -4, -2, -2, -2, -3, -2, -1, 1, 1, -1, 0, 0, -12, -31, -22, 31, 79, 57, -7, -33, -10, 25, 23, -17, -45, -45, -35, -27, -13, 1, 1, /**/ + -13, -12, 14, 43, 45, 18, 4, 14, 24, 16, 0, -10, -16, -25, -30, -21, -10, -11, -19, -17, 0, 17, 19, 13, 13, 17, 17, 12, 8, 5, -1, -11, /**/ + -17, -14, -11, -13, -17, -17, -9, -1, 4, 7, 9, 12, 13, 14, 13, 10, 6, 0, -5, -6, -6, -9, -12, -14, -11, -7, -4, -2, 1, 5, 7, 8, /**/ + 9, 10, 9, 4, 1, 0, 0, -3, -7, -9, -9, -8, -7, -5, -2, -1, 1, 3, 5, 7, 7, 5, 5, 3, 2, 0, -3, -4, -5, -6, -5, -5, /**/ + -5, -3, -1, 0, 1, 3, 4, 6, 5, 5, 4, 2, -1, -3, -4, -4, -7, -8, -10, -23, -37, -12, 53, 87, 45, -18, -30, 9, 34, 10, -21, -39, /**/ + -46, -36, -26, -15, -3, -8, -15, -3, 16, 40, 41, 13, 6, 23, 29, 15, -3, -12, -17, -26, -28, -19, -11, -19, -28, -17, 6, 18, 15, 9, 15, 23, /**/ + 22, 16, 12, 8, -1, -11, -16, -13, -12, -16, -21, -17, -8, -1, 2, 4, 8, 12, 13, 14, 14, 12, 7, 2, -2, -4, -6, -10, -14, -14, -12, -9, /**/ + -6, -2, 2, 5, 8, 10, 10, 12, 11, 6, 4, 3, 0, -4, -9, -10, -10, -10, -9, -6, -4, -2, 1, 3, 4, 4, 5, 6, 6, 3, 0, 0, /**/ + -1, -3, -6, -6, -6, -5, -5, -4, -3, -1, 1, 2, 3, 4, 4, 4, 4, 2, -1, -3, -4, -4, /**/ +}; +unsigned int phon_N_length = 1590; diff --git a/src/phon_P.c b/src/phon_P.c index bf6cd78..018fdc8 100644 --- a/src/phon_P.c +++ b/src/phon_P.c @@ -1,4 +1,64 @@ #include -signed char phon_P[] = {}; -unsigned int phon_P_length = 0; +signed char phon_P[] = { + 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0, /**/ + 1, 2, 0, 0, 1, 1, 1, -1, -3, 0, 0, -1, -1, -1, 1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, -2, 0, -1, -1, -1, -1, /**/ + -1, -2, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, /**/ + 0, -1, -1, -1, 0, 0, -2, -1, 0, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, 0, -2, -1, 0, -1, 0, -1, 0, 1, /**/ + -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, /**/ + -2, -1, -1, -1, -1, -2, 0, 0, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, /**/ + -1, -1, -1, -2, -1, 0, 1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, /**/ + 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, /**/ + -1, -1, -1, 0, 1, 1, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, /**/ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, -1, -4, -6, -5, -3, -1, -1, 0, 1, 1, 1, 0, 0, 0, -1, -1, 0, /**/ + 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 2, 1, 0, 0, 1, 0, -3, -5, -3, 0, 0, /**/ + -1, 1, 2, 2, 0, -1, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, -2, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, /**/ + -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -2, -1, -1, -1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, -1, /**/ + 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, /**/ + 0, 0, -1, 0, 0, 0, -1, -2, -2, -4, -5, -5, -3, 2, 7, 11, 12, 11, 7, 0, -5, -9, -10, -9, -6, -3, 0, -1, -3, -6, -8, -8, /**/ + -6, -3, 3, 8, 11, 12, 10, 6, 2, -2, -2, -2, -2, -1, 1, 0, -2, -5, -8, -9, -8, -7, -4, 0, 3, 5, 5, 4, 2, 1, 1, 1, /**/ + 2, 3, 4, 3, 2, -1, -3, -5, -6, -6, -4, -3, -2, -1, -1, -2, -1, -1, -1, 0, 1, 3, 3, 3, 3, 2, 1, 0, -1, -2, -2, -2, /**/ + -2, -2, -2, -3, -3, -3, -3, -2, -1, 0, 2, 2, 1, 2, 2, 1, 0, 0, 0, 1, 0, 0, 0, -1, -3, -3, -2, -2, -2, -1, 0, 0, /**/ + -1, -1, -2, -1, 0, -1, 1, 2, 2, 0, -2, -4, -6, -8, -6, 1, 9, 15, 19, 19, 13, 3, -7, -15, -19, -18, -13, -7, -1, 2, 1, -1, /**/ + -5, -7, -6, 0, 6, 12, 17, 18, 15, 9, 2, -4, -8, -9, -7, -5, -3, -2, -4, -7, -8, -9, -8, -5, 1, 6, 10, 12, 11, 8, 4, 1, /**/ + -1, -1, 0, 0, 0, 0, -2, -5, -7, -8, -8, -6, -3, 0, 4, 5, 6, 6, 5, 3, 2, 2, 2, 2, 2, 2, 0, -2, -4, -5, -5, -5, /**/ + -4, -2, 0, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 2, 0, -2, -3, -4, -4, -3, -2, -1, -1, -1, 0, -1, -1, 0, 2, 3, /**/ + 4, 5, 5, 4, 1, -1, -2, -3, -3, -3, -1, 0, -1, -4, -6, -7, -10, -8, -1, 9, 18, 24, 27, 23, 12, -2, -13, -20, -23, -20, -12, -5, /**/ + 0, 0, -3, -6, -10, -10, -5, 4, 13, 20, 24, 23, 16, 7, -1, -7, -10, -10, -8, -5, -3, -4, -7, -9, -12, -12, -8, -2, 4, 11, 15, 15, /**/ + 13, 9, 4, 1, -1, -1, 0, 1, 1, -1, -5, -9, -12, -13, -10, -6, -1, 3, 7, 8, 7, 6, 5, 3, 3, 3, 4, 5, 4, 3, 0, -4, /**/ + -8, -9, -9, -7, -5, -2, 0, 1, 2, 2, 2, 2, 2, 3, 4, 5, 5, 5, 3, 0, -2, -4, -5, -5, -5, -3, -2, -1, -1, -1, -1, -1, /**/ + 0, 1, 3, 4, 6, 5, 4, 2, 1, -1, -2, -3, -3, -2, -1, 0, -2, -5, -7, -10, -11, -8, 2, 15, 25, 31, 30, 20, 5, -10, -21, -25, /**/ + -24, -17, -8, -1, 1, -2, -7, -11, -12, -9, -1, 11, 20, 26, 27, 22, 13, 1, -6, -10, -11, -9, -4, -1, -2, -5, -9, -13, -15, -14, -8, 1, /**/ + 8, 14, 17, 16, 12, 7, 2, 0, -2, -1, 1, 2, 1, -3, -7, -10, -13, -13, -10, -4, 1, 4, 7, 9, 8, 5, 4, 4, 3, 3, 5, 5, /**/ + 4, 2, -1, -4, -7, -9, -9, -6, -4, -2, 1, 2, 1, 1, 0, 1, 3, 4, 5, 6, 6, 4, 1, -1, -3, -5, -6, -5, -3, -3, -2, -2, /**/ + -2, -2, -2, -1, 1, 3, 4, 5, 5, 4, 3, 1, 0, -1, -3, -4, -4, -4, -2, -2, -3, -5, -8, -12, -12, -4, 9, 21, 29, 31, 25, 11, /**/ + -5, -18, -24, -25, -20, -12, -3, 1, 0, -5, -10, -14, -13, -5, 5, 16, 23, 27, 25, 18, 8, -2, -9, -11, -10, -7, -3, -2, -4, -8, -12, -15, /**/ + -15, -11, -4, 5, 12, 16, 17, 14, 9, 3, 0, -2, -1, 1, 3, 2, -1, -5, -9, -12, -14, -12, -7, -3, 2, 6, 8, 7, 5, 3, 3, 3, /**/ + 3, 5, 5, 5, 2, -1, -4, -7, -9, -9, -7, -5, -3, -1, 2, 3, 1, 1, 2, 2, 3, 5, 6, 6, 4, 2, 0, -3, -5, -6, -5, -5, /**/ + -4, -2, -1, -1, -2, -2, -1, 0, 1, 3, 6, 6, 4, 3, 2, 1, -1, -1, -2, -2, -1, -2, -2, -4, -8, -12, -14, -8, 6, 19, 24, 19, /**/ + 8, -2, -6, -1, 8, 11, 5, -7, -17, -23, -21, -12, -2, 0, -5, -9, -9, -4, 4, 12, 18, 16, 8, 2, 2, 6, 9, 9, 6, -1, -9, -14, /**/ + -12, -8, -6, -6, -6, -8, -11, -9, -2, 4, 7, 6, 5, 3, 3, 4, 7, 8, 7, 3, -1, -4, -5, -5, -3, -2, -5, -8, -9, -7, -4, -1, /**/ + 1, 1, 0, 0, 1, 3, 5, 6, 6, 5, 3, 0, -1, -1, -1, -2, -3, -5, -5, -5, -5, -3, -2, -1, -1, -1, -2, -1, 2, 4, 3, 2, /**/ + 2, 1, 1, 0, 2, 2, -1, -3, -3, -4, -5, -4, -2, -1, -1, -1, -2, -2, -2, 1, 2, 2, 1, 0, -1, 0, 0, -2, -10, -15, -5, 15, /**/ + 23, 12, -3, -8, -2, 5, 10, 9, -2, -17, -20, -9, 2, 0, -9, -15, -16, -10, 1, 10, 8, -2, -6, 0, 10, 15, 13, 7, 1, -2, 2, 9, /**/ + 9, 1, -7, -9, -7, -4, -2, -3, -8, -13, -11, -3, 4, 4, 0, -2, 0, 4, 8, 9, 7, 1, -2, 1, 5, 6, 3, -1, -4, -6, -4, -1, /**/ + 0, -4, -9, -9, -5, -1, 0, 0, -2, -3, -3, 1, 6, 7, 3, 0, 0, 2, 4, 4, 2, -1, -4, -3, 0, 1, -1, -5, -6, -5, -3, 0, /**/ + 2, 0, -3, -3, 0, 3, 3, 1, 1, 0, 0, 3, 5, 4, 1, 0, 1, 1, 1, -1, -2, -3, -4, -4, -3, -3, -3, -3, -4, -9, -9, 3, /**/ + 17, 17, 2, -8, 0, 16, 18, 5, -7, -7, 0, 4, 2, -7, -15, -16, -7, 1, -2, -12, -13, -4, 6, 5, -1, -5, -2, 5, 11, 10, 3, 0, /**/ + 4, 11, 11, 3, -3, -3, 1, 3, 0, -5, -8, -8, -4, -1, -3, -6, -8, -5, 0, 1, -2, -3, 0, 3, 4, 5, 4, 2, 2, 4, 6, 4, /**/ + 1, 1, 3, 3, 0, -2, -3, -4, -3, -1, -1, -4, -6, -5, -2, -1, -2, -2, -2, -1, 2, 3, 0, -2, 0, 4, 4, 2, 0, 1, 2, 3, /**/ + 3, 0, -2, -2, 1, 3, 0, -4, -4, -1, 0, -1, -1, -1, 0, 1, 1, 0, -1, -1, 1, 2, 0, -1, 0, 1, 0, -1, -2, -8, -15, -5, /**/ + 21, 28, 1, -21, -4, 26, 25, -3, -17, -6, 7, 7, -2, -13, -21, -16, 0, 6, -9, -24, -15, 8, 13, -3, -12, -3, 11, 14, 10, 3, 0, 4, /**/ + 14, 16, 3, -8, -3, 9, 9, -4, -13, -9, -2, 0, -4, -10, -11, -7, 0, 1, -5, -10, -6, 4, 9, 4, -3, -1, 7, 10, 7, 2, 0, 2, /**/ + 5, 6, 3, -2, -4, -1, 2, 0, -6, -8, -5, -1, -2, -6, -7, -4, 1, 3, 0, -2, -1, 2, 5, 3, 0, 0, 2, 4, 4, 2, -1, -2, /**/ + 0, 2, 0, -4, -5, -2, -1, -1, -4, -6, -5, -2, 1, -1, -3, -2, 1, 2, 1, -1, 0, 0, 0, 1, 1, 0, -2, -1, 1, -5, -14, -6, /**/ + 19, 25, -2, -22, -2, 28, 20, -12, -20, 2, 16, 4, -12, -16, -10, -1, 4, -3, -18, -19, 0, 12, -1, -19, -13, 8, 14, 1, -10, -4, 9, 13, /**/ + 6, -2, -2, 6, 12, 8, -2, -5, 3, 9, 3, -7, -8, -1, 3, -1, -7, -8, -4, 1, 0, -6, -9, -5, 1, 3, -2, -7, -4, 4, 6, 1, /**/ + -4, -2, 5, 8, 3, -2, -1, 3, 6, 3, -1, -3, 0, 4, 3, -2, -6, -2, 2, 0, -4, -5, -3, 0, -1, -3, -4, -3, 0, 1, -1, -2, /**/ + -1, 2, 3, 1, -2, 0, 3, 4, 2, -2, -1, 3, 5, 1, -3, -2, 2, 3, -1, -4, -3, -1, -1, -3, -5, -6, -4, 0, -4, -13, -9, 13, /**/ + 23, 1, -19, -2, 28, 22, -10, -19, 5, 21, 6, -14, -13, -1, 4, -1, -9, -15, -11, 1, 6, -6, -18, -9, 10, 9, -7, -12, 1, 12, 7, -2, /**/ + -2, 4, 9, 8, 4, -1, 0, 8, 9, 1, -8, -4, 5, 4, -6, -10, -4, 2, 0, -7, -9, -5, 0, 1, -3, -6, -4, 2, 4, 0, -5, -2, /**/ + 6, 7, 0, -5, -1, 6, 6, 1, -3, -1, 3, 4, 0, -4, -3, 1, 3, -1, -5, -4, 0, 0, -4, -6, -4, -2, -1, -2, -3, -3, 0, 2, /**/ + 0, -3, -2, 2, 3, 0, 0, 2, 2, 2, 2, 2, /**/ +}; +unsigned int phon_P_length = 1868; diff --git a/src/phon_V.c b/src/phon_V.c index 3825d7c..050f9dd 100644 --- a/src/phon_V.c +++ b/src/phon_V.c @@ -1,4 +1,63 @@ #include -signed char phon_V[] = {}; -unsigned int phon_V_length = 0; +signed char phon_V[] = { + 0, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, /**/ + 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, /**/ + -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, -1, 0, -1, -1, 0, 0, -1, 0, -1, -1, 0, 0, -1, 0, -1, -1, 0, 0, /**/ + -1, 0, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -2, 0, 0, -1, -1, 0, -1, 0, 1, -1, -1, /**/ + 0, -1, -1, 1, -1, -1, 1, -1, -1, 1, -1, -2, 1, -1, -2, 0, -1, -1, 1, 0, -2, 0, -1, -1, 0, 0, -2, -1, 0, 0, 0, -1, /**/ + -2, -1, 1, 0, 0, -1, -1, -1, 1, 0, -1, -1, -1, 0, 1, 0, -1, -1, 0, 0, 0, -1, -2, -1, 0, 0, 0, -1, -2, -1, 0, -1, /**/ + -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 1, 0, -2, 0, 0, -1, 0, 0, -2, 0, 0, -1, 0, 0, -2, 0, 0, -1, 0, 0, -1, 0, /**/ + 0, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, -1, /**/ + -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, /**/ + -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, 0, 0, /**/ + -1, 0, 0, -1, 0, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, 0, -1, -2, 0, 1, -1, -1, -1, /**/ + -2, 0, 1, -1, -2, 0, -1, 0, 1, -1, -2, 0, 0, -1, 0, 0, -2, -1, 0, -1, 0, 0, -2, -2, 0, 0, 0, 0, -2, -2, 1, 0, /**/ + 0, 0, -3, -2, 1, 1, 0, -1, -2, -1, 1, 1, 0, -1, -2, -1, 1, 0, -1, -1, -1, -1, 1, 0, -1, -1, -1, -1, 0, 0, -2, -1, /**/ + 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, -1, /**/ + -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, -1, 0, 0, -1, 0, -1, -1, 0, 0, -1, 0, 0, -2, 0, 1, -2, -1, 0, -2, /**/ + 0, 1, -2, -1, 1, -2, -1, 1, -2, -2, 1, -1, -1, 1, -1, -2, 1, -1, -2, 1, -1, -1, 2, 0, -3, 0, 0, -1, 1, 0, -3, 0, /**/ + 1, -1, 0, -1, -3, 0, 1, -1, 0, 0, -3, 0, 1, -2, 0, 0, -3, -1, 2, -1, -1, 1, -2, -1, 2, -1, -1, 1, -2, -2, 2, -1, /**/ + -2, 1, -1, -2, 1, 0, -1, 0, -1, -2, 0, 0, -2, 0, 0, -2, 0, 1, -1, -1, -1, -1, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, /**/ + 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, /**/ + -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -2, -1, 0, 1, 0, -1, -2, -1, 1, 1, 0, -2, -3, -1, 2, 1, -1, -2, -2, -1, /**/ + 3, 1, -3, -2, -1, -1, 3, 1, -4, -2, 1, -1, 1, 1, -4, -2, 2, 0, 0, 1, -4, -3, 3, 0, -2, 1, -3, -4, 3, 1, -2, 0, /**/ + -2, -3, 2, 2, -3, -1, 0, -2, 1, 2, -3, -2, 0, -1, 0, 2, -2, -3, 0, 0, 0, 1, -2, -3, 0, 0, -1, 1, -1, -3, 0, 1, /**/ + -1, 0, -1, -2, 0, 1, -1, -1, -1, -2, 0, 1, -1, -1, -1, -1, 0, 1, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, /**/ + -1, -1, 0, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, -2, -1, 0, -1, -1, -1, -2, -1, 1, -1, -1, -1, -2, /**/ + -1, 2, 0, -2, -1, -2, 0, 3, -1, -3, -1, -2, 0, 3, -1, -3, -1, -2, 1, 4, -1, -4, -2, -1, 1, 3, -2, -4, -2, 0, 2, 3, /**/ + -3, -4, -1, 0, 2, 1, -4, -4, 0, 1, 2, 0, -4, -3, 0, 1, 1, 0, -3, -2, 1, 1, 0, 0, -2, -2, 0, 1, -1, -1, -1, -1, /**/ + 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, -2, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -2, -1, 0, 0, 0, -1, -1, /**/ + 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, /**/ + -1, -1, 0, -1, -1, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 1, -1, -2, 0, -1, -1, 2, 0, /**/ + -3, 0, 0, -1, 1, 0, -3, -1, 1, -1, 0, 0, -3, -1, 2, -1, -1, 0, -3, -1, 2, 0, -2, -1, -2, 1, 2, -1, -2, -1, -2, 1, /**/ + 2, -2, -2, 0, -2, 1, 3, -3, -3, 0, -2, 0, 3, -2, -3, 1, -1, 0, 2, -2, -3, 1, 0, 0, 2, -3, -3, 2, 0, -1, 1, -3, /**/ + -4, 2, 2, -1, 0, -2, -4, 2, 2, -2, -1, -1, -3, 2, 2, -2, -1, -1, -2, 1, 2, -2, -2, 0, -1, 1, 1, -2, -2, 0, 0, 0, /**/ + 0, -2, -2, 0, 0, 0, 0, -2, -2, 0, 0, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, /**/ + -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 1, -1, -2, 0, -1, 0, 1, 0, -3, -1, 0, -1, 1, 0, -2, /**/ + -1, 0, 0, 0, 1, -2, -2, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, /**/ + -1, -1, -1, 0, 0, 0, -1, -2, -1, 0, 0, 0, -1, -2, 0, 1, 0, 0, -1, -1, 0, 1, 1, -1, -2, -1, 0, 1, 0, -2, -3, 0, /**/ + 1, 0, 0, -2, -2, 0, 1, 0, 0, -1, -2, 0, 1, 0, -1, -1, -1, 0, 1, 0, -1, -1, -1, 0, 1, -1, -1, -2, -1, 0, 0, -1, /**/ + -1, -1, -1, 0, 0, -1, -1, -1, 0, 1, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, 0, -1, -2, /**/ + -1, 0, 0, -1, -1, -2, -1, 1, 0, -1, -1, -1, -1, 1, 0, -2, -1, -1, -1, 1, 0, -2, -1, 0, -1, 0, -1, -2, -1, 0, 0, 0, /**/ + -1, -2, -1, 1, -1, -1, -1, -2, 0, 1, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, -1, -2, -1, 0, 0, 0, -1, -2, -1, 0, /**/ + 0, 0, -1, -2, -1, 1, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, -1, 0, 1, -1, -2, -1, -1, 0, 1, -1, -2, 0, -1, 0, 0, -1, /**/ + -2, 0, 0, -1, 0, -1, -2, 0, 0, -1, 0, 0, -2, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, /**/ + 0, -1, -1, 0, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -2, -1, 0, 0, 0, -1, -1, -1, /**/ + 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0, 0, -1, 0, -1, -1, 0, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, /**/ + -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, 0, -1, -1, -1, /**/ + -1, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, /**/ + -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -2, /**/ + -2, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, /**/ + 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, 0, -1, 0, 0, -1, /**/ + -1, 0, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, /**/ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, /**/ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, -1, -1, -1, -1, /**/ + -1, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, -1, 0, 0, -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, -1, /**/ + -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, /**/ + 0, -1, -1, 0, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, /**/ + -1, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, /**/ + 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, /**/ + -1, -1, -1, -1, -1, -1, /**/ +}; +unsigned int phon_V_length = 1830; diff --git a/src/synth.c b/src/synth.c index 0c9577f..84846e1 100644 --- a/src/synth.c +++ b/src/synth.c @@ -35,8 +35,8 @@ void ft_synth_main(FT_HANDLE handle, int ph) { int sc = handle->rate / 11025; int i; long n; - long l = (ptr_len * 0.80) * sc; - long s = 0; + long l = (ptr_len * 0.90) * sc; + long s = (ptr_len * 0.10) * sc; int samples = sizeof(handle->audio_buffer) / sizeof(handle->audio_buffer[0]); while(l > 0) { diff --git a/tools/convert.sh b/tools/convert.sh index 419f50f..402b873 100755 --- a/tools/convert.sh +++ b/tools/convert.sh @@ -7,9 +7,9 @@ for i in *.wav; do echo "$i" while true; do - if ffmpeg -y -i $b$i -af silenceremove=1:0:-${n}dB:stop_periods=1:stop_duration=0:stop_threshold=-${n}dB -ar 11025 -ac 1 ../fishtalk/samples/$i 2>&1 | grep "empty"; then + if ( ffmpeg -y -i $b$i -af silenceremove=1:0:-${n}dB:stop_periods=1:stop_duration=0:stop_threshold=-${n}dB -ar 11025 -ac 1 ../fishtalk/samples/$i 2>&1 | grep "empty" ); then n=`expr $n + 10` - b="../samples_older" + b="../samples_older/" continue fi break