📅  最后修改于: 2023-12-03 15:34:44.445000             🧑  作者: Mango
Rolbo是一款使用Python编写的语音识别应用程序。
Rolbo具有以下功能:
使用Rolbo需要安装以下依赖:
安装方法:
pip install PyQt5==5.15.4 SpeechRecognition==3.8.1 pyaudio==0.2.11
在命令行中进入Rolbo的文件夹,运行以下命令:
python Rolbo.py
打开程序后,点击'录音'按钮,开始录制语音。录制完成后,点击'识别并输出'按钮,即可将语音转换成文字并显示在程序界面上。
import sys
import speech_recognition as sr
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLabel, QTextEdit
class Rolbo(QWidget):
def __init__(self):
super().__init__()
self.title = 'Rolbo'
self.left = 10
self.top = 10
self.width = 500
self.height = 400
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
vbox = QVBoxLayout()
self.lbl = QLabel('请点击录音按钮开始录制语音', self)
vbox.addWidget(self.lbl)
self.textEdit = QTextEdit()
vbox.addWidget(self.textEdit)
self.recordButton = QPushButton('录音', self)
self.recordButton.setToolTip('点击此按钮开始录制语音')
self.recordButton.move(200, 70)
self.recordButton.clicked.connect(self.recordClicked)
vbox.addWidget(self.recordButton)
self.transButton = QPushButton('识别并输出', self)
self.transButton.setToolTip('点击此按钮将语音转换成文字并输出')
self.transButton.move(200, 140)
self.transButton.clicked.connect(self.transClicked)
self.transButton.setDisabled(True)
vbox.addWidget(self.transButton)
self.exitButton = QPushButton('退出', self)
self.exitButton.setToolTip('点击此按钮退出程序')
self.exitButton.move(200, 210)
self.exitButton.clicked.connect(self.exitClicked)
vbox.addWidget(self.exitButton)
self.setLayout(vbox)
def recordClicked(self):
self.lbl.setText('正在录制,请讲话...')
self.recognizer = sr.Recognizer()
self.microphone = sr.Microphone()
with self.microphone as source:
self.recognizer.adjust_for_ambient_noise(source)
self.audio = self.recognizer.listen(source)
self.lbl.setText('录制完成!')
def transClicked(self):
self.lbl.setText('正在识别...')
try:
self.text = self.recognizer.recognize_google(self.audio, language='zh-CN')
self.textEdit.setText(self.text)
except sr.UnknownValueError:
self.lbl.setText('无法识别此段话!')
self.transButton.setDisabled(True)
def exitClicked(self):
sys.exit()
if __name__ == '__main__':
app = QApplication(sys.argv)
rolbo = Rolbo()
rolbo.show()
sys.exit(app.exec_())
Rolbo是一款简单易用的语音识别应用程序,希望本文对你有所帮助!