科大讯飞
  1. 智能硬件通用方案
科大讯飞
  • iOS SDK接入文档
  • 平台文档
    • 开发者新手指南
      • 平台简介
      • 快速指引
    • 服务协议
      • 讯飞开放平台用户服务协议
      • 讯飞星火认知大模型接口服务协议
      • 开发者应用创建规则
      • 讯飞开放平台隐私政策
      • 开发者用户个人信息保护合规指引
      • 开放平台SDK合规使用说明
      • SDK隐私政策总览
      • SDK合规使用说明总览
      • 科大讯飞儿童隐私保护政策
      • 讯飞开放平台SLA协议
      • 讯飞开放平台订购协议
    • 用户认证须知
      • 用户认证简介
      • 企业实名认证
      • 个人实名认证
      • 初创团队认证
      • 学生认证
      • 公益项目认证
      • 个人升级企业认证
    • 财务
      • 退款规则及退款流程
      • 财务相关说明
    • 账号
      • 账号注销与删除流程
      • 账号与应用说明
    • 会员
      • 会员权益详情
      • 会员时效说明
      • 会员试用版
  • 星火认知大模型
    • SparkDesk
      • SparkDesk使用指南
      • SparkDesk隐私政策
      • SparkDesk用户协议
    • 星火认知大模型
      • 服务说明
      • 通用鉴权URL生成说明
      • Spark Android SDK接入文档
      • Linux SDK接入文档
      • Windows SDK接入文档
      • 讯飞星火认知大模型隐私政策
      • Web 文档
        • 星火认知大模型Web API文档
        • 星火大模型V1.5
        • 星火大模型V2
        • 星火大模型V3
    • 星火知识库
      • 星火知识库 API 文档
        • 星火知识库 API 文档
        • 文档问答
        • 文档上传
        • 文档总结
        • 获取文档总结/概要信息
      • 新版Embedding API文档
    • 图片生成
      • 图片生成 API
    • 图片理解
      • 图片理解 API
    • 大模型定制训练平台
      • 产品使用说明
      • 星火微调服务Web API文档文档
        • 星火微调服务Web API文档文档
        • V1.5版本
        • 微调模型
  • 语音识别
    • 语音唤醒(新版)
    • 语音听写
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • Java SDK 文档
      • 音频文件格式说明
      • 语音听写服务说明
      • 语音听写(流式版)SDK隐私政策
      • 语音听写(流式版)SDK合规使用说明
      • HarmonyOS SDK 文档
      • 语音听写自训练平台
      • 语音听写(流式版)WebAPI
    • 语音转写
      • 语音转写服务说明
      • 语音转写 服务协议
      • WebAPI 文档
        • 语音转写 API 文档
        • 文件上传
        • 查询结果
    • 极速语音转写
      • 极速语音转写 API 文档
      • 小文件上传
      • 初始化分块信息
      • 分块上传
      • 分块上传完成
      • 创建任务
      • 查询任务
    • 实时语音转写
      • 实时语音转写服务说明
      • 实时语音转写 API
    • 离线语音听写
      • Android SDK 文档
      • 离线语音听写服务说明
      • 离线语音听写SDK隐私政策
      • 离线语音听写SDK合规使用说明
    • 离线语音听写(新版)
      • Android SDK 文档
      • 离线语音听写隐私政策
    • 语音唤醒
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 语音唤醒服务说明
      • 离线唤醒SDK隐私政策
    • 语音唤醒(新版)
      • Android SDK 文档
      • Linux SDK 文档
      • 语音唤醒隐私政策
    • 离线命令词识别
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 离线命令词识别服务说明
      • 离线命令词识别SDK隐私政策
      • 离线命令词SDK合规使用说明
  • 语音合成
    • 在线语音合成
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • Java SDK 文档
      • 服务协议
      • 在线语音合成服务说明
      • 发音人自训练平台使用指南
      • WebAPI
    • 长文本语音合成
      • 长文本语音合成 API 文档
      • 创建任务
      • 查询任务
    • 离线语音合成
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 服务协议
      • 离线语音合成服务说明
    • AI虚拟人技术
      • Web SDK 2.0 接入指南
      • Android-SDK
      • iOS-SDK
      • Web API 文档
        • AI虚拟人技术 API 文档
        • 音频驱动
        • 启动
        • 文本驱动
        • 停止
        • 心跳
  • 语音扩展
    • 语音评测(流式版)
      • 接口说明
      • Android SDK 文档
      • iOS SDK 文档
      • Linux SDK 文档
      • Windows SDK 文档
      • 语音评测SDK隐私政策
      • 语音评测(流式版)API
    • 语音评测suntone
      • 语音评测suntone API
    • 离线变声
      • Android SDK 集成文档
    • 音色转换
      • 音色转换 API
    • 性别年龄识别
      • 性别能力识别 API
    • 声纹识别
      • Web API 文档
      • 声纹识别 API
    • 歌曲识别
      • 歌曲识别 API
    • 歌曲识别 ACRCloud
      • 接口说明
      • 哼唱识别
      • 音乐识别
    • AI 客服中间件
      • 接口说明
      • 获取token
      • 查询配置
      • 直接外呼
      • 创建外呼任务
      • 提交任务数据
      • 启动外呼任务
      • 暂停外呼任务
      • 删除外呼任务
      • 查询任务
      • 结果数据推送
      • 话单推送
      • 录音推送
      • 会话推送
      • 呼入话术上下文动态数据获取
  • 自然语言处理
    • 文本纠错
      • 文本纠错 API
      • 黑白名单上传
    • 公文校队
      • 公文校对 API
    • 文本合规
      • 文本合规 API
      • 新增黑名单词库
      • 根据lib_id添加黑名单词条
      • 根据lib_id查询词条明细
      • 根据lib_id删除词条
      • 根据appid查询账户下所有词库
      • 根据lib_id删除词库
      • 创建白名单库
      • 根据lib_id添加放行词条
      • 根据lib_id查询词条详情
      • 根据lib_id删除词条信息
      • 根据appid查询所有词库列表
      • 根据lib_id删除词库
    • 图片合规
      • 图片合规 API
    • 音频合规
      • 音频合规 API
    • 视频合规
      • 视频合规 API
    • 文本改写
      • 文本改写 API
    • 机器翻译
      • 机器翻译(新) API
    • 机器翻译niutrans
      • 机器翻译niutrans API
    • 同声传译
      • 同声传译 API 
    • 离线分词
      • Android SDK 文档
  • 人脸识别
    • 人脸验证与检索
      • Android SDK 文档
      • iOS SDK 文档
      • 人脸验证与检索SDK隐私政策
      • 人脸验证与检索SDK合规使用说明
    • 人脸对比
      • 人脸比对 API
    • 人脸比对sensetime
      • 人脸比对sensetime API
    • 人脸水印照比对
      • 人脸水印照比对 API
    • 静默活体检测
      • 静默活体检测 API
    • 配合式活体检测
      • 配合式活体检测 API
    • 静默活体检测sensetime
      • 静默活体检测sensetime API
    • 人脸检测和属性分析
      • 人脸检测和属性分析 API
    • 人脸特征分析tuputech
      • 年龄 API
      • 颜值 API
      • 性别 API
      • 表情 API
  • 文字识别
    • 通用文字识别
      • 通用文字识别 API
    • 通用文字识别
      • 通用文字识别 intsig API
    • 手写文字识别
      • 手写文字识别 API
    • 印刷文字识别
      • 印刷文字识别 API
    • 印刷文字识别(多语种)
      • 印刷文字识别(多语种)
    • 印刷文字识别(多语种)intsig
      • 印刷文字识别(多语种)intsig API
    • 图片文档还原
      • 图片文档还原 API 
    • 国内通用票据识别
      • 接口说明
      • 国内通用票据识别 API
    • 离线OCR
      • Android SDK 文档
    • 名片识别 intsig
      • 名片识别 API
    • 身份证识别 intsig
      • 身份证识别 intsig API
    • 银行卡识别 intsig
      • 银行卡识别 API
    • 营业执照识别 intsig
      • 营业执照识别 intsig API
    • 增值税发票识别 intsig
      • 增值税发票识别 intsig API
    • 拍照速算识别
      • 接口说明
      • 拍照速算识别 API
    • 公式识别
      • 接口说明
      • 公式识别 API
    • 指尖文字识别
      • 接口说明
      • 指尖文字识别 API
    • 身份证识别
      • 接口说明
      • 身份证识别 API
    • 增值税发票识别
      • 接口说明
      • 增值税发票识别 API
    • 营业执照识别
      • 接口说明
      • 营业执照识别 API
    • 火车票识别
      • 接口说明
      • 火车票识别 API
    • 出租车发票识别
      • 接口说明
      • 出租车发票识别 API
  • 图像识别
    • 场景识别
      • 场景识别 API
    • 物体识别
      • 物体识别 API
    • 场所识别
      • 场所识别 API 文档
  • 基础服务
    • 云服务器 CVM
      • 云服务器 CVM 产品简介
      • 快速入门
      • 服务协议
  • 解决方案
    • 签到解决方案
      • SaaS操作文档
    • 智能硬件通用方案
      • 智能硬件通用方案说明
      • 麦克风阵列Android SDK
      • 麦克风阵列Linux SDK
      • 双麦阵列设计参考
      • 麦克风阵列录音要求
      • 语音唤醒Android SDK
      • 语音唤醒Linux SDK
      • 离线声纹Android SDK
      • 离线声纹Linux SDK
  • MSC API 文档
    • Android
      • 文件列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 语音评测(Evaluator)
      • 语音唤醒(Wakeuper)
      • 声纹人脸(Verifier)
      • Android 常量字段值
      • 基础类
    • IOS
      • 文件列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 语音评测(Evaluator)
      • 语音唤醒(Wakeuper)
      • 声纹人脸(Verifier)
      • 基础类
    • Windows&Linux
      • 文件列表
      • API 文档
    • Java
      • 所有类列表
      • SDK初始化
      • 语音识别(Recognizer)
      • 语音合成(Synthesizer)
      • 常量字段值
      • 基础类
  1. 智能硬件通用方案

麦克风阵列Linux SDK

功能简介#

麦克风阵列SDK基于科大讯飞MorfeiCore AIOT架构构建,利用从前端麦克风阵列采集的声音数据,通过麦克风阵列的空域滤波特性,和对唤醒人的角度定位,形成定向拾音波束,并对波束以外的噪声进行抑制,输出高质量的音频。本文主要描述阵列算法相关接口及调用流程,用于指导开发人员快速进行阵列算法集成。

#名词解释#

表 1-1 名词解释
名词说明
语音唤醒将待唤醒的机器(低功耗状态)或应用,用带唤醒词的语音进行唤醒。
波束麦克风阵列在录音时会形成拾音波束,对波束以外的噪声进行抑制,即对特定空间范围内的声音进行拾音。关于拾音波束以及和麦克之间关系的详细介绍参考**《麦克风设计参考》**。
CAECAE:Circular Array Enhancement

#授权说明#

授权方式目前只支持云端授权方式。
云端授权方式:使用云端授权方式,设备需要具备联网能力。在启动麦克风阵列服务前设备需要联网,否则SDK无法通过网络获取授权,SDK能力将无法使用。在购买SDK开发包后,科大讯飞为每台设备分配productid (每个产品唯一)和deviceid(每台设备唯一),开发者在启动麦克风阵列服务时通过相应接口将productid和deviceid传入SDK。

#相关约定说明#

文档中使用的符号约定:
表 1-2 约定说明
符号含义
[in]表明该参数是调用时赋值的参数——输入参数
[out]该参数在函数返回时被赋值——输出参数
[in/out]该参数在函数调用时作为输入、函数返回时作为输出参数

#麦克风阵列SDK接口说明#

#接口调用流程#

麦克风阵列接口基本功能使用,调用流程包括以下几个步骤(图2-1):
(1) 启动MorfeiCore服务
(2) 初始化麦克风阵列引擎
(3) 创建引擎实例
(4) 注册引擎回调函数
(5) 写入多通道音频
(6) 通过回调函数输出降噪音频\唤醒结果
(7) 引擎实例资源释放
(8) 引擎逆初始化
(9) 停止MorfeiCore服务
img
图 2-1 麦克风阵列引擎工作流程

#MorfeiCore 接口函数列表#

表 2-1 MorfeiCore 函数列表
函数名称功能简介
morfeicore_start初始化MorfeiCore 服务
morfeicore_stop逆初始化MorfeiCore 服务
morfeicore_getversion获取MorfeiCore版本号

#CAE 接口函数列表#

表 2-2 CAE函数列表
函数名称功能简介
CAEInit初始化CAE引擎
CAENew创建CAE引擎实例
CAEGetVersion获取CAE引擎版本号
CAELoadResource加载CAE资源
CAESetListener设置CAE回调接口
CAEGetParam获取CAE实例参数
CAESetParam设置CAE实例参数
CAEAudioWrite写入多通道录音数据
CAEReset重置一个CAE实例
CAEDestroy销毁CAE引擎实例
CAEUnInit逆初始化CAE引擎

#返回值说明#

对于开发接口,如果调用成功,返回值为int型的接口都会返回0,否则返回错误代码,错误代码参见aiot_errors.h。

#MorfeiCore函数调用#

#morfeicore_start#

函数原型
int morfeicore_start(const char *params, morfeicore_status_cb_t status_cb, void *user_data);
功能说明
初始化MorfeiCore服务,若同时使用基于MorfeiCore服务的其他SDK,则此函数只需调用一次。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
params[in]参数字符串
status_cb[in]状态回调函数
user_data[in]用户数据
status回调接口声明
typedef int ( *morfeicore_status_cb_t)( int type, int status, int param1, const void *param2, void *user_data);
回调参数说明
参数名参数解释
type [out]数据类型
status [out]状态信息
param1[out]保留参数
param2[out]保留参数
user_data[out]用户数据

#morfeicore_stop#

函数原型
int morfeicore_stop(void);
功能说明
逆初始化MorfeiCore服务。
返回值
如果函数调用成功返回0,失败返回错误码。

#morfeicore_ getversion#

函数原型
const char* morfeicore_getversion(void);
功能说明
获取MorfeiCore 版本号。
返回值
如果函数调用成功返回引擎版本号。

#CAE函数调用#

#CAEInit#

函数原型
int CAEInit(const char *param)
功能说明
初始化CAE引擎。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
param[in]保留

#CAEUnInit#

函数原型
int CAEUnInit()
功能说明
逆初始化CAE引擎。
返回值
如果函数调用成功返回0,失败返回错误码。

#CAEGetVersion#

函数原型
char* CAEGetVersion()
功能说明
获取CAE引擎版本号。
返回值
如果函数调用成功返回引擎版本号。

#CAENew#

函数原型
int CAENew(CAE_HANDLE *handle, const char* respath, void *reserved)
功能说明
创建CAE引擎实例。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in/out]对象句柄
respath[in]资源路径
reserved保留

#CAEDestory#

函数原型
int CAEDestory(CAE_HANDLE handle)
功能说明
销毁CAE引擎实例。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in]由CAENew创建的对象句柄

#CAESetListener#

函数原型
int CAESetListener(CAE_HANDLE handle, void *userdata, const int cbtype, void* listener)
功能说明
设置CAE回调接口。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in]由CAENew创建的对象句柄
cbtype[in]回调函数的类型,区分是那种回调函数 0:唤醒信息回调接,回调类型cae_ivw_cb 1:输出一路降噪后音频回调接口,回调类型cae_ivw_cb
listener[in]回调函数指针
userdata[in]用户数据
唤醒成功回调接口声明
typedef void (*cae_ivw_cb)( short angle, short beam, char* keyword, float power, short score, void *userdata, void *reserved);
回调参数说明
参数名参数解释
angle [in]声源角度
beam [in]唤醒波束
keyword [in]唤醒词
power [in]唤醒能量值
score [in]唤醒得分
userdata [in]用户数据
reserved[in]保留
处理后音频输出回调接口声明
typedef void (*cae_audio_cb)( const char *audiodata, unsigned int audiolen, void *userdata, void *reserved);
回调参数说明
参数名参数解释
audiodata [in]音频缓存首地址(16K、16bit的单声道PCM音频数据)
audiolen [in]音频长度
userdata [in]用户数据
reserved保留

#CAEGetParam#

函数原型
int CAEGetParam (CAE_HANDLE handle, const char* param, char* value, unsigned int *valuelen)
功能说明
获取CAE实例参数。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in]由CAENew创建的对象句柄
name[in]参数名称
value[in/out]获取的参数内容
valuelen[in/out]传入value指针的空间长度,传出获取的参数长度

#CAESetParam#

函数原型
int CAESetParam(CAE_HANDLE handle, const char* param, void* value, unsigned int valuelen);
功能说明
设置CAE实例参数。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in]由CAENew创建的对象句柄
param[in]参数名 1.“reg_beam”:设置波束; 2.“channel_num”:设置mic和ref序号。
value[in]参数值 1.指定一个波束传入,具体2麦可传入[0,1,2],6麦传入[0,1,2,3,4,5]; 2.以6麦为例,其值可为“625184730”,前6个字符是mic序号,后三个730是参考序号,且只有通道7和3有效,第三路参考做保留使用。
valuelen[in]参数长度

#CAEAudioWrite#

函数原型
int CAEAudioWrite(CAE_HANDLE handle, const char *audiodata, unsigned int audiolen)
功能说明
写入多路音频数据。多路音频数据具体要求请参考**《科大讯飞麦克风阵列SDK录音数据要求》**文档说明。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in]由CAENew创建的对象句柄
audiodata[in]音频数据地址
audiolen [in]传入音频长度,字节为单位

#CAELoadResource#

函数原型
int CAELoadResource(CAE_HANDLE handle, const char* respath)
功能说明
加载CAE资源。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in]由CAENew创建的对象句柄
respath[in]资源路径

#CAEReset#

函数原型
int CAEReset(CAE_HANDLE handle)
功能说明
重置一个CAE实例。
返回值
如果函数调用成功返回0,失败返回错误码。
参数说明
参数名参数解释
handle[in]由CAENew创建的对象句柄
上一页
麦克风阵列Android SDK
下一页
双麦阵列设计参考
Built with