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

    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如下:
LIBS=-lstdc++ libportaudio.so.0.0.18
all: speak

.cpp.o:
	$(CXX) -g $(CXXFLAGS) -I. -c $<

speak: $(OBJS)
	$(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:

set nocp
set ru
set nu
syntax on
set sw=2
set ts=2
colorscheme lx
run macros/gdb_mappings.vim

    光个配置啰嗦了这么多,编译eSpeak运行文件下一篇继续吧。
    转载注明出处:http://blog.csdn.net/w7849516230/article/details/8447911  一起讨论:w.7849516230@163.com


参考
【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


    
您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多