Как исправить исключение с кодом ошибки: 0xe (SPXERR_MIC_NOT_AVAILABLE)Python

Программы на Python
Ответить
Anonymous
 Как исправить исключение с кодом ошибки: 0xe (SPXERR_MIC_NOT_AVAILABLE)

Сообщение Anonymous »

Я создал структуру бота для чат-бота и теперь хочу интегрировать в него речевые функции. Я пытаюсь запустить приведенный ниже код из краткого руководства MS Learn для речевого SDK с использованием Python.

Код: Выделить всё

import os
import azure.cognitiveservices.speech as speechsdk
# Explicitly set the values if not already set in the environment
os.environ["SPEECH_KEY"] = "838f0db5598343dcbd8b0d42587501c4"
os.environ["SPEECH_REGION"] = "southeastasia"

SPEECH_KEY = os.getenv("SPEECH_KEY")
SPEECH_REGION = os.getenv("SPEECH_REGION")

def recognize_from_microphone():

# This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
speech_config = speechsdk.SpeechConfig(subscription=SPEECH_KEY, region=SPEECH_REGION)
speech_config.speech_recognition_language="en-US"
print(SPEECH_KEY)
print(SPEECH_REGION)

audio_config =speechsdk.audio.AudioConfig(use_default_microphone=True)
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config)

print("Speak into your microphone.")
speech_recognition_result = speech_recognizer.recognize_once_async().get()

if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech:
print("Recognized: {}".format(speech_recognition_result.text))
elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch:
print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details))
elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled:
cancellation_details = speech_recognition_result.cancellation_details
print("Speech Recognition canceled: {}".format(cancellation_details.reason))
if cancellation_details.reason == speechsdk.CancellationReason.Error:
print("Error details: {}".format(cancellation_details.error_details))
print("Did you set the speech resource key and region values?")

recognize_from_microphone()
Я постоянно получаю сообщение об ошибке ниже. Код работает, когда я запускаю его на ноутбуке Jupyter, но не работает, когда я запускаю PowerShell в vscode. Оба используют одну и ту же среду и интерпретатор. Есть идеи, есть ли у vscode специальное разрешение на включение микрофона?
Версия Python — Python 3.11.10
Когнитивная речь Azure версия - 1.41.1

Код: Выделить всё

RuntimeError: Exception with error code:
[CALL STACK BEGIN]

> CreateModuleObject
- CreateModuleObject
- audio_config_get_audio_processing_options
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- audio_config_get_audio_processing_options
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring
- pal_string_to_wstring

[CALL STACK END]

Exception with an error code: 0xe (SPXERR_MIC_NOT_AVAILABLE)
Я дважды проверил свое устройство ввода по умолчанию, и оно работает на диктофоне и даже на ноутбуке Jupyter, но не при работе на терминале PowerShell в vscode. Я использую Windows 11.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -available
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»