差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
project:htsengineapi [2010/12/01 12:53] – 作成 Takuya Nishimotoproject:htsengineapi [2012/07/12 17:49] (現在) Takuya Nishimoto
行 1: 行 1:
-====== htsengineapi ======+====== hts_engine API ====== 
 + 
 +[[:open-jtalk|Open JTalk]] のバックエンド。 
 + 
 +http://sourceforge.net/projects/hts-engine/ 
 + 
 +  * 2011-12-25 に 1.06 がリリースされた。(Open JTalk 1.05 と同時) 
 +    * lib/HTS_audio.c で #ifdef AUDIO_PLAY_NONE の処理が追加されている。 
 +  * 2011-07-07 に 1.05 がリリースされた。(Open JTalk 1.04 と同時) 
 +    * 1.05 から PortAudio での出力に対応している。 
 + 
 +[[:nvdajp]] で使っているバージョンはこちら: 
 + 
 +  * https://github.com/nishimotz/htsengineapi 
 +  * NVDA は JTalk のオーディオ出力を HTS engine に依存していないので、オーディオ出力部分をコメントアウトしている。 
 + 
 +変更記録 
 + 
 +  * 2011-10-15 バージョン 1.05 を import した。 
 +    * Makefile.mak.noaudio を追加 
 +    * [[https://github.com/nishimotz/htsengineapi/commit/5bacc923e5ce8823398e9a58cc0dd631a95d8b7d|disable HTS_error() ]] 
 + 
 +===== NVDA版パッチ ===== 
 + 
 +since 2012-07-12 
 + 
 +HTS_engine_API 1.06 ベースで作業中。これを導入するときには JTalk のドライバも変更が必要(HTS_Audioのサイズが0でなくなる): 
 + 
 +[[:project:libopenjtalk]] 
 + 
 +<code> 
 +*** hts_org/include/HTS_engine.h        2011-12-20 13:16:05.000000000 +0900 
 +--- htsengineapi/include/HTS_engine.h   2012-07-12 17:04:19.000000000 +0900 
 +*************** 
 +*** 95,100 **** 
 +--- 95,101 ---- 
 +   
 +  /*  -------------------------- audio ------------------------------  */ 
 +   
 ++ #if 0 
 +  #if !defined(AUDIO_PLAY_WINCE) && !defined(AUDIO_PLAY_WIN32) && !defined(AUDIO_PLAY_PORTAUDIO) && !defined(AUDIO_PLAY_NONE) 
 +  #if defined(__WINCE__) || defined(_WINCE) || defined(_WINCE) || defined(__WINCE) 
 +  #define AUDIO_PLAY_WINCE 
 +*************** 
 +*** 104,109 **** 
 +--- 105,113 ---- 
 +  #define AUDIO_PLAY_NONE 
 +  #endif                          /* WINCE || WIN32 */ 
 +  #endif                          /* !AUDIO_PLAY_WINCE && !AUDIO_PLAY_WIN32 && !AUDIO_PLAY_PORTAUDIO && !AUDIO_PLAY_NONE */ 
 ++ #else 
 ++ #define AUDIO_PLAY_NONE 
 ++ #endif 
 +   
 +  /* HTS_Audio: audio output for Windows */ 
 +  #if defined (AUDIO_PLAY_WIN32) || defined(AUDIO_PLAY_WINCE) 
 +*************** 
 +*** 141,147 **** 
 +  /* HTS_Audio: dummy audio output */ 
 +  #ifdef AUDIO_PLAY_NONE 
 +  typedef struct _HTS_Audio { 
 +!    int i;                       /* make compiler happy */ 
 +  } HTS_Audio; 
 +  #endif                          /* AUDIO_PLAY_NONE */ 
 +   
 +--- 145,151 ---- 
 +  /* HTS_Audio: dummy audio output */ 
 +  #ifdef AUDIO_PLAY_NONE 
 +  typedef struct _HTS_Audio { 
 +!    void *p /* int i */;                       /* make compiler happy */ 
 +  } HTS_Audio; 
 +  #endif                          /* AUDIO_PLAY_NONE */ 
 +   
 +*************** 
 +*** 572,578 **** 
 +  void HTS_GStreamSet_initialize(HTS_GStreamSet * gss); 
 +   
 +  /* HTS_GStreamSet_create: generate speech */ 
 +! HTS_Boolean HTS_GStreamSet_create(HTS_GStreamSet * gss, HTS_PStreamSet * pss, int stage, HTS_Boolean use_log_gain, int sampling_rate, int fperiod, double alpha, double beta, HTS_Boolean * stop, double volume, HTS_Audio * audio); 
 +   
 +  /* HTS_GStreamSet_get_total_nsample: get total number of sample */ 
 +  int HTS_GStreamSet_get_total_nsample(HTS_GStreamSet * gss); 
 +--- 576,582 ---- 
 +  void HTS_GStreamSet_initialize(HTS_GStreamSet * gss); 
 +   
 +  /* HTS_GStreamSet_create: generate speech */ 
 +! HTS_Boolean HTS_GStreamSet_create(HTS_GStreamSet * gss, HTS_PStreamSet * pss, int stage, HTS_Boolean use_log_gain, int sampling_rate, int fperiod, double alpha, double beta, HTS_Boolean * stop, double volume, HTS_Audio * audio, double lf0_offset, double lf0_amp); 
 +   
 +  /* HTS_GStreamSet_get_total_nsample: get total number of sample */ 
 +  int HTS_GStreamSet_get_total_nsample(HTS_GStreamSet * gss); 
 +*************** 
 +*** 621,626 **** 
 +--- 625,632 ---- 
 +     HTS_SStreamSet sss;          /* set of state streams */ 
 +     HTS_PStreamSet pss;          /* set of PDF streams */ 
 +     HTS_GStreamSet gss;          /* set of generated parameter streams */ 
 ++    double lf0_offset;           /* lf0 offset */ 
 ++    double lf0_amp;              /* lf0 amp */ 
 +  } HTS_Engine; 
 +   
 +  /*  ----------------------- engine method -------------------------  */ 
 +*************** 
 +*** 763,768 **** 
 +--- 769,777 ---- 
 +  /* HTS_Engine_clear: free engine */ 
 +  void HTS_Engine_clear(HTS_Engine * engine); 
 +   
 ++ /* HTS_Engine_set_lf0_offset: set lf0 offset */ 
 ++ void HTS_Engine_set_lf0_offset_amp(HTS_Engine * engine, double offset, double amp); 
 ++  
 +  /*  -------------------------- vocoder ----------------------------  */ 
 +   
 +  /* HTS_Vocoder: structure for setting of vocoder */ 
 +</code> 
 + 
 +<code> 
 +*** hts_org/lib/HTS_engine.c 2011-12-20 11:11:29.000000000 +0900 
 +--- htsengineapi/lib/HTS_engine.c 2012-07-12 17:01:37.000000000 +0900 
 +*************** 
 +*** 472,478 **** 
 +  /* HTS_Engine_create_gstream: synthesis speech */ 
 +  HTS_Boolean HTS_Engine_create_gstream(HTS_Engine * engine) 
 +  { 
 +!    return HTS_GStreamSet_create(&engine->gss, &engine->pss, engine->global.stage, engine->global.use_log_gain, engine->global.sampling_rate, engine->global.fperiod, engine->global.alpha, engine->global.beta, &engine->global.stop, engine->global.volume, engine->global.audio_buff_size > 0 ? &engine->audio : NULL); 
 +  } 
 +   
 +  /* HTS_Engine_save_information: output trace information */ 
 +--- 472,479 ---- 
 +  /* HTS_Engine_create_gstream: synthesis speech */ 
 +  HTS_Boolean HTS_Engine_create_gstream(HTS_Engine * engine) 
 +  { 
 +!    return HTS_GStreamSet_create(&engine->gss, &engine->pss, engine->global.stage, engine->global.use_log_gain, engine->global.sampling_rate, engine->global.fperiod, engine->global.alpha, engine->global.beta, &engine->global.stop, engine->global.volume, engine->global.audio_buff_size > 0 ? &engine->audio : NULL, engine->lf0_offset, engine->lf0_amp); 
 +  } 
 +   
 +  /* HTS_Engine_save_information: output trace information */ 
 +*************** 
 +*** 759,764 **** 
 +--- 760,771 ---- 
 +     return; 
 +  } 
 +   
 ++ /* HTS_Engine_set_lf0_offset: set lf0 offset */ 
 ++ void HTS_Engine_set_lf0_offset_amp(HTS_Engine * engine, double offset, double amp) 
 ++ { 
 ++     engine->lf0_offset = offset; 
 ++     engine->lf0_amp amp; 
 ++ } 
 +  HTS_ENGINE_C_END; 
 +   
 +  #endif                          /* !HTS_ENGINE_C */ 
 +</code>
  
project/htsengineapi.1291175633.txt.gz · 最終更新: 2010/12/01 12:53 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0