最近小编与中科院的同学吃饭的时候,偶然讲起来他最近的一个项目就是利用语音识别的技术和聊天机器人来实现人机交互,简而言之就是我们说话,程序识别出来我们讲的是什么,然后通过聊天机器人跟我们实现交流。我感到非常的有意思,于是决定简单实现一下,跟大家一起来学习一下。

Python资源共享群:484031800

01.

使用模块

本次项目主要用到了三个主要的模块,分别为:

  • speech_recognition python函数库,其主要的作用是通过麦克风来将我们的录音保存到指定的文件中;
  • 百度语音识别的API接口,其主要作用是将我们的语音进行识别并转换为文字;
  • 青云客提供的聊天机器人的API接口,主要作用是与我们进行智能聊天。

有了三个主要模块的简短介绍,下面介绍一下程序的设计流程。

首先是利用speech_recognition来进行语音的录入,程序如下:

上面的程序中,我们首先调用电脑的麦克风,然后获取音频数据后,将我们的数据保存到根目录下的recording.wav文件中。运行上述程序后,我们只需要确保我们电脑的麦克风正常工作,就可以实现录音的功能。但是注意的是该录音有时间的限制,需要我们尽可能的快速反应,否则就不会录到大家优美的声音啦

录制好我们的音频数据后,接下来就是调用百度的语音识别API,我们首先要去百度的语音技术开发平台下创建一个语音识别的应用。链接如下:

https://console.bce.baidu.com/ai/?fromai=1#/ai/speech/app/create

创建好之后,我们会得到对应的AppID、API Key和Secret Key。如下图所示:

02.

进行语音识别

接下来我们按照平台给出的教程来实现语音识别,并转换为文字返回给我们,程序如下图所示。

该平台下不仅仅支持普通话的识别,而且还支持英语,粤语和四川话的识别。小编尝试了一下英语,效果也非常的不错。至于粤语和四川话,小编确实是不会,所以就没有加以尝试,如果小伙伴有兴趣的话,可以自行进行尝试。

下面的链接给出了平台的python的接口函数,详细的参数大家可以进行参阅。

http://ai.baidu.com/docs#/ASR-Online-Python-SDK/top

03.

智能聊天

最后便是利用智能机器人来进行聊天。为了给大家创造最好的,最方便的聊天程序和聊天环境,小编为大家精心对比了三款在线的聊天机器人。有图灵机器人、小i机器人和青云客提供的在线机器人接口。其中图灵机器人的效果应该是最为出色的,但是要花钱包月,而小i机器人的连接也时断时续,所以小编挑选了青云客提供的在线机器人。效果也非常不错。该部分的程序如下图所示。

最终,小编将三个程序块组合到一起,得到下面的测试结果。

是不是感觉很神奇,小编我完全不用打字,只需要动动口就可以和机器人进行互动交流,真的非常不错。此外小编将整个程序写成了类的形式,非常方便大家理解和阅读,大家只需要在dos下运行该程序即可,颇有点黑客帝国的味道哦,大家赶快动手学习吧。

用python实现语音的传输功能_用Python打造一款智能语音聊天小软件!相关推荐

  1. 用python实现语音的传输功能_用Python+WechatPCAPI实现微信消息防撤回

    干货分享 干货 | Python学习资源整理分享​mp.weixin.qq.com 引言 最近逛GitHub时发现了一个半开源的微信PC版的API接口WechatPCAPI,研究了一下,发现还是很好用 ...

  2. python语音唤醒_Python实战教程:为女朋友打造一款智能语音闹钟

    Python实战教程:为女朋友打造一款智能语音闹钟 前言 最近学了一些物联网相关的技术,有点心血来潮,寻思自己可以做点什么,恰巧之前听说过一些树莓派的传闻,就想着做一款智能点的闹钟. 需要说明的是,在 ...

  3. python开发闹钟_「玩转树莓派」为女朋友打造一款智能语音闹钟

    前言 最近在做智慧工厂相关的工作,多多少少了解了一点物联网相关的技术.于是心血来潮,寻思自己可以做点什么,恰巧之前听说过一些树莓派的传闻,于是就有了这么一款闹钟. 需要说明的是,在看这篇文章之前,你至 ...

  4. python模块大全_哎呀,不错哦!3步带你用Python打造一款智能语音聊天小软件

    最近小编与中科院的同学吃饭的时候,偶然讲起来他最近的一个项目就是利用语音识别的技术和聊天机器人来实现人机交互,简而言之就是我们说话,程序识别出来我们讲的是什么,然后通过聊天机器人跟我们实现交流.我感到 ...

  5. python控制安卓手机的闹钟_【玩转Python】为女朋友打造一款智能语音闹钟

    在看这篇文章之前,你至少应该是一个会装操作系统的程序猿,懂点 Linux,会些 Python,最主要的是你得有一个女朋友.当然没有也没关系,相信看完这篇文章,你也尝试做了这么一款闹钟,说不定..... ...

  6. python语音唤醒_用Python为女朋友打造一款智能语音闹钟

    image 前言 最近在做智慧工厂相关的工作,多多少少了解了一点物联网相关的技术.于是心血来潮,寻思自己可以做点什么,恰巧之前听说过一些树莓派的传闻,于是就有了这么一款闹钟. 需要说明的是,在看这篇文 ...

  7. python做一个闹钟_【玩转Python】为女朋友打造一款智能语音闹钟

    在看这篇文章之前,你至少应该是一个会装操作系统的程序猿,懂点 Linux,会些 Python,最主要的是你得有一个女朋友.当然没有也没关系,相信看完这篇文章,你也尝试做了这么一款闹钟,说不定..... ...

  8. 「玩转树莓派」为女朋友打造一款智能语音闹钟

    前言 最近在做智慧工厂相关的工作,多多少少了解了一点物联网相关的技术.于是心血来潮,寻思自己可以做点什么,恰巧之前听说过一些树莓派的传闻,于是就有了这么一款闹钟. 需要说明的是,在看这篇文章之前,你至 ...

  9. python模拟密码有效性检测功能_用Python程序检查密码的有效性?

    给定密码,我们的任务是检查该密码是否有效.在这里,我们使用提供正则表达式的re模块,并使用re.search()来检查字母,数字或特殊字符的有效性. 算法Step 1: first we take a ...

最新文章

  1. 如何判断 cxgrid 双击了哪一列_唐卡的价值主要体现在哪 如何判断唐卡的价值
  2. Bundle Adjustment原理及应用(附实战代码)
  3. pandas重命名列名称、数据列名称重命名(Rename Column Names): rename、set_axis、df.columns
  4. java 包装类方法总结_【源码】java包装类总结
  5. 学java要学vue吗_学vue之前必看
  6. 【工具与解决方案】从做项目中积累学习
  7. SAP License:物料账差异
  8. jenkins触发构建后一直重复构建
  9. leetcode 232. 用栈实现队列(Implement Queue using Stacks)
  10. 如何在Ubuntu Linux上安装JDK
  11. 多重搜索算法_Android多重搜寻,例如传送,搜寻联络人
  12. Thinking in Java 16.3返回一个数组
  13. viper4android fx2.7,ViPER4Android FX下载-ViPER4Android FX(蝰蛇音效fx)2.7.1.0 安卓版下载_东坡手机下载...
  14. 希捷硬盘固件修复工具_希捷发布旗下首款PCIe 4.0固态盘酷玩520:东芝96层TLC、最高5GB/s...
  15. 滕州一中计算机竞赛,滕州市北辛中学被评为全国青少年信息学奥林匹克联赛优秀参赛学校...
  16. exfat默认配置大小_我的空间哪里去了?注意exfat格式设置的陷阱
  17. [pip安装]There was a problem confirming the ssl certificate
  18. 定向抓取漫谈 长孙泰
  19. 算法笔记(1)-常用推荐算法总结
  20. flutter permission动态权限申请以及IOS端权限问题审核被拒处理

热门文章

  1. Jenkins Pipeline动态使用Git分支名称的技巧
  2. 你知道Java 8 的方法引用吗
  3. 每日一皮:当我修复一个隐藏Bug时,陷入了死循环中....
  4. 100G 免费技术学习资料大全分享 (2020 年最新)
  5. Containers vs Serverless
  6. “libc++_shared.so“ not found 解决
  7. python emoji 表情处理过滤
  8. ubuntu MNN编译安装
  9. {TypeError}clamp(): argument 'min' must be Number, not Tensor
  10. torch The “freeze_support()” line can be omitted if the programis not going to be frozen to produce