SIS实时语音识别C++版SDK使用指南
【摘要】 今天要介绍的主角是华为云SIS语音交互服务实时语音识别的C++版SDK(Linux版),接下来让我们一步步介绍该SDK的安装与使用 前期准备该工程基于CMake实现,所需要的依赖仅包括g++和cmake。g++版本建议4.8.5以上cmake版本至少是3.14 CentOS系统yum install gcc-c++yum install cmake Ubuntu系统sudo apt-get ...
今天要介绍的主角是华为云SIS语音交互服务实时语音识别的C++版SDK(Linux版),接下来让我们一步步介绍该SDK的安装与使用
前期准备
该工程基于CMake实现,所需要的依赖仅包括g++和cmake。
- g++版本建议4.8.5以上
- cmake版本至少是3.14
CentOS系统
yum install gcc-c++
yum install cmake
Ubuntu系统
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install cmake
SDK的安装
本SDK所以来的三方库包括
- openssl
- jsoncpp
- websocketpp 只需要头文件,无需编译
- glog
- gflags
- boost 只需要头文件,无需编译
这些依赖库均以源码形式存放在SDK根目录。该SDK默认是开启了所有依赖库的安装,如果你在系统中提前安装过openssl,则在构建时候,可以选择执行cmake … -DOPENSSL=OFF,跳过SDK对openssl的安装
这里主要介绍两种安装方式,大家可针对自己的项目选择一种即可
SDK的获取
wget --no-check-certificate https://sis-sdk-repository.obs.cn-north-1.myhuaweicloud.com/cpp/huaweicloud-cpp-sdk-sis-linux.1.3.3.tar.gz
tar -xzvf huaweicloud-cpp-sdk-sis-linux.1.3.3.tar.gz
一键安装(推荐)
该方式会通过CMake自动解压上面提到的6个依赖库,并实现一键安装。
mkdir -p build
cd build && cmake .. && make -j
自定义安装
主要思路是,先提前安装以上6个依赖库,然后再编译SDK。其中在执行cmake时候,可以通过参数DCMAKE_INSTALL_PREFIX指定安装位置(若不指定则直接安装到/usr/local下面),具体操作如下
# step1 安装openssl
tar -xzvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
./config
make -j && make install
# step2 安装jsoncpp
unzip jsoncpp-1.9.5.zip
cd jsoncpp-1.9.5
mkdir build && cd build
cmake .. -DJSONCPP_WITH_TESTS=OFF
# 如果不想直接撞到/usr/local下面,可以自定义安装路径,如下。其他依赖库也一样,后面不再一一举例
# cmake .. -DJSONCPP_WITH_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/path_to_jsoncpp
make -j
make install
# step3 安装websocketpp
tar -xzvf websocketpp-0.8.2.tar.gz
cd websocketpp-0.8.2
mkdir build && cd build && cmake .. && make -j
make install
# step4 安装glog
unzip glog-0.4.0.zip
cd glog-0.4.0
mkdir build && cd build && cmake .. -DBUILD_SHARED_LIBS=ON && make -j
make install
# step5 安装gflags
unzip gflags-v2.2.0.zip
cd gflags-2.2.0
mkdir build && cd build && cmake .. -DBUILD_SHARED_LIBS=ON && make -j
make install
# step6 安装boost
tar -xzvf boost_1_73_0.tar.gz
cd boost_1_73_0
./bootstrap.sh
./b2 headers
./b2 install
# step7 安装SDK
mkdir build && cd build
cmake -DWEBSOCKETPP=OFF -DJSONCPP=OFF -DBOOST=OFF -DGFLAGS=OFF -DGLOG=OFF -DOPENSSL=OFF ..
make -j
注意,你也可以选择性的提前安装这些库,比如先提前安装了boost和openssl,则编译SDK时候的命令则为:
mkdir build && cd build
cmake -DBOOST=OFF -DGFLAGS=OFF ..
make -j
SDK的应用
该部分主要介绍如何将编译好的SDK应用/集成到自己的项目当中
0. 创建一个空工程
先创建一个目录,作为新工程的根目录,如文件名叫Demo
1. 拷贝三方库到自己的工程(如果三方库选择安装到系统的则可以跳过该步骤)
将以上提到的6个依赖库拷贝到Demo/third_party下,具体操作如下
# 当前在Demo根目录下
mkdir third_party
cp {boost_install_dir,gflags_install_dir,glog_install_dir,jsoncpp_install_dir,openssl_install_dir,websocketpp_install_dir} third_party/
2. 拷贝SDK头文件
3. 拷贝so文件到自己工程的跟目录中
2.创建自己的demo文件,
这里以SDK提供的RasrDemo.cpp为例,直接拷贝该文件到工程根目录下
3. 撰写CMakeLists.txt
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
project(huaweicloud_cpp_sdk)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -fPIC -O3 -Wl,-z,relro,-z,now -pie -s")
include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${ROOT_DIR}/include
${CMAKE_SOURCE_DIR}/third_party/websocketpp-src
${CMAKE_SOURCE_DIR}/third_party/jsoncpp-install/include
${CMAKE_SOURCE_DIR}/third_party/boost-src/
${CMAKE_SOURCE_DIR}/third_party/gflags-install/include/
${CMAKE_SOURCE_DIR}/third_party/glog-install/include
${CMAKE_SOURCE_DIR}/third_party/openssl-install/include)
link_directories(${CMAKE_SOURCE_DIR}/third_party/jsoncpp-install/lib64
${CMAKE_SOURCE_DIR}/third_party/gflags-install/lib
${CMAKE_SOURCE_DIR}/third_party/glog-install/lib64
${CMAKE_SOURCE_DIR}/third_party/openssl-install/lib
${CMAKE_SOURCE_DIR})
add_executable(RasrDemo ${CMAKE_SOURCE_DIR}/RasrDemo.cpp)
target_link_libraries(RasrDemo PUBLIC huawei_rasr ssl crypto jsoncpp glog gflags_nothreads)
4. 编译自己的项目
mkdir build && cd build
cmake .. && make -j
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)