如何使用Festival Text To Speech C / C ++ API

时间:2010-05-25 12:29:32

标签: c++ api festival

我想在我的C ++程序中使用Festival TTS。

所以我已经从http://www.cstr.ed.ac.uk/downloads/festival/2.0.95/

下载了所有文件

然后我开始阅读C ++ API的手册(http://www.cstr.ed.ac.uk/projects/festival/manual/festival_28.html),但在手册中他们说:

要使用Festival,您必须包含festival/src/include/festival.h' which in turn will include the necessary other include files in festival / src / include'和speech_tools/include' you should ensure these are included in the include path for you your program. Also you will need to link your program with festival / src / lib / libFestival.a',speech_tools/lib/libestools.a', speech_tools / lib /libestbase.a'和`speech_tools / lib / libeststring.a'以及任何其他可选库,如net audio。 “

我正在使用UBUNTU 10.04(默认安装了节日套餐,我可以通过节日命令使用它形成终端)和GCC 4.4.3

但问题是我是GCC的新手,我不知道为了运行我的C ++代码我必须包含哪些文件,而且我也不知道如何使用我的c ++代码链接库。

所以请告诉我我必须包含哪些文件以及如何与图书馆链接,如果有人已经使用cts节日tts那么请发布你的代码

谢谢

3 个答案:

答案 0 :(得分:1)

1)#include <festival.h>在您的程序开头(因为您安装了它)。它也可能是festival/festival.h或类似的东西(这取决于软件包的安装方式) - 而且我不能确切地说,因为我从未使用它。我仍然假设第一个变体默认工作。

2)使用适当的GCC开关链接您需要的所有库(您肯定需要的那三个库以粗体文本列出)。如果你不熟悉GCC语法,你最好阅读一些手册/谷歌,因为有很多重要的信息。

P.S 您可以为项目编写适当的makefile,而不是通过控制台开关添加静态库。但是这里的情况和GCC开关一样 - 有很多关于使用makefile的不同手册,我绝对不会在这个答案中复制/粘贴它们。

答案 1 :(得分:1)

4岁。也许它已经解决了。反正。

我强烈建议您使用CMAKE。你需要使用:

set(EST_DIR "${CMAKE_CURRENT_LIST_DIR}/")
find_package(EST REQUIRED)

set(Festival_DIR "${CMAKE_CURRENT_LIST_DIR}/")
find_package(Festival REQUIRED)

INCLUDE_DIRECTORIES(include ${CMAKE_SOURCE_DIR}
                            ${EST_INCLUDE_DIR}
                            ${Festival_INCLUDE_DIR})

file(GLOB_RECURSE headers "include/*.h*")
file(GLOB_RECURSE sources "src/*.c*")

add_executable(festivalProject ${sources} ${headers} )
target_link_libraries(Project ${EST_LIBRARIES} ${Festival_LIBRARIES})

为此,您需要在CMakeLists.txt文件的同一位置使用2个文件:

请注意,您需要同时使用EST和Festival进行编译(节日取决于EST)。当然,您也可以直接在硬盘中使用#include / link直接对准您需要的每个文件。

答案 2 :(得分:0)

虽然可能会安装festival命令行程序,但基于festival开发程序的标题位于不同的包中 - 确保您也安装了festival-dev包。