Используя 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.
Надеюсь, ты сможешь помочь.