Преобразование речи Azure в текст в контейнере --> Speechsdk.transcription.ConversationTranscriber Ошибка при обновленииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование речи Azure в текст в контейнере --> Speechsdk.transcription.ConversationTranscriber Ошибка при обновлении

Сообщение Anonymous »

Я использую Azure, контейнерную службу SpeechToText, локально в кластере openshift. Я использую последнюю версию: 4.7.0-amd64-fr-fr. С другой стороны, у меня есть небольшой API-интерфейс contenerized flask, который использует SDK Azure Cognitive Service для взаимодействия с контейнером. Для меня это единственный способ использовать протокол веб-сокетов в моей организации.
Для реализованных мною методов, использующих SpeechRecknower, все работает нормально, но с Speechsdk.transcription.ConversationTranscriber транскрипция систематически отменяется с этой ошибкой:
< blockquote>
ЗАКРЫТИЕ
ConversationTranscriptionCanceledEventArgs(session_id=edfb67ce81194adebba896e90996e20d,
result=ConversationTranscriptionResult(result_id=614535e47f7b48ba9f7c2b22c1071c07,
спикер _id=, текст=, причина=ResultReason.Отменено))
CancellationDetails(reason=CancellationReason.Error,
error_details="Ошибка обновления WebSocket: внутренняя ошибка службы (404).
Сведения об ошибке: ошибка HTTP 404 не найдена
ws:/ /..svc.cluster.local/speech/universal/v2?language=fr-FR
X-ConnectionId: edfb67ce81194adebba896e90996e20d Проверьте
подробности запроса. SessionId: edfb67ce81194adebba896e90996e20d")

я использую redhat rhel8
Вот мой код:

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

host=ws://..svc.cluster.local:80

app.route('/conversation', methods=['POST'])
@handle_file_d
def conversation_transcription(filename):

done = False

speech_config = speechsdk.SpeechConfig(host=host)
audio_config = speechsdk.audio.AudioConfig(filename=filename)

speech_config.speech_recognition_language=os.environ.get('SPEECH_LANGUAGE')
conversation_transcriber = speechsdk.transcription.ConversationTranscriber(speech_config=speech_config,
audio_config=audio_config)

def conversation_transcriber_recognition_canceled_cb(evt: speechsdk.SessionEventArgs):
print('Canceled event')

def conversation_transcriber_session_started_cb(evt: speechsdk.SessionEventArgs):
print('SessionStarted event')

def conversation_transcriber_session_stopped_cb(evt: speechsdk.SessionEventArgs):
print('SessionStopped event')

def conversation_transcriber_transcribed_cb(evt: speechsdk.SpeechRecognitionEventArgs):
if evt.result.reason == speechsdk.ResultReason.RecognizedSpeech:
text = '\tText={}\n'.format(evt.result.text)
speaker_id = '\tSpeaker ID={}\n'.format(evt.result.speaker_id)
print(f"{speaker_id}, {text}")
elif evt.result.reason == speechsdk.ResultReason.NoMatch:
# output.put('\tNOMATCH: Speech could not be TRANSCRIBED: {}\n'.format(evt.result.no_match_details))
print('\tNOMATCH: Speech could not be TRANSCRIBED: {}\n'.format(evt.result.no_match_details))
pass
else:
pass

def start_transcribing_async_cb(evt):
print('Start transcribing event')

def stop_cb(evt: speechsdk.SessionEventArgs):
#"""callback that signals to stop continuous recognition upon receiving an event `evt`"""
print('CLOSING on {}'.format(evt))
if evt.result.reason == speechsdk.ResultReason.Canceled:
cancellation_details = evt.result.cancellation_details
print(cancellation_details)
nonlocal done
done = True

conversation_transcriber.transcribed.connect(conversation_transcriber_transcribed_cb)
conversation_transcriber.session_started.connect(conversation_transcriber_session_started_cb)
conversation_transcriber.session_stopped.connect(conversation_transcriber_session_stopped_cb)
conversation_transcriber.canceled.connect(conversation_transcriber_recognition_canceled_cb)
# stop transcribing on either session stopped or canceled events
conversation_transcriber.session_stopped.connect(stop_cb)
conversation_transcriber.canceled.connect(stop_cb)

conversation_transcriber.start_transcribing_async()

while not done:
time.sleep(.5)

conversation_transcriber.stop_transcribing_async()

return "done"
Я пробовал использовать разные версии SDK Python (в настоящее время я использую 1.37.0) и разные версии изображения voiceToText, но все равно получаю ту же ошибку.
Я пробовал использовать разные версии SDK Python (в настоящее время я использую 1.37.0) и разные версии изображения SpeechToText, но все равно получаю ту же ошибку.
Я пробовал использовать разные версии SDK Python (в настоящее время я использую 1.37.0) p>
Транскрипция так и не запускается и, похоже, никогда не достигает контейнера SpeechToText.
Большое спасибо :)

Подробнее здесь: https://stackoverflow.com/questions/786 ... tiontransc
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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