Для реализованных мною методов, использующих 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) и разные версии изображения SpeechToText, но все равно получаю ту же ошибку.
Я пробовал использовать разные версии SDK Python (в настоящее время я использую 1.37.0) p>
Транскрипция никогда по-настоящему не запускается и, похоже, никогда не достигает контейнера SpeechToText.
Большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/786 ... tiontransc