# open the file with sr.AudioFile(filename) as source: # listen for the data (load audio to memory) audio_data = r.record(source) # recognize (convert from speech to text) text = r.recognize_google(audio_data) print(text)
就可以啦!
如果想要改变语言不是识别英语的话
1 2
#Adding french langauge option text = r.recognize_google(audio_text, language = "fr-FR")
# importing libraries import speech_recognition as sr import os from pydub import AudioSegment from pydub.silence import split_on_silence
# create a speech recognition object r = sr.Recognizer()
# a function that splits the audio file into chunks # and applies speech recognition defget_large_audio_transcription(path): """ Splitting the large audio file into chunks and apply speech recognition on each of these chunks """ # open the audio file using pydub sound = AudioSegment.from_wav(path) # split audio sound where silence is 700 miliseconds or more and get chunks chunks = split_on_silence(sound, # experiment with this value for your target audio file min_silence_len = 500, # adjust this per requirement silence_thresh = sound.dBFS-14, # keep the silence for 1 second, adjustable as well keep_silence=500, ) folder_name = "audio-chunks" # create a directory to store the audio chunks ifnot os.path.isdir(folder_name): os.mkdir(folder_name) whole_text = "" # process each chunk for i, audio_chunk in enumerate(chunks, start=1): # export audio chunk and save it in # the `folder_name` directory. chunk_filename = os.path.join(folder_name, f"chunk{i}.wav") audio_chunk.export(chunk_filename, format="wav") # recognize the chunk with sr.AudioFile(chunk_filename) as source: audio_listened = r.record(source) # try converting it to text try: text = r.recognize_google(audio_listened) except sr.UnknownValueError as e: print("Error:", str(e)) else: text = f"{text.capitalize()}. " print(chunk_filename, ":", text) whole_text += text # return the text for all chunks detected return whole_text get_large_audio_transcription('01.wav')
# Initialize recognizer class (for recognizing the speech)
r = sr.Recognizer()
# Reading Microphone as source # listening the speech and store in audio_text variable
with sr.Microphone() as source: print("Talk") audio_text = r.listen(source) print("Time over, thanks") # recoginize_() method will throw a request error if the API is unreachable, hence using exception handling try: # using google speech recognition print("Text: "+r.recognize_google(audio_text)) except: print("Sorry, I did not get that")
如果说的不是英语
1 2
# Adding "tamil language" print(“Text: “+r.recognize_google(audio_text, language = “ta-IN”))