3个开源TTS(四)eSpeak1.06的源码调试环境vim+vimgdb

来源:互联网 发布:黑魂女性捏脸数据 编辑:程序博客网 时间:2024/04/28 09:55
         3个开源TTS选择eSpeak分析完吧,至少它也是支持中文了吧。本着简单起见,选择eSpeak版本的1.06开始看源码;要分析总是免不了要调试,没有太多经验,选择vim+vimgdb。下面详细介绍调试环境及基本运行流程。
        (1)eSpeak1.06概况
         这个版本不支持Windows环境,那就别提DLL之类的了。比起最初最早的1.05至少给了Makefile和已经编译出的speak可执行文件。想要直接利用这个版本发声有些困难,因为speak使用的是portaudio的v18,需要动态库libportaudio.so.0,而目前我的环境中是v19的,有些变化,因此不兼容。而想使用最新的eSpeak的支持v19的头文件显然也不现实,因此劝你最好别折腾了,即使卸载了环境中的portaudio重新安装对应版本也是有问题,会提示“Failed to initialise the PortAudio sound”(原因还没找到)。但其实说明程序运行基本没有问题的,因此不妨不用发声,直接写入WAV文件。虽然其提示文档中没有提到这个命令,但是代码里面的help写的清清楚楚。
         (2)源码环境准备
         a.下载eSpeak1.06的运行包和源码包,把运行包中的speak-data文件夹拷贝到默认目录/usr/share/,当然你可以更改。
         b.解压缩源码包,修改src目录下的Makefile,现在只是要能写入WAV文件,因此可以删除其中的-lportaudio参数,如果想留着也可以,把编译好的库文件放到PATH路径中,或者像我直接把安装好的libportaudio.so.0.0.18文件(安装早期版本)拷贝到src目录下,在Makefile中的LIBS后写上libportaudio.so.0.0.18 。最后,为了方便能调试,在$(CXX)后加上-g参数,修改后部分Makefile如下:

  1. LIBS=-lstdc++ libportaudio.so.0.0.18  
  2. all: speak  
  3.   
  4. .cpp.o:  
  5.     $(CXX) -g $(CXXFLAGS) -I. -c $<  
  6.   
  7. speak: $(OBJS)  
  8.     $(CXX) -g -o $@ $(OBJS) $(LIBS) 

         (3)搭建vim+vimgdb调试环境
            我的环境:Debian6.0(root登录)  vim-7.2 (官网)
             vimgdb72-1.14(对应vim版本) http://sourceforge.net/project/showfiles.php?group_id=111038&package_id=120238
             可以使用vim的GUI(gvim)和pyclewn配合的。
             vimgdb72-1.14的使用步骤其说明文档INSTALL.TXT中都有,这里有说不清的地方可以参照对比。
             a.打补丁:下载vim-7.2源码,vimgdb72-1.14,都解压在同一目录下,为源码打补丁以支持gdb
             命令:patch -d vim72 --backup -p0 < vimgdb/vim72.diff
             b.安装前配置vim:在编译vim前需要配置,进入vim的src目录,修改其Makefile文件,包括配置你是否使用GUI(gvim),支持perl、python,tcl等,文件中的注释非常详细,比如选择支持python时提示:“NOTE: Using this together with Perl may cause a crash in initialization”。我的配置如下:
             打开cscope接口:CONF_OPT_CSCOPE = --enable-cscope
             打补丁已经修改的:CONF_OPT_GDB = --enable-gdb
             支持中文:CONF_OPT_MULTIBYTE = --enable-multibyte  CONF_OPT_INPUT = --enable-xim
             特性支持:CONF_OPT_FEAT = --with-features=huge
             修改完后保存,在命令行下直接make        make install 
            c.安装后配置vim:下本vim中文手册,选择个合适的配色啊,语法高亮,缩进之类的,写在vim的runtime环境目录下的.vimrc文件中,没有可以创建。可以用:set runtimepath?命令在vim中查看你的目录,我的在root文件夹下。
            d.安装vimgdb:解压缩vimgdb_runtime.tgz中的文件到vim的runtime下的.vim文件夹中,这样在.vim文件夹中包含
            vimgdb使用帮助:doc/gdb.txt
            vimgdb命令快捷键:macros/gdb_mappings.vim
            gdb语法:syntax文件夹
            e.vim中配置vimgdb:在vim中运行::helptags ~/.vim/doc 使得可以使用:help vimgdb命令,查看vimgdb帮助;运行:run macros/gdb_mappings.vim命令,关联gdb的命令快捷键,例如空格键会进入gdb命令行,F7切换是否使用vimgdb快捷键,shift+r键表示运行,可以在gdb_mappings.vim修改和理解。

    f.我的.vimrc:

  1. set nocp  
  2. set ru  
  3. set nu  
  4. syntax on  
  5. set sw=2  
  6. set ts=2  
  7. colorscheme lx  
  8. run macros/gdb_mappings.vim  
         配置啰嗦了这么多,编译eSpeak运行文件下一篇继续吧。
         参考:
                【1】vi/vim使用进阶: 在VIM中使用GDB调试 – 使用vimgdb http://easwy.com/blog/archives/advanced-vim-skills-vim-gdb-vimgdb/
                【2】ubuntu vim7.2 vimgdb安装方法 http://www.zhouwenyi.com/name/267058
0 0