Воскресенье, 17.11.2024, 02:16

Компьютерная помощь

Записки системного администратора

Меню сайта
Категории раздела
Компьютер [36]
Общекомпьютерные темы
Windows server [18]
Статьи по версиям windows для серверов.
Windows [30]
Статьи по версиям windows для рабочих станций.
Unix [65]
Статьи на тему unix-подобных систем. Linux, FreeBSD и т.п.
Видеомонтаж [10]
Статьи по нелинейному видеомонтажу
Программирование [9]
Заметки по программированию
Databases [10]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Вход на сайт

Поиск

Главная » Статьи » Программирование

Python3. PyQT5. Распознавание речи и запись в текстовое поле.

Код десктопного приложения распознавания речи и записи в текстовое поле на основе движка SpeechRecognition и графики PyQt5. Пока есть только английская акустическая модель.

Необходимо установить пакет

pip install SpeechRecognition. Для работы приложения нужен доступ в сеть Интернет. Распознанный текст записываем в файл text.txt.

 

from PyQt5.QtWidgets import QApplication, QPushButton, QDialog, QVBoxLayout, QTextEdit
from PyQt5.QtGui import QFont
import speech_recognition as sr
import sys


class Window(QDialog):
 def __init__(self):
 super().__init__()

 self.title = "Audio Converter Application"
 self.top = 100
 self.left = 100
 self.width = 400
 self.height = 300

 self.setWindowTitle(self.title)
 self.setGeometry(self.top, self.left, self.width, self.height)

 self.initUI()

 def initUI(self):

 vbox = QVBoxLayout()


 self.textedit = QTextEdit(self)
 self.textedit.setFont(QFont("Times", 15))
 vbox.addWidget(self.textedit)


 self.btn2 = QPushButton("Convert Audio")
 vbox.addWidget(self.btn2)
 self.btn2.clicked.connect(self.convertAudio)

 self.setLayout(vbox)


 def convertAudio(self):
 r = sr.Recognizer()

 sound = 'sound.wav'

 with sr.AudioFile(sound) as source:
 sound = r.listen(source)

 try:
 text = r.recognize_google(sound)
 self.textedit.setText(text)


 except Exception as e:
 print(e)


app = QApplication(sys.argv)
window = Window()
window.show()
app.exec()

Тот же код с записью распознанного текста в файл и с поддержкой русского языка:

from PyQt5.QtWidgets import QApplication, QPushButton, QDialog, QVBoxLayout,  QTextEdit
from PyQt5.QtGui import QFont
import speech_recognition as sr
import sys


class Window(QDialog):
    def __init__(self):
        super().__init__()

        self.title = "Audio Converter Application"
        self.top = 100
        self.left = 100
        self.width = 400
        self.height = 300

        self.setWindowTitle(self.title)
        self.setGeometry(self.top, self.left, self.width, self.height)

        self.initUI()

     def initUI(self):

        vbox = QVBoxLayout()


        self.textedit = QTextEdit(self)
        self.textedit.setFont(QFont("Times", 15))
        vbox.addWidget(self.textedit)

         self.btn2 = QPushButton("Convert Audio")
        vbox.addWidget(self.btn2)
        self.btn2.clicked.connect(self.convertAudio)

        self.setLayout(vbox)

     def convertAudio(self):
        r = sr.Recognizer()

        sound = 'sound3_ru.wav'
        global text
        with sr.AudioFile(sound) as source:
            sound = r.listen(source)

        try:
            text = r.recognize_google(sound, language="ru-RU")
            self.textedit.setText(text)
            self.writetofile()


        except Exception as e:
            print(e)

    def writetofile(self):
        pass
        #f=open('text.txt', 'w')
        #f.write(text)

app = QApplication(sys.argv)
window = Window()
window.show()
app.exec()

 

 

https://teachyourselve.blogspot.com/2018/08/pyqt5-audio-speech-to-text-converter.html

Категория: Программирование | Добавил: admin (28.02.2019)
Просмотров: 855 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: