[Python]如何Speech to Text: SpeechRecognition

https://pypi.org/project/SpeechRecognition/

pip3 install SpeechRecognition
Collecting SpeechRecognition
  Downloading https://files.pythonhosted.org/packages/26/e1/7f5678cd94ec1234269d23756dbdaa4c8cfaed973412f88ae8adf7893a50/SpeechRecognition-3.8.1-py2.py3-none-any.whl (32.8MB)
     |████████████████████████████████| 32.8MB 6.4MB/s
Installing collected packages: SpeechRecognition
Successfully installed SpeechRecognition-3.8.1

Audio来源建议使用WAV档案,无法使用mp3:
其支援档案类型:
WAV: must be in PCM/LPCM format
AIFF
AIFF-C
FLAC: must be native FLAC format; OGG-FLAC is not supported

https://ithelp.ithome.com.tw/upload/images/20201011/2011960841GNqatoQj.jpg

import speech_recognition as sr
r = sr.Recognizer()
WAV = sr.AudioFile('OSR_us_000_0061_8k.wav')
with WAV as source:
    audio = r.record(source)
print(r.recognize_google(audio, show_all=True))

https://ithelp.ithome.com.tw/upload/images/20201011/20119608LRyh5nHwNi.jpg

MP3转WAV

pip3 install pydub
Collecting pydub
  Downloading https://files.pythonhosted.org/packages/7b/d1/fbfa79371a8cd9bb15c2e3c480d7e6e340ed5cc55005174e16f48418333a/pydub-0.24.1-py2.py3-none-any.whl
Installing collected packages: pydub
Successfully installed pydub-0.24.1

Download ffmpeg

进入https://ffmpeg.org/download.html#build-windows
https://ithelp.ithome.com.tw/upload/images/20201013/2011960857qJNYbUmW.jpg
进入https://www.gyan.dev/ffmpeg/builds/
https://ithelp.ithome.com.tw/upload/images/20201013/20119608OdMPQ7I5FA.jpg
下载ffmpeg-4.3.1-2020-10-01-full_build.7z
https://ithelp.ithome.com.tw/upload/images/20201013/20119608YCYleeFfjk.jpg
解压缩後将"ffmpeg-4.3.1-2020-10-01-full_build"改成"ffmpeg"放在C:\下,并修改环境变数
使用者
https://ithelp.ithome.com.tw/upload/images/20201013/20119608nMpM64lEzY.jpg
系统
https://ithelp.ithome.com.tw/upload/images/20201013/20119608EDhGkEurIJ.jpg
重新打开cmd
https://ithelp.ithome.com.tw/upload/images/20201013/201196081iGpaev9Zl.jpg
转档mp3->wav
pydubTest.py

from os import path
from pydub import AudioSegment
# convert wav to mp3                                                            
sound = AudioSegment.from_mp3("good.mp3")
sound.export("test.wav", format="wav")

辨识
test2.py

import speech_recognition as sr
r = sr.Recognizer()
WAV = sr.AudioFile('test.wav')
with WAV as source:
    audio = r.record(source)
print(r.recognize_google(audio, show_all=True))

https://ithelp.ithome.com.tw/upload/images/20201013/20119608yVonGht1YV.jpg


<<:  Day 29 : 第一个无线智慧装置

>>:  使用 Golang Driver 开发 Neo4j 应用程序

第22车厢-模仿大赛—仿IT邦帮忙:Sticky Nav应用篇

本篇介绍固定navBar应用篇—仿IT邦帮忙 每进入iT邦帮忙网站,忍不住都会滑一下卷轴吧?上方h...

[Day29]Flutter Netflix UI 底部导航栏上的通知数量

大家好,上一篇我们成功在Android手机上接到通知,今天我们在底部导航栏上显示通知 先设置一个变数...

DAY 25 - 野猪枪手 (1)

大家好~ 我是五岁~~ 今天要来画 拿者一把大枪的野猪怪战士~~ 因为要能拿起枪枝,所以势必要类人型...

{CMoney战斗营} 的第十一周 #两天转换程序语言

经历了期中专题,紧接着开始分领域授课的部分: 前端 (HTML、CSS、JS) 後端 (C#) 安卓...

【Day 28】Self - defined Data Types

有碰过 python 的朋友们应该都知道,在 python 中,list 是可以存任何型态的东西,即...