要怎么能力学会 Python 编程呢?我感觉最好的办法就是“做中学,玩中学”,只有亲自动手去做 Python 我的项目,能力学以致用,真正把握这门编程语言,为我所用。编程玩家俱乐部推出了挑战 100+ Python 我的项目,代码和文档开源在:https://github.com/zhiwehu/10…
来吧,让咱们动手做起来!
英语口语学习是很多人都感觉艰难的,明天咱们就来应用 Python 编程来进行英语口语练习!
我的项目需要
- 在命令行窗口运行;
- 程序运行时,会让你输出一句英语,而后你须要对着麦克风读出这句英语;
- 程序会判断你读的对不对,如果不对会让你重读,直到读对为止。
Python 编程知识点
- while 循环
- 用户输出字符串
- 字符串小写
- 条件判断
- 自定义函数
- 异样解决
-
SpeechRecognition 模块 (装置:
pip install SpeechRecognition
) it support these speech recognitions:recognize_bing()
: Microsoft Bing Speechrecognize_google()
: Google Web Speech APIrecognize_google_cloud()
: Google Cloud Speech – 须要装置google-cloud-speech
模块recognize_houndify()
: Houndify by SoundHoundrecognize_ibm()
: IBM Speech to Textrecognize_sphinx()
: CMU Sphinx – 须要装置PocketSphinx
模块recognize_wit()
: Wit.ai
- 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
andSpeechRecognition
- 运行
python 4.py