待辦事項 #17316

特定の長さの日本語文書を音声合成しようとするとsegvで落ちるときがある。

啟用日期: 2009-06-14 13:45 最後更新: 2009-06-14 13:45

回報者:
負責人:
(無)
類型:
狀態:
開啟
元件:
(無)
里程碑:
(無)
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
檔案:

細節

ある程度の長さの日本語文書を音声合成しようとするとcoreを吐いて落ちるときがありました。

原因は、音声のサンプル数を求めるときの計算順序のようでした。

サンプル数の計算順序を変更することでcoreを吐かなくなりましたので報告いたします。

以下がパッチとなります。

$ diff -u ../../galateatalk{.bkup,}/gtalk/do_synthesis.c
--- ../../galateatalk.bkup/gtalk/do_synthesis.c 2006-10-19 12:27:08.000000000 +0900
+++ ../../galateatalk/gtalk/do_synthesis.c      2009-06-14 13:05:16.000000000 +0900
@@ -43,7 +43,7 @@
   totalframe -= shift_end;
   
   wave.rate = SAMPLE_RATE;
-  wave.nsample = SAMPLE_RATE * FRAME_RATE * (totalframe - shift_start) / 1000;
+  wave.nsample = (SAMPLE_RATE / 1000) * FRAME_RATE * (totalframe - shift_start);
 
   if ((wave.data = (short *) calloc (wave.nsample, sizeof (short))) == NULL)
     {
よろしくお願いします。

Ticket History (1/1 Histories)

2009-06-14 13:45 Updated by: umedoblock
  • New Ticket "特定の長さの日本語文書を音声合成しようとするとsegvで落ちるときがある。" created

Attachment File List

No attachments

編輯

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登入