pythonsignal-processingspeech-recognitionavaudiofileaudio-source

How can I use audio file as audio source in SpeechRecognition in Python?


I used speech_recognition.AudioFile in Python 3.6 , but this error was indicated:

AttributeError: module 'speech_recognition' has no attribute 'AudioFile'

This is my code:

#!/usr/bin/env python3

import speech_recognition as sr

# obtain path to "english.wav" in the same folder as this script
from os import path
AUDIO_FILE = path.join(path.dirname(path.realpath(__file__)), "english.wav")
# AUDIO_FILE = path.join(path.dirname(path.realpath(__file__)), "french.aiff")
# AUDIO_FILE = path.join(path.dirname(path.realpath(__file__)), "chinese.flac")

# use the audio file as the audio source
r = sr.Recognizer()
with sr.AudioFile(AUDIO_FILE) as source:
    audio = r.record(source)  # read the entire audio file

In addition I am using speech_recognition 3.1.3.


Solution

  • Can you change to a newer version of SpeechRecognition? Your code works smoothly using the latest version, but version 3.1.3 doesn't seem to have that feature yet and triggers the error for me aswell.

    Alternatively is the filename of your script called speech_recognition.py? Someone had that problem: Speech Recognition: AttributeError: module 'speech_recognition' has no attribute 'Recognizer'