挑战100+Python项目4:练习英语口语

image.png

要怎么才能学会Python编程呢?我觉得最好的方法就是“做中学,玩中学”,只有亲自动手去做Python项目,才能学以致用,真正掌握这门编程语言,为我所用。编程玩家俱乐部推出了挑战100+ Python项目,代码和文档开源在:https://github.com/zhiwehu/100_plus_Python_Projects_Challenge

来吧,让我们动手做起来!

英语口语学习是很多人都感觉困难的,今天我们就来使用Python编程来进行英语口语练习!

项目需求

  1. 在命令行窗口运行;
  2. 程序运行时,会让你输入一句英语,然后你需要对着麦克风读出这句英语;
  3. 程序会判断你读的对不对,如果不对会让你重读,直到读对为止。

Python编程知识点

  • while循环
  • 用户输入字符串
  • 字符串小写
  • 条件判断
  • 自定义函数
  • 异常处理
  • SpeechRecognition 模块 (安装: pip install SpeechRecognition) it support these speech recognitions:
  • pyaudio 模块 (安装: pip install pyaudio)

参考代码

import speech_recognition as sr


def recognize_speech_from_mic(recognizer, microphone):
    '''
    麦克风录音并转文字 `microphone`.
    :param recognizer: 语音识别器
    :param microphone: 麦克风
    :return: `None` 如果识别失败返回None,否则返回语音文字
    '''
    print('开始朗读')
    # 录音并去除噪音
    with microphone as source:
        recognizer.adjust_for_ambient_noise(source)
        audio = recognizer.listen(source)

    # 调用语音识别,亲测微软bing国内可用,国外建议使用google
    try:
        text = recognizer.recognize_google(audio)
    except Exception as e:
        print(e)
        text = None

    return text


if __name__ == '__main__':
    # 输入
    text = input('请输入一句英语: ').strip()

    # 创建语音识别器和麦克风
    recognizer = sr.Recognizer()
    microphone = sr.Microphone()

    # 录音并获取文字
    speech_text = recognize_speech_from_mic(recognizer, microphone)

    while speech_text != None and text.lower() != speech_text.lower():
        print(speech_text)
        speech_text = recognize_speech_from_mic(recognizer, microphone)

    if speech_text:
        print('{} {}'.format(speech_text, '✓'))
    else:
        print('语音识别服务暂不可用,请稍后再试。')

注意:本代码使用的是google语音识别,有些地区可能无法正常使用,请注册并使用其他的如微软Bing等语音识别服务等。

运行测试

  • 使用 pip install requirements.txt 安装模块: pyaudio and SpeechRecognition
  • 运行
python 4.py
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 整合了语音识别的Python 程序提供了其他技术无法比拟的交互性和可访问性。最重要的是,在 Python 程序中实...
    凤羽化秋阅读 3,964评论 0 2
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,749评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 11,356评论 4 8
  • 怎么对待生活,它也会怎么对你 人都是哭着来到这个美丽的人间。每个人从来到尘寰到升入天堂,整个生命的历程都是一本书,...
    静静在等你阅读 10,430评论 1 6

友情链接更多精彩内容