资源简介
本模块已经编译好了 可以直接使用 也有源码在里面 对freeswitch的空号识别有兴趣 已经想学习编写freeswitch模块的人 可以下载看看
代码片段和文件信息
/* asr mod. Copyright 2017 xuhuaiyi ALL RIGHTS RESERVED!
Author: cdevelop@qq.com(wwww.ddrj.com)
之前写了一个商业模块mod_vad,以及二次开发接口SmartIVR(RESTful API)详细看 http://www.dingdingtong.cn/smartivr/
很多用户只想测试一下ASR的效果以及希望自己掌握获取FreeSWITCH语音数据的原理和过程,所以特意写了这个开源项目供大家参考。
本项目的技术交流可以加群:340129771
如果需要商业服务和支持可以联系QQ:1280791187,或者微信:cdevelop
本项目是通过阿里云实时语音识别接口把通话中的语音流发送到阿里识别服务器,识别结果通过ESL事件通知业务程序。
*/
#include “switch.h“
#include “NlsClient.h“
SWITCH_MODULE_LOAD_FUNCTION(mod_asr_load);
SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_asr_shutdown);
extern “C“ {
SWITCH_MODULE_DEFINITION(mod_asr mod_asr_load mod_asr_shutdown NULL);
};
// NlsClient nlc;
NlsSpeechCallback callback;
typedef struct {
switch_core_session_t *session;
switch_media_bug_t *bug;
NlsRequest *request;
char *id;
char *seceret;
int stop;
} switch_da_t;
void OnResultDataRecved(NlsEvent* str void* para)
{
switch_log_printf(SWITCH_CHANNEL_LOG SWITCH_LOG_NOTICE “ OnResultDataRecved %s %s\n“ str->getId() str->getResponse());
/*
{“finish“:1“request_id“:“13d5daad670947a5a7a12c581f5dc8b7““status_code“:200“version“:“2.0“}
{“finish“:0“request_id“:“13d5daad670947a5a7a12c581f5dc8b7““result“:{“sentence_id“:10“begin_time“:50960“end_time“:52915“status_code“:0“text“:“电话挂掉吧拜拜“}“status_code“:200“version“:“2.0“}
{“finish“:0“request_id“:“13d5daad670947a5a7a12c581f5dc8b7““result“:{“sentence_id“:10“begin_time“:50960“end_time“:-1“status_code“:1“text“:“电话挂“}“status_code“:200“version“:“2.0“}
{“finish“:0“request_id“:“76a6e062ec9b4db68f5f6016c7f700aa““result“:{“sentence_id“:1“begin_time“:1100“end_time“:3505“status_code“:0“text“:“哎,好的一订单大概多少钱啊“}“status_code“:200“version“:“2.0“}
{“finish“:0“request_id“:“76a6e062ec9b4db68f5f6016c7f700aa““result“:{“sentence_id“:1“begin_time“:1100“end_time“:-1“status_code“:1“text“:“哎,好的一订单大概多少钱“}“status_code“:200“version“:“2.0“}
*/
switch_event_t *event = NULL;
if (switch_event_create(&event SWITCH_EVENT_CUSTOM) == SWITCH_STATUS_SUCCESS) {
event->subclass_name = strdup(“asr“);
switch_event_add_header_string(event SWITCH_STACK_BOTTOM “Event-Subclass“ event->subclass_name);
switch_event_add_header_string(event SWITCH_STACK_BOTTOM “ASR-Response“ str->getResponse());
switch_event_add_header_string(event SWITCH_STACK_BOTTOM “Channel“ str->getId());
// switch_event_add_header_string(event SWITCH_STACK_BOTTOM,“uuid“ uuid)
switch_event_fire(&event);
}
}
void OnOperationFailed(NlsEvent* str void* para)
{
switch_log_printf(SWITCH_CHANNEL_LOG SWITCH_LOG_WARNING “ OnOperationFailed %s %s\n“ str->getId() str->getErrorMessage());
switch_event_t *event = NULL;
if (switch_event_create(&event SWITCH_EVENT_CUSTOM) == SWITCH_STATUS_SUCCESS) {
event->subclass_name = strdup(“asr“);
switch_event_add_hea
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 309 2018-09-11 17:27 asr64\.git\config
文件 73 2018-09-11 17:27 asr64\.git\desc
文件 23 2018-09-11 17:27 asr64\.git\HEAD
文件 478 2018-09-11 17:27 asr64\.git\hooks\applypatch-msg.sample
文件 896 2018-09-11 17:27 asr64\.git\hooks\commit-msg.sample
文件 3327 2018-09-11 17:27 asr64\.git\hooks\fsmonitor-watchman.sample
文件 189 2018-09-11 17:27 asr64\.git\hooks\post-update.sample
文件 424 2018-09-11 17:27 asr64\.git\hooks\pre-applypatch.sample
文件 1642 2018-09-11 17:27 asr64\.git\hooks\pre-commit.sample
文件 1348 2018-09-11 17:27 asr64\.git\hooks\pre-push.sample
文件 4898 2018-09-11 17:27 asr64\.git\hooks\pre-reba
文件 544 2018-09-11 17:27 asr64\.git\hooks\pre-receive.sample
文件 1492 2018-09-11 17:27 asr64\.git\hooks\prepare-commit-msg.sample
文件 3610 2018-09-11 17:27 asr64\.git\hooks\update.sample
文件 918 2018-09-11 17:27 asr64\.git\index
文件 240 2018-09-11 17:27 asr64\.git\info\exclude
文件 211 2018-09-11 17:27 asr64\.git\logs\HEAD
文件 211 2018-09-11 17:27 asr64\.git\logs\refs\heads\master
文件 211 2018-09-11 17:27 asr64\.git\logs\refs\remotes\origin\HEAD
文件 174 2018-09-11 17:27 asr64\.git\ob
文件 195687 2018-09-11 17:27 asr64\.git\ob
文件 3136 2018-09-11 17:27 asr64\.git\ob
文件 2608 2018-09-11 17:27 asr64\.git\ob
文件 215 2018-09-11 17:27 asr64\.git\ob
文件 685 2018-09-11 17:27 asr64\.git\ob
文件 215 2018-09-11 17:27 asr64\.git\ob
文件 159 2018-09-11 17:27 asr64\.git\ob
文件 88 2018-09-11 17:27 asr64\.git\ob
文件 169 2018-09-11 17:27 asr64\.git\ob
文件 167 2018-09-11 17:27 asr64\.git\ob
............此处省略272个文件信息
- 上一篇:Horner算法小程序
- 下一篇:词法分析语法分析实验报告及源码
相关资源
- 基于HMM的语音识别系统,自己的毕设
- 基于stm32语音识别与RFID技术智能分类
- 基于科大讯飞语音识别demo离线
- 支持科大讯飞语音识别的树莓派版本
- 语音识别-科大讯飞
- 语音识别简单词汇完整版
- 语音识别源代码
- win7语音识别
- 正点原子stm32f407探索者LD3320语音识别
- 拼音音频文件,适合语音系统开发和
- 基于qt界面的语音交互软件
- 使用GMMs进行语音性别检测
- 清华大学语音识别实验指导书
- 语音识别HTK代码学习手册
- Speech Recognition Algorithms Using Weighted F
- 数字0到9的中文发音语音库
- DSP语音识别教程+源代码
- HTK语音识别基础教程-讲义
- 语音识别资料
- 百度语音合成和语音识别
- 语音识别技术原理介绍
- 语音识别模块LD3320驱动程序stm32
- LD3320程序+原理图.rar
- 树莓派语音识别科大讯飞语音识别离
- 基于Arduino的智能家居语音识别系统设
- 语音识别资料和源码
- LD3320语音识别模块
- 组合数学第四版答案
- 语音识别基本法
- qt实现科大讯飞在线语音识别
评论
共有 条评论