| cmake_minimum_required(VERSION 3.14) |
| project(kokoro_axera LANGUAGES CXX) |
| add_definitions(-DCHIP_AX650) |
| set(CMAKE_CXX_STANDARD 17) |
| set(CMAKE_CXX_STANDARD_REQUIRED ON) |
|
|
| set(AX_HEADER_DIR /opt/projects/manifest/ax650/header/external) |
| include_directories(${AX_HEADER_DIR}) |
| set(ONNX_DIR ${CMAKE_SOURCE_DIR}/third_party/onnxruntime-linux-aarch64-static_lib-1.16.0) |
| include_directories(${ONNX_DIR}/include) |
| set(ESPEAK_DIR ${CMAKE_SOURCE_DIR}/third_party/espeak-ng) |
| include_directories(${ESPEAK_DIR}/include) |
|
|
| set(SOURCES |
| src/api/ax_tts_api.cpp |
| src/tts/kokoro.cpp |
| src/utils/string_utils.cpp |
| src/utils/memory_utils.cpp |
| src/ax_model_runner/ax_model_runner.cpp |
| src/ax_model_runner/ax_engine_guard.cpp |
| src/frontend/kokoro_frontend.cpp |
| src/g2p/EspeakG2P.cpp |
| src/g2p/ZhJiebaG2P.cpp |
| src/text_normalizer/text_normalizer.cpp |
| src/text_processor/PinyinFinder.cpp |
| ) |
|
|
| add_library(kokoro_axera SHARED ${SOURCES}) |
| target_include_directories(kokoro_axera PRIVATE |
| ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/api ${CMAKE_SOURCE_DIR}/src/tts |
| ${CMAKE_SOURCE_DIR}/src/utils ${CMAKE_SOURCE_DIR}/src/ax_model_runner |
| ${CMAKE_SOURCE_DIR}/src/frontend ${CMAKE_SOURCE_DIR}/src/g2p |
| ${CMAKE_SOURCE_DIR}/src/text_processor ${CMAKE_SOURCE_DIR}/src/text_cleaner |
| ${CMAKE_SOURCE_DIR}/src/text_normalizer |
| ${ESPEAK_DIR}/include |
| ) |
| target_link_libraries(kokoro_axera |
| ${ONNX_DIR}/lib/aarch64/libonnxruntime.a |
| ${ESPEAK_DIR}/lib/aarch64/libespeak-ng.a |
| ${ESPEAK_DIR}/lib/aarch64/libspeechPlayer.a |
| ${ESPEAK_DIR}/lib/aarch64/libucd.a |
| pthread dl -Wl,--allow-shlib-undefined |
| ) |
|
|
| add_executable(kokoro_cli src/main.cpp) |
| target_include_directories(kokoro_cli PRIVATE ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/api) |
| target_link_libraries(kokoro_cli kokoro_axera) |
|
|
| install(TARGETS kokoro_axera kokoro_cli RUNTIME DESTINATION bin LIBRARY DESTINATION lib) |
|
|