差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
project:htsengineapi [2011/10/17 10:01] Takuya Nishimotoproject:htsengineapi [2012/07/12 17:49] (現在) Takuya Nishimoto
行 1: 行 1:
 ====== hts_engine API ====== ====== hts_engine API ======
  
-[[open-jtalk|Open JTalk]] のバックエンド。+[[:open-jtalk|Open JTalk]] のバックエンド。
  
 http://sourceforge.net/projects/hts-engine/ http://sourceforge.net/projects/hts-engine/
  
-2011-07-07 に 1.05 がリリースされた。(Open JTalk 1.05 と同時) +  * 2011-12-25 に 1.06 がリリースされた。(Open JTalk 1.05 と同時) 
- +    * lib/HTS_audio.c で #ifdef AUDIO_PLAY_NONE の処理が追加されている。 
-  * 1.05 から PortAudio での出力に対応している。+  * 2011-07-07 に 1.05 がリリースされた。(Open JTalk 1.04 と同時) 
 +    * 1.05 から PortAudio での出力に対応している。
  
 [[:nvdajp]] で使っているバージョンはこちら: [[:nvdajp]] で使っているバージョンはこちら:
行 20: 行 21:
     * [[https://github.com/nishimotz/htsengineapi/commit/5bacc923e5ce8823398e9a58cc0dd631a95d8b7d|disable HTS_error() ]]     * [[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.1318813265.txt.gz · 最終更新: 2011/10/17 10:01 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