[Qi Hardware Discuss] Bard Storyteller 0.5 for Nanonote

Alan W Black awb at cs.cmu.edu
Mon Jan 23 13:51:54 EST 2012


Xiangfu Liu wrote:
>>> I think there are some typo? it give me:
>>> http://festvox.org/bard/AAAREADME, not just REAME. :)
>>>
>>
>> Actually this is how the apache is server set up, is doesn't show
>> files called README (its a common problem) so I name it AAAREADME
>> too. They are links to the same file.
> 
> Hi ALan
> sorry. I don't know that.
> 
>> I believe this is because you don't have the latest version of
>> flite. You really need the one in
>> http://festvox.org/bard/flite-1.5.4-current.tar.bz2
>>
>> There actual a bunch of little changes in flite that help to make
>> bard work properly (even though flite is supposed to be quite
>> mature).
>>
>> Let me know if that doesn't work. I've not worked on integrating this
>> into to the OpenWRT build process (I actually compile it on the
>> nanonote itself), but give me feedback about how to do this properly
>> so updates will just work.
> 
> thanks. after update the flite to 1.5.4-current and a small patch on bard.
> now it compile fine under OpenWRT.
> 
> I have test both your package and my build package. it always exit with 
> a 'segmentation fault'
> after read all text.

Yes that's a bug, I wasn't checking end of file conditions enough.
The short fix is below.  (Or use longer text files :-).

I've fixed this in 0.6-current and will release that soon.

Alan


*** bard-0.5-current/src/speech.c       Sat Jan 21 13:48:30 2012
--- bard-0.5-current_new/src/speech.c   Mon Jan 23 13:48:08 2012
***************
*** 192,198 ****
       if (br->speech->token)
       {
           wavepos = ((float)start)/w->sample_rate;
!         if (wavepos > br->speech->tokenend)
           {
               bard_window_token_highlight_move(br->text,SDLK_RIGHT);
               br->speech->token = item_next(br->speech->token);
--- 192,199 ----
       if (br->speech->token)
       {
           wavepos = ((float)start)/w->sample_rate;
!         if ((wavepos > br->speech->tokenend) &&
!             item_next(br->speech->token))
           {
               bard_window_token_highlight_move(br->text,SDLK_RIGHT);
               br->speech->token = item_next(br->speech->token);

> 
> 
> xiangfu
> 
> ~~~
> root at BenNanoNote:~# echo  "hello world" > a
> root at BenNanoNote:~# /usr/local/bin/bard -text a
>  
> -rf0_font_size 20
> -rf0_text_pos 0
> -rf0_text /usr/bin/a
> -speed 1.000000
> -gain 1.000000
> -textdir /root
> -font_size 20
> -font /usr/share/fonts/ttf-dejavu/DejaVuSerif.ttf
> -text_pos 0
> -text a
> awb_debug text update at hello
> awb_debug text update at hello
> awb_debug text update at hello
> awb_debug text update at  world
> Segmentation fault
> 
> ~~~~
> more info:
> http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/tree/master/bard/Makefile 
> 
> http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/tree/master/bard/patches/001-remove-configure-hardcode-check.patch 
> (there are some hard code path under configure.in)
> 
> http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/tree/master/flite/Makefile 
> 
> http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/tree/master/flite/patches/0001-add-ben-configure-file.patch 
> 





More information about the discussion mailing list


interactive