📜  rolbo (1)

📅  最后修改于: 2023-12-03 15:34:44.445000             🧑  作者: Mango

Rolbo: 介绍

Rolbo是一款使用Python编写的语音识别应用程序。

1. 功能

Rolbo具有以下功能:

  • 录音功能
  • 语音识别功能
  • 文字输出功能
2. 安装依赖

使用Rolbo需要安装以下依赖:

  • PyQt5==5.15.4
  • SpeechRecognition==3.8.1
  • pyaudio==0.2.11

安装方法:

pip install PyQt5==5.15.4 SpeechRecognition==3.8.1 pyaudio==0.2.11
3. 使用方法

在命令行中进入Rolbo的文件夹,运行以下命令:

python Rolbo.py

打开程序后,点击'录音'按钮,开始录制语音。录制完成后,点击'识别并输出'按钮,即可将语音转换成文字并显示在程序界面上。

4. 代码演示
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_())
5. 结语

Rolbo是一款简单易用的语音识别应用程序,希望本文对你有所帮助!