Как использовать записанный файл Pyaudio сразу

Можете подсказать почему функция

    def recording_stopped2(self):
    """This slot is called when recording stops"""
    sampoo = sr.AudioFile(r'C:\Users\Тимофей\PycharmProjects\Lika_0.3\Запись-_19_.wav')
    r = sr.Recognizer()
    with sampoo as source:
        # listen for the data (load audio to memory)
        audio = r.record(source)
        # recognize (convert from speech to text)
        recognized_data = r.recognize_google(audio, language="ru").lower()
        print(recognized_data)

использует не тот файл который я записал с помощью пайаудио, а его старую версию sr.AudioFile(r'C:\Users\Тимофей\PycharmProjects\Lika_0.3\Запись-19.wav'), а не только что записанный в коде

    import sys
import wave

import pyaudio
import speech_recognition as sr
import pyaudio as pa
from PyQt6.QtCore import QThread, pyqtSignal, pyqtSlot
from PyQt6.QtWidgets import QApplication, QGraphicsPixmapItem, QWidget, QMainWindow, QPushButton, QLabel, QVBoxLayout
from PyQt6.QtGui import QPixmap
from PyQt6.QtWidgets import *


microphone = sr.Microphone()

class RecordingThread2(QThread):
    stopped = False
    sig_started = pyqtSignal()
    sig_stopped = pyqtSignal()

    def __init__(self, t):
        self.target_file = t
        super().__init__()

class RecordingThread(QThread):
    stopped = False
    sig_started = pyqtSignal()
    sig_stopped = pyqtSignal()

    def __init__(self, t):
        self.target_file = t
        super().__init__()

    def run(self) -> None:
        #
        audio = pa.PyAudio()
        frames = []
        stream = audio.open(format=pyaudio.paInt16, channels=1, rate=44100, input=True,
                            frames_per_buffer=1024)
        self.stopped = False
        self.sig_started.emit()

        while not self.stopped:
            data = stream.read(1024)
            frames.append(data)



        stream.close()

        self.sig_stopped.emit()

        wf = wave.open('Запись-_19_.wav', 'wb')
        wf.setnchannels(1)
        wf.setsampwidth(audio.get_sample_size(pa.paInt16))
        wf.setframerate(44100)
        wf.writeframes(b''.join(frames))
        wf.close()
        print('jjjojo')





    @pyqtSlot()
    def stop(self):
        # r = sr.Recognizer()
        # with sr.AudioFile(r'C:\Users\Тимофей\PycharmProjects\Lika_0.3\test_recording.wav') as source:
        #     audio_listened = r.record(source)
        #     # try converting it to text
        #     text = recognizer.recognize_google(audio_listened, language="ru").lower()
        # print(text)
        self.stopped = True


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Rec Audio")

        vbox = QVBoxLayout()
        hbox = QHBoxLayout()



        # Create recording thread and attach slots to its signals
        self.recording_thread = (RecordingThread (t='test_recording.wav'))
        self.recording_thread.sig_started.connect(self.recording_started)
        self.recording_thread.sig_stopped.connect(self.recording_stopped)


        self.label = QLabel()
        self.pixmap = QPixmap('говорит.jpg')
        self.label.setPixmap(self.pixmap)
        vbox.addWidget(self.label)

        self.recbtn = QPushButton('▶ record')
        self.setFixedSize(645, 500)
        # Connect signal "recbtn.clicked" to the slot "recording_thread.start" of our QThread
        # Never connect directly to the run, always to start!
        self.recbtn.clicked.connect(self.recording_thread.start)

        self.stopbtn = QPushButton('▪')
        self.stopbtn.setDisabled(True)
        self.stopbtn.setFixedSize(40, 30)
        # Connect signal "stopbtn.clicked" to the slot "recording_thread.stop" of our QThread
        self.stopbtn.clicked.connect(self.recording_thread.stop)
        self.stopbtn.clicked.connect(self.recording_stopped2)


        hbox.addWidget(self.recbtn)
        hbox.addWidget(self.stopbtn)

        vbox.addLayout(hbox)

        self.setLayout(vbox)

    @pyqtSlot()
    def recording_started(self):
        """This slot is called when recording starts"""
        self.pixmap = QPixmap('слушает_нач_вариант.jpg')
        self.label.setPixmap(self.pixmap)
        self.stopbtn.setDisabled(False)
        self.recbtn.setDisabled(True)

    @pyqtSlot()
    def recording_stopped(self):
        """This slot is called when recording stops"""
        self.pixmap = QPixmap('говорит.jpg')
        self.label.setPixmap(self.pixmap)
        self.recbtn.setDisabled(False)
        self.stopbtn.setDisabled(True)

    def recording_stopped2(self):
        """This slot is called when recording stops"""
        sampoo = sr.AudioFile(r'C:\Users\Тимофей\PycharmProjects\Lika_0.3\Запись-_19_.wav')
        r = sr.Recognizer()
        with sampoo as source:
            # listen for the data (load audio to memory)
            audio = r.record(source)
            # recognize (convert from speech to text)
            recognized_data = r.recognize_google(audio, language="ru").lower()
            print(recognized_data)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = Window()
    win.show()
    app.exec()

Или можете подсказать как использовать записанный файл с помощью Pyaudio сразу пж


Ответы (0 шт):