Я следовал инструкциям в сети, создал код python, который расшифровывает длинные аудиофайлы с использованием локального файла. Когда я запускаю код для записей с телефона в формате mp3, он расшифровывает разделы разговора, но не все. И в зависимости от того, какую звуковую частоту я установил, он расшифровывает разные разделы.
Например, разговор, который должен быть таким: Привет, добрый день. Меня зовут ПУСТО Я из Суиндона ПУСТО. Меня попросили позвонить, чтобы убедиться, что вы по-прежнему являетесь владельцем ... Я, да, да
расшифровывается, когда sample_rate_hertz = 8000, как: Привет, меня зовут ПУСТО Я из Суиндона. ПУСТО. Меня спросили, да, да
и расшифровали, когда sample_rate_hertz = 10000, как: Привет, меня попросили позвонить, купить ПУСТОЙ Я просто удостоверяюсь, что вы все еще являетесь владельцем ... Я да, да
Мой код:
from google.cloud import speech_v1p1beta1
from google.cloud.speech_v1p1beta1 import enums
import io
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'key.json'
def sample_long_running_recognize(local_file_path):
client = speech_v1p1beta1.SpeechClient()
local_file_path = '/home/megan.stevens/PycharmProjects/Google/Convo.mp3'
language_code = "en-gb"
sample_rate_hertz = 8000
encoding = enums.RecognitionConfig.AudioEncoding.MP3
config = {
"language_code": language_code,
"sample_rate_hertz": sample_rate_hertz,
"encoding": encoding,
"model": 'phone_call',
"enable_speaker_diarization": True,
"diarization_speaker_count": 2,
"enable_separate_recognition_per_channel": True,
"audio_channel_count": 2,
}
with io.open(local_file_path, "rb") as f:
content = f.read()
audio = {"content": content}
operation = client.long_running_recognize(config, audio)
print(u"Waiting for operation to complete...")
response = operation.result()
for result in response.results:
# First alternative is the most probable result
alternative = result.alternatives[0]
print(u"Transcript: {}".format(alternative.transcript))
for word in alternative.words:
print(u"Word: {}".format(word.word))
print(u"Speaker tag: {}".format(word.speaker_tag))
sample_long_running_recognize("Convo.mp3")
И я пробовал запускать его с различными конфигурациями, чтобы получить практически тот же результат.