2010-05-25 3 views
1

내 C++ 프로그램에서 Festival TTS를 사용하고 싶습니다.Festival Text To Speech C/C++ API 사용 방법

그래서 내가 다운로드 한 모든 파일 내가 C 수동 (http://www.cstr.ed.ac.uk/projects/festival/manual/festival_28.html)을 읽기 시작 후

http://www.cstr.ed.ac.uk/downloads/festival/2.0.95/을 형성 ++ API는하지만 설명서에 그들은 말한다 : 당신이 포함되어야합니다 축제를 사용하기 위해

festival/src/include/festival.h' which in turn will include the necessary other include files in 축제/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'뿐만 아니라 넷 오디오와 같은 기타 선택적 라이브러리를 사용할 수 있습니다. "나는 우분투 10.04 사용하고

는 (축제 패키지가 설치 기본적으로 내가이 축제 명령으로 터미널 형성 사용할 수 있습니다) 및 GCC 4.4.3

을하지만 문제는 내가 GCC와 나는 새로운 오전이다 내 C++ 코드를 실행하려면 어떤 파일을 포함해야하는지 이해하지 못하고 또한 C++ 코드로 라이브러리를 연결하는 방법을 모른다.

그래서 포함시킬 파일과 방법을 알려주십시오. 만약 누군가가 이미 C++로 축제 TTS를 사용하고 있다면 코드와 함께 링크하십시오.

답변

1

1) #include <festival.h> (프로그램을 설치했기 때문에) 프로그램 시작 부분에. 그것도 festival/festival.h 또는 그와 비슷한 것일 수 있습니다 (패키지 설치 방법에 따라 다름). 정확히 사용한 적이 없기 때문에 정확하게 말할 수는 없습니다. 여전히 첫 번째 변종이 기본적으로 작동한다고 가정합니다.

2) 적절한 GCC 스위치를 사용하여 필요한 모든 라이브러리 (확실하게 필요한 세 라이브러리는 굵게 표시)에 링크하십시오. GCC 문법에 익숙하지 않다면 많은 중요한 정보가 있기 때문에 매뉴얼/구글을 읽는 것이 좋다.

P.S 콘솔 스위치를 통해 정적 라이브러리를 추가하는 대신 프로젝트에 적절한 메이크 파일을 작성할 수 있습니다. 그러나 여기의 상황은 GCC 스위치와 동일합니다. makefile을 사용하는 것에 대한 많은 매뉴얼이 있습니다. 나는이 대답에서 확실히 복사/붙여 넣기하지 않을 것입니다.

+0

감사합니다. Kotti는 축제가 이미 내 시스템 (기본적으로)에 설치되어 있다는 것을 알려주세요. 다운로드 한 파일에서 다시 설치해야합니다. – Peeyush

+0

지금 변경하지 않고 응용 프로그램을 빌드해야합니다. 문제가 있으면 다시 설치/조사하십시오. –

0

페스티벌 명령 줄 프로그램이 설치되어있는 동안 축제를 기반으로하는 프로그램을 개발하기위한 헤더는 다른 패키지에 있습니다. festival-dev 패키지도 설치되어 있는지 확인하십시오.

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 파일의 동일한 위치에이 개 파일이 필요합니다 : 당신은 사용할 필요가 - Source Here

  • FestivalConfig.cmake -

    EST와 축제가 모두 컴파일해야합니다. (축제는 EST에 따라 다름).물론 하드 드라이브에서 다이빙을하고 필요한 모든 파일에 직접 #include/link 할 수도 있습니다.

  • 관련 문제