def audio_to_text(outname):
import speech_recognition as sr
r = sr.Recognizer()
with sr.WavFile(outname) as source:
audio = r.record(source)
try:
command = r.recognize_google(audio,language='pt_BR')
if not command.isspace():
report(now,command.encode('utf-8'))
log = '%s>>>%s\n' %(now,command.encode('utf-8'))
report(log)
except Exception as e:
print str(e)
os.remove(outname)
python类WavFile()的实例源码
def sound_to_text():
NEWS = []
for i in range(int(length / 8)):
WAV_FILE = path.join(path.dirname(path.realpath(__file__)), 'nlp_' + str(i) + '.wav')
# use "english.wav" as the audio source
r = sr.Recognizer()
with sr.WavFile(WAV_FILE) as source:
audio = r.record(source) # read the entire WAV file
# recognize speech using Google Speech Recognition
try:
# for testing purposes, we're just using the default API key
# to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
# instead of `r.recognize_google(audio)`
print(i, ". part: ", r.recognize_google(audio,language="tr"))
NEWS.append(r.recognize_google(audio,language="tr"))
except sr.UnknownValueError:
# print("Google Speech Recognition could not understand audio")
pass
except sr.RequestError as e:
# print("Could not request results from Google Speech Recognition service; {0}".format(e))
pass
return NEWS
def __init__(self, engine='witai', wavfile='/files/sound.wav'):
self.directorycurrent = os.path.dirname(os.path.realpath(__file__))
self.wavfile = self.directorycurrent + wavfile
print self.wavfile
self.engine = engine
self.r = sr.Recognizer()
with sr.WavFile(self.wavfile) as self.source:
self.audio = self.r.record(self.source)
def extract(self, filename, **kwargs):
speech = ''
# convert to wav, if not already .wav
base, ext = os.path.splitext(filename)
if ext != '.wav':
temp_filename = self.convert_to_wav(filename)
try:
speech = self.extract(temp_filename, **kwargs)
finally: # make sure temp_file is deleted
os.remove(temp_filename)
else:
r = sr.Recognizer()
with sr.WavFile(filename) as source:
audio = r.record(source)
try:
speech = r.recognize_google(audio)
except LookupError: # audio is not understandable
speech = ''
# add a newline, to make output cleaner
speech += '\n'
return speech
def extract(self, filename, **kwargs):
speech = ''
# convert to wav, if not already .wav
base, ext = os.path.splitext(filename)
if ext != '.wav':
temp_filename = self.convert_to_wav(filename)
try:
speech = self.extract(temp_filename, **kwargs)
finally: # make sure temp_file is deleted
os.remove(temp_filename)
else:
r = sr.Recognizer()
with sr.WavFile(filename) as source:
audio = r.record(source)
try:
speech = r.recognize_google(audio)
except LookupError: # audio is not understandable
speech = ''
# add a newline, to make output cleaner
speech += '\n'
return speech