SIS实时语音识别C++版SDK使用指南

举报
ASR-beginer 发表于 2023/02/23 09:29:52 2023/02/23
【摘要】 今天要介绍的主角是华为云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/
image-20230223091125472
2. 拷贝SDK头文件
image-20230223091218810
3. 拷贝so文件到自己工程的跟目录中

image-20230223090828595

2.创建自己的demo文件,

这里以SDK提供的RasrDemo.cpp为例,直接拷贝该文件到工程根目录下

image-20230223090926892

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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。