前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >九十六、Python只需要三十行代码,打造一款简单的人工语音对话

九十六、Python只需要三十行代码,打造一款简单的人工语音对话

作者头像
润森
发布于 2022-08-18 01:15:02
发布于 2022-08-18 01:15:02
98400
代码可运行
举报
文章被收录于专栏:毛利学Python毛利学Python
运行总次数:0
代码可运行

@Author:Runsen

1876年,亚历山大·格雷厄姆·贝尔(Alexander Graham Bell)发明了一种电报机,可以通过电线传输音频。托马斯·爱迪生(Thomas Edison)于1877年发明了留声机,这是第一台记录声音并播放声音的机器。

最早的语音识别软件之一是由Bells Labs在1952年编写的,只能识别数字。1985年,IBM发布了使用“隐马尔可夫模型”的软件,该软件可识别1000多个单词。

几年前,一个replace("?","")代码价值一个亿

如今,在Python中Tensorflow,Keras,Librosa,Kaldi和语音转文本API等多种工具使语音计算变得更加容易。

今天,我使用gtts和speech_recognition,教大家如何通过三十行代码,打造一款简单的人工语音对话。思路就是将语音变成文本,然后文本变成语音。

gtts

gtts是将文字转化为语音,但是需要在V**下使用。这个因为要接谷歌服务器

具体gtts的官方文档:

下面,让我们看一段简单的的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from gtts import gTTS

def speak(audioString):
    print(audioString)
    tts = gTTS(text=audioString, lang='en')
    tts.save("audio.mp3")
    os.system("audio.mp3")
    
speak("Hi Runsen, what can I do for you?")

执行上面的代码,就可以生成一个mp3文件,播放就可以听到了Hi Runsen, what can I do for you?。这个MP3会自动弹出来的。

speech_recognition

speech_recognition用于执行语音识别的库,支持在线和离线的多个引擎和API。

speech_recognition具体官方文档

安装speech_recognition可以会出现错误,对此解决的方法是通过该网址安装对应的whl包

在官方文档中提供了具体的识别来自麦克风的语音输入的代码

下面就是 speech_recognition 用麦克风记录下你的话,这里我使用的是 recognize_google,speech_recognition 提供了很多的类似的接口。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import time
import speech_recognition as sr

# 录下来你讲的话
def recordAudio():
    # 用麦克风记录下你的话
    print("开始麦克风记录下你的话")
    r = sr.Recognizer()
    with sr.Microphone() as source:
        audio = r.listen(source)
    data = ""
    try:
        data = r.recognize_google(audio)
        print("You said: " + data)
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand audio")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition service; {0}".format(e))
    return data

if __name__ == '__main__':
    time.sleep(2)
    while True:
        data = recordAudio()
        print(data)

下面是我乱说的英语

对话

上面,我们实现了用麦克风记录下你的话,并且得到了对应的文本,那么下一步就是字符串的文本操作了,比如说how are you,那回答"I am fine”,然后将"I am fine”通过gtts是将文字转化为语音

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# @Author:Runsen
# -*- coding: UTF-8 -*-
import speech_recognition as sr
from time import ctime
import time
import os
from gtts import gTTS


# 讲出来AI的话
def speak(audioString):
    print(audioString)
    tts = gTTS(text=audioString, lang='en')
    tts.save("audio.mp3")
    os.system("audio.mp3")


# 录下来你讲的话
def recordAudio():
    # 用麦克风记录下你的话
    r = sr.Recognizer()
    with sr.Microphone() as source:
        audio = r.listen(source)

    data = ""
    try:
        data = r.recognize_google(audio)
        print("You said: " + data)
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand audio")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition service; {0}".format(e))

    return data


# 自带的对话技能(逻辑代码:rules)
def jarvis():
    while True:
        data = recordAudio()
        print(data)
        if "how are you" in data:
            speak("I am fine")
        if "time" in data:
            speak(ctime())
        if "where is" in data:
            data = data.split(" ")
            location = data[2]
            speak("Hold on Runsen, I will show you where " + location + " is.")
            # 打开谷歌地址
            os.system("open -a Safari https://www.google.com/maps/place/" + location + "/&")

        if "bye" in data:
            speak("bye bye")
            break


if __name__ == '__main__':
    # 初始化
    time.sleep(2)
    speak("Hi Runsen, what can I do for you?")

    # 跑起
    jarvis()

当我说how are you?会弹出I am fine的mp3

当我说where is Chiana?会弹出Hold on Runsen, I will show you where China is.的MP3

同样也会弹出China的谷歌地图

本项目对应的Github

(https://github.com/MaoliRUNsen/Simple-intelligent-voice-dialogue)

- END -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小刘IT教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
情感计算Agent:Python开发具有情绪感知的智能伴侣
嘿,各位技术小伙伴们!在这个科技飞速发展的时代,你是否曾幻想过拥有一个不仅能听懂你说话,还能感知你情绪的智能伙伴呢?就像电影里那些超级智能助手,能在你开心时陪你欢笑,在你难过时给你安慰。今天,咱们就来揭开这神秘面纱,一起走进 “情感计算 Agent” 的奇妙世界,看看如何用 Python 打造这么一个具有情绪感知的智能伴侣!
小白的大数据之旅
2025/03/16
630
情感计算Agent:Python开发具有情绪感知的智能伴侣
盘点一个语音识别库报错的问题
前几天在Python白银交流群【云何应住】问了一个Python处理语音消息识别的实战问题。问题如下:
Python进阶者
2024/03/21
1490
盘点一个语音识别库报错的问题
自然语言控制机械臂:ChatGPT与机器人技术的融合创新(下)
在我们的上一篇文章中,我们探索了如何将ChatGPT集成到myCobot 280机械臂中,实现了一个通过自然语言控制机械臂的系统。我们详细介绍了项目的动机、使用的关键技术如ChatGPT和Google的Speech-to-text服务,以及我们是如何通过pymyCobot模块来控制机械臂的。通过将自然语言处理和机械臂控制相结合,我们的项目旨在降低机器人编程的门槛,使得非专业人士也能轻松地进行机器人编程和实验。
大象机器人
2024/04/12
3550
自然语言控制机械臂:ChatGPT与机器人技术的融合创新(下)
深度学习:开启人工智能的新纪元
深度学习是机器学习的一个子领域,它基于人工神经网络的学习算法,特别是那些具有多个非线性变换的层(即“深度”)。这些算法模仿人脑处理信息的方式,通过学习数据的多层次表示和抽象来识别模式和特征。
正在走向自律
2024/12/18
1700
深度学习:开启人工智能的新纪元
【自然语言处理篇】--聊天机器人从初始到应用
维基百科中的机器人是指主要用于协助编者执行大量自动化、高速或机械式、繁琐的编辑工作的计算机程序或脚本及其所登录的帐户。
LhWorld哥陪你聊算法
2018/09/13
5510
多模态Agent开发:Python打造超酷智能交互系统
嘿,各位技术探险家们!今天咱们要一头扎进一个超酷炫的领域 —— 多模态 Agent 开发。想象一下,你打造的程序不再是只能和你干巴巴地文字交流,它能 “看” 到图像里的内容,“听” 懂你说的话,还能和你流畅地文字聊天,是不是感觉像在科幻电影里?这就是多模态智能交互系统的魅力,而咱们要用 Python 这个超级魔法棒来实现它!
小白的大数据之旅
2025/03/10
1160
多模态Agent开发:Python打造超酷智能交互系统
【教程】极简Python接入免费语音识别API
语音识别(speech recognition)技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR)、电脑语音识别(英语:Computer Speech Recognition)或是语音转文本识别(英语:Speech To Text, STT),其目标是以电脑自动将人类的语音内容转换为相应的文字。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。
小锋学长生活大爆炸
2024/05/28
7180
检测物体+估计距离和方向 | 附源码
在这篇文章中,演示了如何使用计算机视觉创建一个应用程序,用于从语音命令中检测物体,估算物体的大致距离,并利用位置信息改善盲人的生活。这个项目的主要目标是处理实时数据,类似于Meta和Envision等可穿戴技术,以增强用户的生活和改善他们的日常体验。
小白学视觉
2025/03/27
560
检测物体+估计距离和方向 | 附源码
智能语音助手的发展与未来:开启人机交互的新篇章
随着人工智能(AI)技术的飞速发展,智能语音助手逐渐成为我们日常生活的一部分。它们不仅可以帮助我们完成各种任务,还能与我们进行自然的交流。智能语音助手的发展历程、技术原理及其未来展望,正日益引发社会的广泛关注。本文将详细探讨智能语音助手的发展与未来,并通过具体代码示例展示其实现原理。
Echo_Wish
2024/12/30
2210
智能语音助手的发展与未来:开启人机交互的新篇章
从零开始搭建一个语音对话机器人
最近在研究语音识别方向,看了很多的语音识别的资料和文章,了解了一下语音识别的前世今生,其中包含了很多算法的演变,目前来说最流行的语音识别算法主要是依赖于深度学习的神经网络算法,其中RNN扮演了非常重要的作用,深度学习的应用真正让语音识别达到了商用级别。然后我想动手自己做一个语音识别系统,从GitHub上下载了两个流行的开源项目MASR和ASRT来进行复现,发现语音识别的效果没有写的那么好,其中如果要从零来训练自己的语言模型势必会非常耗时。
好好学java
2019/08/23
11.7K1
从零开始搭建一个语音对话机器人
让可穿戴设备更“贴心”:用户体验设计的奥秘
在智能手表、智能眼镜、智能戒指等可穿戴设备已经成为日常标配的今天,用户体验(UX,User Experience)设计的重要性不言而喻。一款可穿戴设备如果仅仅是“炫酷的硬件+强大的算法”组合,而忽略了用户体验,那就像一台配置炸裂但操作系统卡顿的电脑——体验感极差,用户很可能用几天就束之高阁。
Echo_Wish
2025/03/30
1080
让可穿戴设备更“贴心”:用户体验设计的奥秘
python语音识别终极指南
译者 | 廉洁 编辑 | 明明 【AI科技大本营导读】亚马逊的 Alexa 的巨大成功已经证明:在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求。整合了语音识别的 Python 程序提供了其他技术无法比拟的交互性和可访问性。最重要的是,在 Python 程序中实现语音识别非常简单。阅读本指南,你就将会了解。你将学到: •语音识别的工作原理; •PyPI 支持哪些软件包; •如何安装和使用 SpeechRecognition 软件包——一个功能全面且易于使用的 Python 语音识别库。
AI科技大本营
2018/04/26
4.4K0
python语音识别终极指南
让 Agent 具备语音交互能力:技术突破与应用前景(16/30)
在当今数字化时代,人机交互方式正经历着深刻的变革。从早期的命令行界面到图形用户界面,再到如今日益普及的语音交互,人们对于与机器沟通的便捷性和自然性有了更高的追求。Agent 作为一种能够自主执行任务、与环境进行交互的智能实体,赋予其语音交互能力具有重要的现实意义和广阔的应用前景。这不仅可以提升用户体验,使人们能够更加自然、流畅地与 Agent 进行沟通,还能拓展 Agent 的应用场景,如智能家居、智能客服、智能车载系统等领域,让智能服务更加贴近人们的生活和工作。
正在走向自律
2025/01/02
1390
让 Agent 具备语音交互能力:技术突破与应用前景(16/30)
【AI 语音】实时语音交互优化全解析:从 RTC 技术到双讲处理
随着人工智能(AI)和实时通信(RTC)技术的快速发展,实时语音交互成为智能助手、客服机器人等应用的重要组成部分。然而,语音交互易受网络延迟、环境噪声和双讲(Double-Talk)现象的影响,影响用户体验。本文将探讨如何优化 RTC 技术,提高语音交互的稳定性,并提供可运行的示例代码,以帮助开发者快速实现高质量的实时语音交互。
Swift社区
2025/02/05
4100
【AI 语音】实时语音交互优化全解析:从 RTC 技术到双讲处理
【人工智能】Python实现文本转换为语音:使用gTTS库实现
文本转换为语音(Text-to-Speech,简称TTS)技术是人工智能的重要组成部分,广泛应用于智能助手、导航系统、读屏软件和智能家居等领域。
空白诗
2024/08/05
2440
【人工智能】Python实现文本转换为语音:使用gTTS库实现
离线环境的中文语音识别 paddlepaddle 与 Speech_Recognition(Sphinx)实践
本文主要针对中文语音识别问题,选用常用的模型进行 离线 demo 搭建及实践说明。
流川疯
2021/12/06
8.9K0
离线环境的中文语音识别 paddlepaddle 与 Speech_Recognition(Sphinx)实践
Python终级教程!语音识别!大四学生实现语音识别技能!吊的不行
语音识别源于 20 世纪 50 年代早期在贝尔实验室所做的研究。早期语音识别系统仅能识别单个讲话者以及只有约十几个单词的词汇量。现代语音识别系统已经取得了很大进步,可以识别多个讲话者,并且拥有识别多种语言的庞大词汇表。
猫咪编程
2018/07/18
2.3K0
[自然语言处理|NLP](VR/AR)中的NLP中的应用:从原理到实践
虚拟现实(VR)和增强现实(AR)代表了当前科技领域中最令人激动的发展方向。这两项技术不仅在娱乐行业引起了巨大的关注,还在教育、医疗、培训等领域展现出巨大的潜力。然而,要让这些技术真正融入我们的生活,实现普及和广泛应用,关键在于提供更加自然、智能的用户体验。在这一点上,自然语言处理(NLP)的发展起到了关键作用。
数字扫地僧
2023/11/22
6800
自然语言处理概述
自然语言处理(Natural Language Processing,NLP)是计算机科学、人工智能和语言学的交叉学科,其范畴广泛,比如:语音合成、分词、词法分析、问答系统、机器翻译、情感分析等等。
老齐
2022/12/09
3.3K0
使用Python实现深度学习模型:智能语音助手与家庭管理
在现代家庭中,智能语音助手已经成为不可或缺的一部分。它们不仅可以帮助我们管理日常事务,还能提供娱乐和信息服务。本文将详细介绍如何使用Python实现一个简单的智能语音助手,并结合深度学习模型来提升其功能。
Echo_Wish
2024/09/18
2930
使用Python实现深度学习模型:智能语音助手与家庭管理
推荐阅读
相关推荐
情感计算Agent:Python开发具有情绪感知的智能伴侣
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验