diff --git a/AquesTalk2.h b/AquesTalk2.h new file mode 100644 index 0000000..cead0ee --- /dev/null +++ b/AquesTalk2.h @@ -0,0 +1,67 @@ +////////////////////////////////////////////////////////////////////// +/*! @class AquesTalk2 + + @brief 規則音声合成エンジン AquesTalk2 + + 音声記号列から音声波形データをメモリ上に生成する + 出力音声波形は、8HKzサンプリング, 16bit,モノラル,WAVフォーマット + + + @author N.Yamazaki (Aquest) + + @date 2009/11/28 N.Yamazaki Creation (from AuesTalk.h) +*/ +// COPYRIGHT (C) 2009 AQUEST CORP. +////////////////////////////////////////////////////////////////////// +#if !defined(_AQUESTALK2_H_) +#define _AQUESTALK2_H_ +#ifdef __cplusplus +extern "C"{ +#endif + +#if defined(AQUESTALK2_EXPORTS) +#undef DllExport +#define DllExport __declspec( dllexport ) +#else +#define DllExport +#endif + +#if !(defined(WIN32)||defined(WINCE)) +#define __stdcall // for Linux etc. +#endif + +///////////////////////////////////////////// +//! 音声記号列から音声波形を生成 +//! 音声波形データは内部で領域確保される。 +//! 音声波形データの解放は本関数の呼び出し側でAquesTalk_FreeWave()にて行う +//! @param koe[in] 音声記号列(SJIS NULL終端) +//! @param iSpeed[in] 発話速度 [%] 50-300 の間で指定 default:100 +//! @param pSize[out] 生成した音声データのサイズ[byte](エラーの場合はエラーコードが返る) +//! @param phontDat[in] phontデータの先頭アドレスを指定します。このDLLのデフォルトPhontを用いるときは0を指定します。 +//! @return WAVフォーマットの音声データの先頭アドレス。エラー時はNULLが返る +DllExport unsigned char * __stdcall AquesTalk2_Synthe(const char *koe, int iSpeed, int *pSize, void *phontDat); + +//! @param koe[in] 音声記号列(EUC NULL終端) +DllExport unsigned char * __stdcall AquesTalk2_Synthe_Euc(const char *koe, int iSpeed, int *pSize, void *phontDat); +//! @param koe[in] 音声記号列(UTF8 NULL終端 BOMはつけられない) +DllExport unsigned char * __stdcall AquesTalk2_Synthe_Utf8(const char *koe, int iSpeed, int *pSize, void *phontDat); +//! @param koe[in] 音声記号列(UTF16 NULL終端 BOMの有無は問わない エンディアンは実行環境に従う) +DllExport unsigned char * __stdcall AquesTalk2_Synthe_Utf16(const unsigned short *koe, int iSpeed, int *pSize, void *phontDat); +//! @param koe[in] 音声記号列(ローマ字表記 NULL終端) +DllExport unsigned char * __stdcall AquesTalk2_Synthe_Roman(const char *koe, int iSpeed, int *pSize, void *phontDat); + +///////////////////////////////////////////// +//! 音声データの領域を開放 +//! @param wav[in] AquesTalk_Synthe()で返されたアドレスを指定 +DllExport void __stdcall AquesTalk2_FreeWave(unsigned char *wav); + +#ifdef __cplusplus +} +#endif +#endif // !defined(_AQUESTALK2_H_) +// ---------------------------------------------------------------------- +// ! Copyright AQUEST Corp. 2006- . All Rights Reserved. ! +// ! An unpublished and CONFIDENTIAL work. Reproduction, adaptation, or ! +// ! translation without prior written permission is prohibited except ! +// ! as allowed under the copyright laws. ! +// ---------------------------------------------------------------------- diff --git a/aques b/aques new file mode 100755 index 0000000..eb9f8a6 Binary files /dev/null and b/aques differ diff --git a/aques.c b/aques.c new file mode 100644 index 0000000..72f4260 --- /dev/null +++ b/aques.c @@ -0,0 +1,44 @@ +/********************************************************************** + SampleTalk.c - AquesTalk2 Linux オャツァイサタシケ鄲ョ ・オ・・ラ・・ラ・・ー・鬣 + + ノクス猗ホマ、ォ、魎サタシオュケ賽、」アケヤニノ、゚ケ、゚。「 + ノクス狄ミホマ、ヒイサタシヌネキチ(.wav・ユ・ゥ。シ・゙・テ・ネ。ヒ、スミホマ + + COPYRIGHT (C) 2010 AQUEST CORP. + + サネヘムハヒ。、マ。「readme.txt 、サイセネ、ッ、タ、オ、、。」 + + 2010/01/23 N.Yamazaki Creation +**********************************************************************/ +#include +#include "AquesTalk2.h" + + +int main(int ac, char **av) +{ + int size; + int iret; + char str[1024]; + + // イサタシオュケ賽、ニホマ + if(fgets(str, 1024-1, stdin)==0) return 0; + + // イサタシケ鄲ョ +// unsigned char *wav = AquesTalk2_Synthe(str, 100, &size, NULL); //SJIS +// unsigned char *wav = AquesTalk2_Synthe_Euc(str, 100, &size, NULL); + unsigned char *wav = AquesTalk2_Synthe_Utf8(str, 100, &size, NULL); +// unsigned char *wav = AquesTalk2_Synthe_Utf16(wstr, 100, &size, NULL); // unsigned short *wstr +// unsigned char *wav = AquesTalk2_Synthe_Roman(str, 100, &size, NULL); + if(wav==0){ + fprintf(stderr, "ERR:%d\n",size); + return -1; + } + + // イサタシ・ヌ。シ・ソ(wav・ユ・ゥ。シ・゙・テ・ネ)、ホスミホマ + fwrite(wav, 1, size, stdout); + + // イサタシ・ヌ。シ・ソ・ミ・テ・ユ・。、ホウォハ + AquesTalk2_FreeWave(wav); + + return 0; +}