仅需十行代码,用Python创建语音模拟器

发表于:2023-12-08 09:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:学研君    来源:Python学研大本营

  1、简介
  使用Python、pyttsx3和SpeechRecognition库能快速创建语音模拟器。
  用Python逐步创建语音模拟器
  2、项目要求
  首先,在机器上安装Python,如果设备上已经安装了Python,请跳过这一步骤。
  要安装Python,请访问Python官方网站:https://www.python.org/downloads/并下载它。
  接下来,安装SpeechRecognition和pyttsx3库。在命令提示符或终端中输入以下命令:
  pip install SpeechRecognition
  pip install pyttsx3
  SpeechRecognition:用于录制声音并将其转换为文本。
  pyttsx3:将文本转换为声音。
  3、编码步骤
  步骤1
  导入库。示例代码如下:
  import speech_recognition as sr
  import  pyttsx3
  为什么要使用“as sr”:简化代码。例如,可以使用sr.Recognizer()来代替speech_recognition.Recognizer()。
  步骤2
  rec = sr.Recognizer()
  rec = sr.Recognizer()这行代码创建了一个名为rec的新的Recognizer对象。
  步骤3
  with sr.Microphone() as src:
      print("Say something...")
      audio = rec.listen(src)
      text = rec.recognize_google(audio)
  with sr.Microphone() as src:这行代码指示计算机监听麦克风。麦克风现在被称为src。
  print("Say something..."):这行代码指示计算机打印一条消息,内容是“Say something...(说点什么...)”。这是对使用者说话的提醒。
  audio = rec.listen(src):这行代码告诉计算机听一段时间麦克风的声音,并将录制的声音存储为audio。
  text = rec.recognize_google(audio):这行代码告诉计算机使用Google语音识别技术将录制的声音(audio)转换为文本。文本将以text形式存储。
  步骤4
  engine = pyttsx3.init()
  这行代码指示计算机激活语音合成器,用于将文本转换为声音。
  步骤5
  engine.say(text)
  这行代码指示计算机使用语音生成器(engine)朗读刚刚说过的文本(text)。这就像按下录音设备上的“播放”按钮,就能听到刚刚录制的内容。
  步骤6
  engine.runAndWait()
  这行代码指示计算机在继续下一步之前等待语音生成器(engine)朗读完文本(text)。这就像等待录音播放完毕后再关闭设备。
  步骤7
  运行程序并说些什么。
  注意:
  如果程序无法运行,请尝试执行以下操作:
  pip install setuptools
  4、完整代码
  import speech_recognition as sr
  import  pyttsx3
  rec = sr.Recognizer()
  with sr.Microphone() as src:
      print("Say something...")
      audio = rec.listen(src)
      text = rec.recognize_google(audio)
  engine = pyttsx3.init()
  engine.say(text)
  engine.runAndWait()
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号