在Python中使用wav文件录制音频和语音到文本的转换
我正在尝试录制音频并用python将其转换为文本。下面是我的代码在Python中使用wav文件录制音频和语音到文本的转换,python,audio,speech-recognition,wav,speech-to-text,Python,Audio,Speech Recognition,Wav,Speech To Text,我正在尝试录制音频并用python将其转换为文本。下面是我的代码 import speech_recognition as sr import sounddevice as sd import numpy as np import os from scipy.io.wavfile import write fs = 44100 # Sample rate seconds = 15 # Duration of recording print("Start recording the answ
import speech_recognition as sr
import sounddevice as sd
import numpy as np
import os
from scipy.io.wavfile import write
fs = 44100 # Sample rate
seconds = 15 # Duration of recording
print("Start recording the answer.....")
myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2)
sd.wait() # Wait until recording is finished
write('output.wav', fs, myrecording.astype(np.int16)) # Save as WAV file in 16-bit format
recognizer = sr.Recognizer()
sound = "output.wav"
with sr.AudioFile(sound) as source:
recognizer.adjust_for_ambient_noise(source)
print("Converting the answer to text...")
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio)
print("The converted text:" + text)
except Exception as e:
print('Exception',e)
当我播放output.wav文件时,其中没有任何内容。因此,语音到文本的转换也有例外。有人能给出一个解决方案吗?
提前感谢。我会尝试加载另一个wav文件,分别测试sounddevice和speech_识别器部分。我正在做一些类似的事情,双方都单独工作,但一起出现了一个问题,因为sounddevice在float 32中写入WAV,而且语音识别器似乎需要int32。在转换为int16时,可能出现了一些问题。如果你使用大胆,你确定它是沉默的吗?我尝试使用wavio来编写文件,但是从文档中看不出sampwidth应该是什么 更新:我能够让sounddevice录制音频以使用sound_识别库,方法是在开头添加以下行:
sounddevice.default.dtype='int32','int32'
输入和输出的默认值都是float32。出于某种原因,我不明白,仅更改输出并不能解决问题。用于文件写入的声音文件或scipy工作。
而且,audacity仍然相信WAV是浮动的。。。我想当我从audacity导出一个文件时,bc上可能会发生其他事情,头看起来与不兼容的文件相同,但语音识别器接受它。我会尝试加载另一个wav文件,分别测试sounddevice和语音识别器部分。我正在做一些类似的事情,双方都单独工作,但一起出现了一个问题,因为sounddevice在float 32中写入WAV,而且语音识别器似乎需要int32。在转换为int16时,可能出现了一些问题。如果你使用大胆,你确定它是沉默的吗?我尝试使用wavio来编写文件,但是从文档中看不出sampwidth应该是什么 更新:我能够让sounddevice录制音频以使用sound_识别库,方法是在开头添加以下行:
sounddevice.default.dtype='int32','int32'
输入和输出的默认值都是float32。出于某种原因,我不明白,仅更改输出并不能解决问题。用于文件写入的声音文件或scipy工作。
而且,audacity仍然相信WAV是浮动的。。。我想当我从audacity导出文件时,可能会发生其他事情,头看起来与不兼容的文件相同,但speech_Recognitor接受它