Ошибка в коде Python 'Microphone' object is not callable

При запуске кода пишет что 'Microphone' object is not callable и указывает на эту строчку: voice_input = microphone()

Вот код:

import speech_recognition


if __name__ == "__main__":

    # инициализация инструментов распознавания и ввода речи
    recognizer = speech_recognition.Recognizer()
    microphone = speech_recognition.Microphone()

    while True:
        # старт записи речи с последующим выводом распознанной речи
        voice_input = microphone()
        print(voice_input)


def record_and_recognize_audio(*args: tuple) -> object:
    """
    Запись и распознавание аудио
    """
    with microphone:
        recognized_data = ""

        # регулирование уровня окружающего шума
        recognizer.adjust_for_ambient_noise(microphone, duration=[2])

        try:
            print("Listening...")
            audio = recognizer.listen(microphone, 5, 5)

        except speech_recognition:
            print("Can you check if your microphone is on, please?")
            return

        # использование online-распознавания через Google
        try:
            print("Started recognition...")
            recognized_data = recognizer.recognize_google(audio, language="ru").lower()

        except speech_recognition:
            pass

        # в случае проблем с доступом в Интернет происходит выброс ошибки
        except speech_recognition:
            print("Check your Internet Connection, please")

        return recognized_data

Ответы (1 шт):

Автор решения: Vladislav Pavkin

Объект microphone, который возвращает Microphone(), не нужно ещё раз вызывать, его можно сразу передавать в recognizer.listen():

import speech_recognition

recognizer = speech_recognition.Recognizer()

with speech_recognition.Microphone() as microphone:
    audio = recognizer.listen(microphone)

https://pypi.org/project/SpeechRecognition/1.2.3/

→ Ссылка