
# SDK简介
#### 语音交互概述
语音交互服务（Speech Interaction Service，简称SIS）是一种人机交互方式，用户通过实时访问和调用API获取语音交互结果。支持用户通过语音识别功能，将口述音频、普通话或者带有一定方言的语音文件识别成可编辑的文本，同时也支持通过语音合成功能将文本转换成逼真的语音等提升用户体验。适用场景如语音客服质检、会议记录、语音短消息、有声读物、电话回访等。
#### 新版SDK
- 优先推荐使用新版SDK[语音交互服务SDK](https://sdkcenter.developer.huaweicloud.com/?product=sis)，该SDK基于统一规范开发，支持Java/Python/C++/.NET/Go/NodeJs/PHP。
- 使用方法可参考[SDK（新版）](https://support.huaweicloud.com/sdkreference-sis/sis_05_0006.html)，该SDK暂不支持websocket方法。
 
#### websocket SDK
- 如果需要使用实时语音识别，可考虑使用该SDK。
- 当前支持Java SDK、Python SDK、CPP SDK、iOS SDK、Android SDK。使用方法可参考[Java SDK](https://support.huaweicloud.com/sdkreference-sis/sis_05_0042.html)、[Python SDK](https://support.huaweicloud.com/sdkreference-sis/sis_05_0049.html)、[CPP SDK（Windows）](https://support.huaweicloud.com/sdkreference-sis/sis_05_0080.html)、[CPP SDK（Linux）](https://support.huaweicloud.com/sdkreference-sis/sis_05_0092.html)。
 
#### SDK支持Region
表1一句话识别、录音文件识别 
| 区域名称   | 区域         | 终端节点（Endpoint）                                                                                                              | 协议类型  |
|:---|:---|:---|:---|
| 华北-北京四 | cn-north-4 | sis-ext.cn-north-4.myhuaweicloud.com sis-ext.cn-north-4.myhuaweicloud.cn | https |
| 华东-上海一 | cn-east-3  | sis-ext.cn-east-3.myhuaweicloud.com sis-ext.cn-east-3.myhuaweicloud.cn   | https |
   
表2实时语音识别 
| 区域名称   | 区域         | 终端节点（Endpoint）                                                                                                               | 协议类型      |
|:---|:---|:---|:---|
| 华北-北京四 | cn-north-4 | sis-ext.cn-north-4.myhuaweicloud.com sis-ext.cn-north-4.myhuaweicloud.cn | WebSocket |
| 华东-上海一 | cn-east-3  | sis-ext.cn-east-3.myhuaweicloud.com sis-ext.cn-east-3.myhuaweicloud.cn   | WebSocket |
   
表3实时语音合成 
| 区域名称   | 区域         | 终端节点（Endpoint）                                                                                                               | 协议类型      |
|:---|:---|:---|:---|
| 华北-北京四 | cn-north-4 | sis-ext.cn-north-4.myhuaweicloud.com sis-ext.cn-north-4.myhuaweicloud.cn | WebSocket |
| 华东-上海一 | cn-east-3  | sis-ext.cn-east-3.myhuaweicloud.com sis-ext.cn-east-3.myhuaweicloud.cn  | WebSocket |
   
表4热词管理 
| 区域名称   | 区域         | 终端节点（Endpoint）                                                                                                                | 协议类型  |
|:---|:---|:---|:---|
| 华北-北京四 | cn-north-4 | sis-ext.cn-north-4.myhuaweicloud.com sis-ext.cn-north-4.myhuaweicloud.cn | https |
| 华东-上海一 | cn-east-3  | sis-ext.cn-east-3.myhuaweicloud.com sis-ext.cn-east-3.myhuaweicloud.cn   | https |
   
表5声音复刻 
| 区域名称   | 区域        | 终端节点（Endpoint）                                                                                                             | 协议类型      |
|:---|:---|:---|:---|
| 华东-上海一 | cn-east-3 | sis-ext.cn-east-3.myhuaweicloud.com sis-ext.cn-east-3.myhuaweicloud.cn  | https     |
| 华东-上海一 | cn-east-3 | sis-ext.cn-east-3.myhuaweicloud.com sis-ext.cn-east-3.myhuaweicloud.cn | WebSocket |
   
#### SDK接口与API对应关系
Java接口与API对应关系请参见[表 Java接口与API对应关系表]。
 表6Java接口与API对应关系表 
| Class                                                                | Method                                                                    | API                                                      | 功能名称        |
|:---|:---|:---|:---|
| VcsClient                                                            | RegisterVoiceResponse registerVoice(RegisterVoiceRequest request)         | POST /v1/{project_id}/vcs/voices                         | 声音注册        |
| VcsClient                                                            | VcsCloneRequest(String voiceName, String text)                            | GET /v1/{project_id}/vcs/voices                          | 声音查询        |
| VcsClient                                                            | VoiceCloneResponse synthesisVoice(VcsCloneRequest request)                | POST /v1/{project_id}/vcs/voices/clone                   | 声音复刻        |
| RvcsClient                                                           | void connect(VcsRequest vcsRequest)                                       | wss /v1/{project_id}/vcs/voices/clone                    | 声音复刻        |
| RasrClient                                                           | void continueStreamConnect(RasrRequest request)                           | wss://{endpoint}/v1/{project_id}/rasr/continue-stream    | 实时流连续模式     |
| RasrClient                                                           | void shortStreamConnect(RasrRequest request)                              | wss://{endpoint}/v1/{project_id}/rasr/short-stream       | 实时流一句话模式    |
| RasrClient                                                           | void sentenceStreamConnect(RasrRequest request)                           | wss://{endpoint}/v1/{project_id}/rasr/sentence-stream    | 实时流单句模式     |
| AsrCustomizationClient   | AsrCustomShortResponse getAsrShortResponse(AsrCustomShortRequest request) | POST /v1/{project_id}/asr/short-audio                    | 一句话识别       |
| AsrCustomizationClient   | String submitJob(AsrCustomLongRequest request)                            | POST /v1/{project_id}/asr/transcriber/jobs               | 录音文件识别-提交请求 |
| AsrCustomizationClient   | AsrCustomLongResponse getAsrLongResponse(String jobId)                    | GET /v1/{project_id}/asr/transcriber/jobs/{job_id}       | 录音文件识别-状态查询 |
| TtsCustomizationClient                                               | TtsCustomResponse getTtsResponse(TtsCustomRequest request)                | POST /v1/{project_id}/tts                                | 语音合成        |
| HotWordClient                                                        | String create(HotWordRequest request)                                     | POST /v1/{project_id}/asr/vocabularies                   | 创建热词表       |
| HotWordClient                                                        | String update(HotWordRequest request, String vocabularyId)                | PUT /v1/{project_id}/asr/vocabularies/{vocabulary_id}    | 更新热词表       |
| HotWordClient                                                        | HotWordResponse query(String vocabularyId)                                | GET /v1/{project_id}/asr/vocabularies/{vocabulary_id}    | 查询热词表信息     |
| HotWordClient                                                        | HotWordsResponse query()                                                  | GET /v1/{project_id}/asr/vocabularies                    | 查询热词表列表     |
| HotWordClient                                                        | void delete(String vocabularyId)                                          | DELETE /v1/{project_id}/asr/vocabularies/{vocabulary_id} | 删除热词表       |
   
Python接口与API对应关系请参见[表 Python接口与API对应关系表]。
 表7Python接口与API对应关系表 
| Class                                                                  | Method                               | API                                                      | 功能名称        |
|:---|:---|:---|:---|
| VcsClient                                                              | register_voice(request)              | POST /v1/{project_id}/vcs/voices                         | 声音注册        |
| VcsClient                                                              | query_voice_name(limit, offset)      | GET /v1/{project_id}/vcs/voices                          | 声音查询        |
| VcsClient                                                              | synthesis(request)                   | POST /v1/{project_id}/vcs/voices/clone                   | 声音复刻        |
| VcsStreamClient                                                        | sendMsg(text)                        | wss /v1/{project_id}/vcs/voices/clone                    | 声音复刻        |
| RasrClient                                                             | continue_stream_connect(request)     | wss://{endpoint}/v1/{project_id}/rasr/continue-stream    | 实时流连续模式     |
| RasrClient                                                             | short_stream_connect(request)        | wss://{endpoint}/v1/{project_id}/rasr/short-stream       | 实时流一句话模式    |
| RasrClient                                                             | sentence_stream_connect(request)     | wss://{endpoint}/v1/{project_id}/rasr/sentence-stream    | 实时流单句模式     |
| AsrCustomizationClient                                                 | get_short_response(request)          | POST /v1/{project_id}/asr/short-audio                    | 一句话识别       |
| AsrCustomizationClient                                                 | submit_job(request)                  | POST /v1/{project_id}/asr/transcriber/jobs               | 录音文件识别-提交请求 |
| AsrCustomizationClient                                                 | get_long_response(job_id)            | GET /v1/{project_id}/asr/transcriber/jobs/{job_id}       | 录音文件识别-状态查询 |
| TtsCustomizationClient                                                 | get_tts_response(request)            | POST /v1/{project_id}/tts                                | 语音合成        |
| HotWordClient     | create(request)                      | POST /v1/{project_id}/asr/vocabularies                   | 创建热词表       |
| HotWordClient     | update(request, vocabulary_id)       | PUT /v1/{project_id}/asr/vocabularies/{vocabulary_id}    | 更新热词表       |
| HotWordClient     | query_by_vocabulary_id(vocabularyId) | GET /v1/{project_id}/asr/vocabularies/{vocabulary_id}    | 查询热词表信息     |
| HotWordClient     | query()                              | GET /v1/{project_id}/asr/vocabularies                    | 查询热词表列表     |
| HotWordClient     | delete(vocabulary_id)                | DELETE /v1/{project_id}/asr/vocabularies/{vocabulary_id} | 删除热词表       |
   
