如何使用Python构建TARS:Scratch的虚拟助手

今天我们将使用Python构建演示TARS。TARS可以帮助您自动执行任务,例如在YouTube中搜索视频并播放,发送电子邮件,打开网站,在Wikipedia中搜索材料并阅读它们,通知您所在国家的天气预报,问候等等。通过构建TARS,将增加您的Python知识,并学习许多有用的工具。想知道如何使用Python构建TARS,首先让我们首先创建虚拟环境并构建TARS的基本音频系统。

如何使用Python构建TARS:Scratch的虚拟助手_业界动态_行业云

mkdirTARS

cdTARS

virtualenvvenv

 要激活下面的venvrun命令

.venv/bin/activate

 什么是虚拟环境?

激活venv后,我们需要通过以下命令安装主库:

pip3installgTTSSpeechRecognitionPyAudiopygame

gTTS是一个Python库和CLI工具,可与GoogleTranslate的文本到语音API交互。此模块有助于将字符串文本转换为语音文本,并可以另存为.mp3

语音识别是家庭自动化,人工智能等多种应用中的重要功能。语音识别需要音频输入,而语音识别使检索此输入变得非常简单。无需从头开始构建脚本来访问麦克风并处理音频文件,SpeechRecognition只需几分钟即可让您启动并运行。

要使用SpeechRecognizer访问麦克风,您必须安装PyAudio软件包

Pygame是一组跨平台的Python模块,旨在编写视频游戏。它包括旨在与Python编程语言一起使用的计算机图形和声音库。

 现在,让我们构建TARS的语音系统:

fromgttsimportgTTS

importspeech_recognitionassr

frompygameimportmixer

deftalk(audio):

print(audio)

forlineinaudio.splitlines():

text_to_speech=gTTS(text=audio,lang='en-uk')

text_to_speech.save('audio.mp3')

mixer.init()

mixer.music.load("audio.mp3")

mixer.music.play()

我们通过音频作为使TARS说话的一种论据。例如talk程序将在splitlines()方法的帮助下循环这些行。此方法用于在线边界处分割线。检查splitlines()了解更多。然后,gTTS将处理所有这些文本转换为语音。text参数定义要读取的文本,lang定义用于读取文本的语言(IETF语言标签)。循环完成后,save()方法将结果写入文件。

pygame.mixer是用于加载和播放声音的模块,必须在使用之前进行初始化。

 现在,让我们创建一个监听命令的函数:

defmyCommand():

#Initializetherecognizer

r=sr.Recognizer()

withsr.Microphone()assource:

print('TARSisReady...')

r.pause_threshold=1

#waitforasecondtolettherecognizeradjustthe

#energythresholdbasedonthesurroundingnoiselevel

r.adjust_for_ambient_noise(source,duration=1)

#listensfortheuser'sinput

audio=r.listen(source)

try:

command=r.recognize_google(audio).lower()

print('Yousaid:'+command+' ')

#loopbacktocontinuetolistenforcommandsifunrecognizablespeechisreceived

exceptsr.UnknownValueError:

print('Yourlastcommandcouldn'tbeheard')

command=myCommand();

returncommand

在此功能中,我们使用了SpeechRecognition库。它充当几种流行语音API的包装,因此非常灵活。其中之一-GoogleWebSpeechAPI-支持默认API密钥,该密钥硬编码到SpeechRecognition库中。这意味着您可以不用注册服务就能站起来。

为了能够通过语音识别使用自己的声音,您需要PyAudio软件包。像用于音频文件的Recognizer一样,我们将需要使用Microphone来获取实时语音数据。

您可以使用with块内Recognizer类的listen()方法捕获来自麦克风的输入。此方法将音频源作为其第一个参数,并记录来自该源的输入,直到检测到静音为止。

尝试在安静的地方说出您的命令,否则TARS可能会造成混淆。

综上所述,对于如何使用Python构建TARS:Scratch的虚拟助手的信息,相信大家已经清楚了吧,想了解更多关于Python的信息,请继续关注。

76
99
0
80

相关资讯

  1. 1、神仙打架还是菜鸡互啄?刘涛、王丽坤、张翰各上两部新剧,全撞档1737
  2. 2、曾赢张国荣夺影帝,30年绯闻绝缘体,为救剧组演员烧伤毁容4110
  3. 3、《香蜜沉沉烬如霜》灵修夫妇受追捧“兄妹副本”之后情路更难3677
  4. 4、刘德华现身活动一颦一笑帅得毫不费力,网友:古天乐站旁边像影迷1763
  5. 5、36岁“马冬梅”近照,换个发色如换头,这模样沈腾见了也认不出167
  6. 6、《龙之谷》春推会首秀被誉好莱坞品质大片1446
  7. 7、新版《流星花园》扑街,在偶像冗余的年代里偶像剧衰落了1288
  8. 8、TVB力捧花旦陈凯琳认嫁大22岁郑嘉颖甜蜜发文:关系升华527
  9. 9、他突然哭出声的那一刻,我的内心被狠狠地击中了…3782
  10. 10、欠的电影票要还了!《阿凡达》定于3月12日内地重映2068
全部评论(0)
我也有话说
0
收藏
点赞
顶部