Google облако речи в текст пустой ответ при сохранении в файл - PullRequest
0 голосов
/ 05 июня 2019

Я уверен, что это простое исправление, но я не могу понять это.Я транскрибирую аудио с помощью клиентской библиотеки Python Google Cloud Speech to Text.Все работает как задумано, когда я просто печатаю вывод.Однако, когда я пытаюсь сохранить этот вывод в файл, я получаю пустой файл 0 байтов.Вот мой код.

import os
import json
import io


def transcribe_gcs(gcs_uri, filename):
      """Asynchronously transcribes the audio file specified. """
      from google.cloud import speech
      from google.cloud.speech import enums
      from google.cloud.speech import types
      client = speech.SpeechClient()



  audio = types.RecognitionAudio(uri=gcs_uri)
  config = types.RecognitionConfig(
      encoding=enums.RecognitionConfig.AudioEncoding.FLAC,
      sample_rate_hertz=44100,
      language_code='en-US',
      enable_automatic_punctuation=True)

  operation = client.long_running_recognize(config, audio)

  mdFile = filename + ".md"
  mdFilePath = "static/media/text/" + mdFile
  f = open(mdFilePath, 'a')

  print('Waiting for operation to complete...')
  response = operation.result(timeout=4000)

  for result in response.results:
      print(format(result.alternatives[0].transcript))

При использовании он работает отлично и выводит вывод на экран.Однако, если я изменю последнюю строку на эту

print(format(result.alternatives[0].transcript),file=f)

или

f.write(format(result.alternatives[0].transcript))

, я получу пустой файл. У меня временно установлены разрешения на 777 файла и каталога.Я использую Python версии 3.6.7.Любая помощь будет очень высоко ценится.Заранее спасибо!

...