智能语音识别--方案实现--具体过程
文章承接上次内容:具体链接--->>>:https://blog.csdn.net/queque_heiya/article/details/104182250
思路:智能语音鼠标输入++txt文档保存++程序读取命令++传递程序读取内容;
过程:
1.新建txt文档或者word,命名为"data字符.txt"或者"data字符.doc";
2.智能语音输入到当前的文档中,注意此时需要将智能语音输出转化为翻译功能;
3.运行以下代码即可;具体代码的实现可以见注释;(这里用字符实现比较容易,两个字符组成的汉字识别亦可);
注释:汉字中同音字十分多,因此Random全部数组中计算机需要学习的数组就应该多;开发者可以多添加数组内容;
注意:代码中开辟的数组空间不大,但是数组个数多,因此考虑const int MAX=10就可以满足目的;
字符实现过程--->>>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<cstring>
#include<algorithm>
const int MAX=1000+10;
const int s=10;//定义Random数组的长度 char buffer[MAX];//定义当前txt文件里面的内容 char xipai[MAX]={'a','b','c','d','e','f','g','h','i','j'};//这里依次表示小一-->>小十
char dapai[MAX]={'A','B','C','D','E','F','G','H','I','J'};//这里依次表示大一-->>大十 //Random
char xiaoyi[MAX][MAX]={"a","Xiao Yi","Auntie","Koichi"};
char xiaoer[MAX][MAX]={"b","Xiao Er","Koji"};
char xiaosan[MAX][MAX]={"c","Xiao San","Kozo"};
char xiaosi[MAX][MAX]={"d","Xiao Si"};
char xiaowu[MAX][MAX]={"e","Xiao Wu","afternoon"};
char xiaoliu[MAX][MAX]={"f","Xiao Liu"};
char xiaoqi[MAX][MAX]={"g","Xiao Qi"};
char xiaoba[MAX][MAX]={"h","Xiao Ba"};
char xiaojiu[MAX][MAX]={"i","Xiao Jiu"};
char xiaoshi[MAX][MAX]={"j","Xiao Shi"};//Random
char dayi[MAX][MAX]={"A","Da Yi","Overcoat"};
char daer[MAX][MAX]={"B","Da Er"};
char dasan[MAX][MAX]={"C","Da San"};
char dasi[MAX][MAX]={"D","Da Si"};
char dawu[MAX][MAX]={"E","Da Wu"};
char daliu[MAX][MAX]={"F","Da Liu"};
char daqi[MAX][MAX]={"G","Da Qi"};
char daba[MAX][MAX]={"H","Da Ba"};
char dajiu[MAX][MAX]={"I","Da Jiu"};
char dashi[MAX][MAX]={"J","Da Shi"};void bfs(char ch){//可以从数组里面直接搜//这里直接打印出来printf("%c\n",ch);//当前的字符即为命令----->>完成后续接口即可
} void solve(char *buffer){for(int i=1;i<=s;i++){//在随机数组中找到对应字符 if(!strcmp(buffer,xiaoyi[i]))bfs(xiaoyi[0][0]);//搜索写多了 哈哈哈哈哈 if(!strcmp(buffer,xiaoer[i]))bfs(xiaoer[0][0]);if(!strcmp(buffer,xiaosan[i]))bfs(xiaosan[0][0]);if(!strcmp(buffer,xiaosi[i]))bfs(xiaosi[0][0]);if(!strcmp(buffer,xiaowu[i]))bfs(xiaowu[0][0]);if(!strcmp(buffer,xiaoliu[i]))bfs(xiaoliu[0][0]);if(!strcmp(buffer,xiaoqi[i]))bfs(xiaoqi[0][0]);if(!strcmp(buffer,xiaoba[i]))bfs(xiaoba[0][0]);if(!strcmp(buffer,xiaojiu[i]))bfs(xiaojiu[0][0]);if(!strcmp(buffer,xiaoshi[i]))bfs(xiaoshi[0][0]);if(!strcmp(buffer,dayi[i]))bfs(dayi[0][0]);if(!strcmp(buffer,daer[i]))bfs(daer[0][0]);if(!strcmp(buffer,dasan[i]))bfs(dasan[0][0]);if(!strcmp(buffer,dasi[i]))bfs(dasi[0][0]);if(!strcmp(buffer,dawu[i]))bfs(dawu[0][0]);if(!strcmp(buffer,daliu[i]))bfs(daliu[0][0]);if(!strcmp(buffer,daqi[i]))bfs(daqi[0][0]);if(!strcmp(buffer,daba[i]))bfs(daba[0][0]);if(!strcmp(buffer,dajiu[i]))bfs(dajiu[0][0]);if(!strcmp(buffer,dashi[i]))bfs(dashi[0][0]); }
}
int main(){//对txt文件的操作 打开文件+读取文件+关闭文件 FILE *fp;fp=fopen("data字符.txt","r");//打开文件,该文件即为语音输入的及时文件fread(buffer,sizeof(char),MAX,fp);fclose(fp);//及时关闭文件 printf("%s\n",buffer);//全部打印内容到屏幕 solve(buffer); //printf("%s\n",buffer);//全部打印内容到屏幕 //当前输入结束 // renew_txt();//更新文件内容,这里建议是删除全部文件内容 // again_input_txt();//即为重新输入文件内容 //again_main();//重新执行源代码 code!! }
汉字操作实现过程--->>>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<cstring>
#include<algorithm>
const int MAX=1000+10;
const int s=100;//定义Random数组的长度 char buffer[MAX];//定义当前txt文件里面的内容 char Mark[MAX][MAX]={"壹","贰","叁","肆","伍","陆","柒","捌","玖","拾"};//标准内容
char mark[MAX][MAX]={"一","二","三","四","五","六","七","八","九","十"};//标准内容 char xipai[MAX]={'a','b','c','d','e','f','g','h','i','j'};//这里依次表示小一-->>小十
char dapai[MAX]={'A','B','C','D','E','F','G','H','I','J'};//这里依次表示大一-->>大十 //Random
char xiaoyi[MAX][MAX]={"a","小一","效益","小姨","笑意","孝义"};
char xiaoer[MAX][MAX]={"b","小二","小儿","晓儿"};
char xiaosan[MAX][MAX]={"c","小三","消散","小散"};
char xiaosi[MAX][MAX]={"d","小四","笑死","小厮"};
char xiaowu[MAX][MAX]={"e","小五","小吴","小屋"};
char xiaoliu[MAX][MAX]={"f","小六","小刘","小柳"};
char xiaoqi[MAX][MAX]={"g","小七","小气","校企"};
char xiaoba[MAX][MAX]={"h","小八","小吧","小巴"};
char xiaojiu[MAX][MAX]={"i","小九","小酒","小舅"};
char xiaoshi[MAX][MAX]={"j","小十","小时","消逝"};//Random
char dayi[MAX][MAX]={"A","大一","大衣","答疑","大意","大姨"};
char daer[MAX][MAX]={"B","大二","达尔","大耳","打二"};
char dasan[MAX][MAX]={"C","大三","打伞","打散","大伞"};
char dasi[MAX][MAX]={"D","大四","打死","大肆","达斯"};
char dawu[MAX][MAX]={"E","大五","大雾","大悟","大物"};
char daliu[MAX][MAX]={"F","大六","大刘","大流","打流"};
char daqi[MAX][MAX]={"G","大七","大气","打气","大器"};
char daba[MAX][MAX]={"H","大八","大巴","大把","打吧"};
char dajiu[MAX][MAX]={"I","大九","大舅","大酒","搭救"};
char dashi[MAX][MAX]={"J","大十","大师","大事","大使"};void bfs(char ch){//可以从数组里面直接搜//这里直接打印出来printf("%c\n",ch);//当前的字符即为命令----->>完成后续即可
} void solve(char *buffer){for(int i=1;i<=s;i++){//在随机数组中找到对应字符 if(!strcmp(buffer,xiaoyi[i]))bfs(xiaoyi[0][0]);//搜索写多了 哈哈哈哈哈 if(!strcmp(buffer,xiaoer[i]))bfs(xiaoer[0][0]);if(!strcmp(buffer,xiaosan[i]))bfs(xiaosan[0][0]);if(!strcmp(buffer,xiaosi[i]))bfs(xiaosi[0][0]);if(!strcmp(buffer,xiaowu[i]))bfs(xiaowu[0][0]);if(!strcmp(buffer,xiaoliu[i]))bfs(xiaoliu[0][0]);if(!strcmp(buffer,xiaoqi[i]))bfs(xiaoqi[0][0]);if(!strcmp(buffer,xiaoba[i]))bfs(xiaoba[0][0]);if(!strcmp(buffer,xiaojiu[i]))bfs(xiaojiu[0][0]);if(!strcmp(buffer,xiaoshi[i]))bfs(xiaoshi[0][0]);if(!strcmp(buffer,dayi[i]))bfs(dayi[0][0]);if(!strcmp(buffer,daer[i]))bfs(daer[0][0]);if(!strcmp(buffer,dasan[i]))bfs(dasan[0][0]);if(!strcmp(buffer,dasi[i]))bfs(dasi[0][0]);if(!strcmp(buffer,dawu[i]))bfs(dawu[0][0]);if(!strcmp(buffer,daliu[i]))bfs(daliu[0][0]);if(!strcmp(buffer,daqi[i]))bfs(daqi[0][0]);if(!strcmp(buffer,daba[i]))bfs(daba[0][0]);if(!strcmp(buffer,dajiu[i]))bfs(dajiu[0][0]);if(!strcmp(buffer,dashi[i]))bfs(dashi[0][0]); }
}
int main(){//对txt文件的操作 打开文件+读取文件+关闭文件 FILE *fp;fp=fopen("data字符.txt","r");//打开文件,该文件即为语音输入的及时文件fread(buffer,sizeof(char),MAX,fp);fclose(fp);//及时关闭文件 printf("%s\n",buffer);//全部打印内容到屏幕 solve(buffer); //printf("%s\n",buffer);//全部打印内容到屏幕 //当前输入结束 // renew_txt();//更新文件内容,这里建议是删除全部文件内容 // again_input_txt();//即为重新输入文件内容 //again_main();//重新执行源代码 code!! }
演示过程:一汉字为例--->>>
1.新建文本文档,命名为data字符.txt并且在文档中语音输入大巴,对应预处理的字符应该为H;之后保存文档即可;
2.执行程序,对应以上程序运行的结果是:
大巴
H--------------------------------
Process exited after 0.2861 seconds with return value 0
请按任意键继续. . .
3.多次验证程序正确;
4.补充一段代码;把原来文字处理程序的代码换成以下代码;
void bfs(char ch){//可以从数组里面直接搜//这里直接打印出来printf("%c\n",ch);if(ch>='a'&&ch<='j') printf("%s\n",mark[ch-'a']);else printf("%s\n",Mark[ch-'A']);//当前的字符即为命令----->>完成后续即可 接口处implement
}
其他内容不变,程序运行的结果是:
大巴
H
捌--------------------------------
Process exited after 0.3065 seconds with return value 0
请按任意键继续. . .
最后说明:用户只需要人为对鼠标说话即可,程序延迟时间不会超过1000ms;
笔者能力有限,如果读者有更优质的算法还望指正并且评论指出.
智能语音识别--方案实现--具体过程相关推荐
- 语音识别方案 - 联想语音团队多场景实时语音文字转换方案
[本文转载自联想乐语音论坛] 语音技术一直是人工智能的重要领域之一,其应用也日益广泛.语音技术本身也包括许多细分领域,如远场语音识别.副语言语音属性.说话人日志.声纹识别防欺骗攻击和零资源TTS等. ...
- 海思HI35xx语音识别方案
前言 语音识别是智能化应用的一个重要分支,也是语音交互功能的基础.语音识别基于神经网络算法,借助大数据进行模型训练,据科大讯飞相关数据报道,它们已经能够实现98%以上的准确识别率,同时支持多种外语及国 ...
- dnn降噪_芯片量产已超百万,「探境科技」发布AI双麦降噪语音识别方案
文/姜菁玲 编辑/石亚琼 12月26日,探境科技举办"黑科技发布会",正式对外公布AI语音识别芯片产品矩阵,并推出具备AI双麦降噪功能的语音识别方案--Voitist音旋风612. ...
- 2019年,这8款自动语音识别方案你应该了解!
2019年,这8款自动语音识别方案你应该了解! 原创: AI前线小组 译 AI前线 1周前 作者 | Derrick Mwiti翻译 | 核子可乐编辑 | LindaAI 前线导读: 基于计算机的人类 ...
- Android微信智能心跳方案 Android微信智能心跳方案
前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...
- Android微信智能心跳方案
前言:在13年11月中旬时,因为基础组件组人手紧张,Leo安排我和春哥去广州轮岗支援.刚到广州的时候,Ray让我和春哥对Line和WhatsApp的心跳机制进行分析.我和春哥抓包测试了差不多两个多礼拜 ...
- 智能语音识别系统_语音识别技术原理_智能语音识别系统如何识别用户意图_企业服务汇...
编者按:智能语音识别系统目前已经实现商业化应用,广泛应用于客服行业,包括智能语音客服和智能客服呼叫中心.那么智能语音识别系统如何识别客户意图,如何判断智能客服系统的语音识别能力呢?本文我们将结合语音识 ...
- 智能语音识别究竟是如何实现的?
原标题:智能语音识别究竟是如何实现的? 智能化生活:当你睁开双眼体味着清晨第一抹阳光!智能设备就已经在自动工作了,机器人帮你打扫屋子,处理文件,烹饪早餐! 走出街道搭乘AI汽车,进入公司,迎面是智能前 ...
- 智能语音识别app下载-智能语音识别app安卓版下载v2.2 - 非凡软件站
在学习生活中拥有一款好用的语音翻译软件非常必要.智能语音识别APP能够为用户提供强大的语音翻译功能,实时在线翻译让用户的沟通再无障碍,英文.法语.俄语.日语以及广东话粤语等方言都可以翻译,还可以进行拍 ...
- 科大讯飞/百度/阿里/腾讯(BAT)智能语音识别(ASR)性能对比选择预计价格分享 - pytorch中文网...
最近在做智能客服的时候需要使用到语音识别,所以了解和对比了各家平台的语音识别对比和分析! 一.科大讯飞 1.语音听写即在线音识别查看Demo 把语音(≤60秒)转换成对应的文字信息,让机器能够&quo ...
最新文章
- python字符串小数转化整数_python – Pandas将字符串列和NaN(浮点数)转换为整数,保持NaN...
- trunc( mysql写法_使用oracle的trunc和dbms
- pythonrandom rand_Python np.random.rand()和np.random.randn()
- mybatis报-因为 accessExternalDTD 属性设置的限制导致不允许 http 访问
- 两种include方式及filter中的dispatcher解析
- centos6.6编译安装lnmp系列之nginx
- 电力电缆2021年考试题库
- 1949-2017闰年 c语言,1949年到2017年里有多少个闰年,多少个平年
- 如何在html中播放.flv格式的视频【vue和普通html皆可用】
- 北京轨道交通明起推出电子定期票 不享累计优惠政策
- 解救MacBook Pro老电脑显卡
- Ubuntu发烧友三部曲
- 0x300-从头开始写操作系统-内核
- PaddleOCR windows10下的安装使用
- SpringBoot2.2.2+Elasticsearch7.6.2实现中文、拼音、拼音首字母智能提示功能
- 一个屌丝程序猿的人生(一百一十五)
- java实现smtp_使用Java代码发送SMTP邮件
- java实现用户权限模块两种方法
- FreeSwitch中启用WebRTC
- 高等代数_证明_对称矩阵一定能够相似对角化
热门文章
- linux安装mysql deb_Ubuntu下通过deb的bundle文件安装MySQL
- java实现word,ppt,excel,jpg转pdf
- 如何用计算机if函数,Excel IF函数怎么用
- markdown特殊符号语法
- uni-app开发经验分享十五: uni-app 蓝牙打印功能
- python做项目看板_基于pyecharts搭建BI看板
- 数字孪生--thingjs
- 微信小程序设置单个页面自定义头部加背景图
- python一阶差分_Python使用pandas对数据进行差分运算的方法
- mpu9250摘抄笔记及心得