任务单 #17316

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

开放日期: 2009-06-14 13:45 最后更新: 2009-06-14 13:45

报告人:
属主:
(无)
类型:
状态:
开启
组件:
(无)
里程碑:
(无)
优先:
5 - Medium
严重性:
5 - Medium
处理结果:
文件:

Details

ある程度の長さの日本語文書を音声合成しようとすると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)
     {
よろしくお願いします。

任务单历史 (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. » 登录名