Мне нужно записать звук с микрофона и преобразовать его в текст. Я пробовал этот процесс преобразования, используя несколько аудиоклипов, которые я скачал из Интернета, и он отлично работает. Но когда я пытаюсь преобразовать аудиоклип, записанный с микрофона, выдается следующая ошибка:
Traceback (последний вызов был последним): файл "C: \ Users \ HP \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ speech_recognition__init __. Py ", строка 203, в введите self.audio_reader = wave.open (self.filename_or_fileobject," rb ") файл" C: \ Users \ HP \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ wave.py ", строка 510, в открытом возвращаемом файле Wave_read (f)" C: \ Users \ HP \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ wave.py ", строка 164, в файле init self.initfp (f)" C: \ Users \ HP \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ wave .py ", строка 144, в файле initfp self._read_fmt_chunk (chunk)" C: \ Users \ HP \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ wave.py ", строка 269, в _read_fmt_chunk вывести ошибку ('неизвестный формат:% r'% (wFormatTag,)) wave.Error: неизвестный формат: 3
Код, который я пытаюсь сделать, выглядит следующим образом.
import speech_recognition as sr
import sounddevice as sd
from scipy.io.wavfile import write
# recording from the microphone
fs = 44100 # Sample rate
seconds = 3 # Duration of recording
myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2)
sd.wait() # Wait until recording is finished
write('output.wav', fs, myrecording) # Save as WAV file
sound = "output.wav"
recognizer = sr.Recognizer()
with sr.AudioFile(sound) as source:
recognizer.adjust_for_ambient_noise(source)
print("Converting audio file to text...")
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio)
print("The converted text:" + text)
except Exception as e:
print(e)
Я посмотрел на аналогичный вопрос ы ответили, и они говорят, что нам нужно преобразовать его в другой формат WAV. Может ли кто-нибудь предоставить мне код или библиотеку, которую я могу использовать для этого преобразования? Заранее спасибо.