Используя Google-Speech-to-Text, я получаю только частичную транскрипцию.Входной файл: из примера аудиофайла Google
Ссылка на местоположение репо Google commercial_mono.wav
Вот мой код:
def transcribe_gcs(gcs_uri):
from google.cloud import speech_v1p1beta1 as speech
from google.cloud.speech_v1p1beta1 import enums
from google.cloud.speech_v1p1beta1 import types
client = speech.SpeechClient()
audio = types.RecognitionAudio(uri = gcs_uri)
config = speech.types.RecognitionConfig( language_code = 'en-US',enable_speaker_diarization=True, diarization_speaker_count=2)
operation = client.long_running_recognize(config, audio)
print('Waiting for operation to complete...')
response = operation.result(timeout=5000)
result = response.results[-1]
words_info = result.alternatives[0].words
tag=1
speaker=" "
for word_info in words_info:
if word_info.speaker_tag==tag:
speaker=speaker+" "+word_info.word
else:
print("speaker {}: {}".format(tag,speaker))
tag=word_info.speaker_tag
speaker=" "+word_info.word
Воткак я называю сценарий:
transcribe_gcs('gs://mybucket0000t/commercial_mono.wav')
Я получаю только частичную транскрипцию из всего аудиофайла
(venv3) ➜ g-transcribe git:(master) ✗ python gtranscribeWithDiarization.py
Waiting for operation to complete...
speaker 1: I'm here
speaker 2: hi I'd like to buy a Chrome Cast and I was wondering whether you
could help me
Это все, что я получаю
Если я выполняю код несколькораз, через 5 или 6 раз я не получаю транскрипцию.
Вот результат после нескольких попыток:
(venv3) ➜ g-transcribe git:(master) ✗ python gtranscribeWithDiarization.py
Waiting for operation to complete...
speaker 1:
(venv3) ➜ g-transcribe git:(master) ✗
Env: Использование python3
- Использование учетной записи службы Google и никаких проблем с подключением.
- Также скопировал файл в хранилище Google и подтвердил, что могу играть
- Пробовал конвертировать файл из wav в flac, но результаты такие же
- использовал ffprobe, чтобы убедиться, что есть только одинканал
Я пытаюсь получить полную транскрипцию с отметкой времени при смене динамиков.
Желаемый вывод
Speaker 1: Start Time 0.0001: Hello transcription starts
Speaker 2: Start Time 0.0009: Here starts with the transcription of the 2nd speaker and so on to the end of file.
Надеюсь, вы поможете.