Пример кода Google Python для преобразования текста в текст не работает - PullRequest
0 голосов
/ 16 октября 2018

Ниже приведен мой код (я внес небольшие изменения в исходный пример кода):

import io
import os

# Imports the Google Cloud client library
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types

# Instantiates a client
client = speech.SpeechClient()

# The name of the audio file to transcribe
file_name = os.path.join(
    os.path.dirname(__file__),
    'C:\\Users\\louie\\Desktop',
    'TOEFL2.mp3')

# Loads the audio into memory
with io.open(file_name, 'rb') as audio_file:
    content = audio_file.read()
    audio = types.RecognitionAudio(content=content)

config = types.RecognitionConfig(
    encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=16000,
    language_code='en-US')

# Detects speech in the audio file
response = client.recognize(config, audio)

for result in response.results:
    print('Transcript: {}'.format(result.alternatives[0].transcript))
    text_file = open("C:\\Users\\louie\\Desktop\\Output.txt", "w")
    text_file.write('Transcript: {}'.format(result.alternatives[0].transcript))
    text_file.close()

Я могу только напрямую запустить этот код в моей команде Windows, так как в противном случае система не может знатьGOOGLE_APPLICATION_CREDENTIALS.Однако когда я запускаю код, ничего не происходит.Я выполнил все шаги и увидел, что трафик запросов изменился на моей консоли.Но я не вижу стенограммы.Может ли кто-нибудь помочь мне?

1 Ответ

0 голосов
/ 17 октября 2018

Вы пытаетесь декодировать файл TOEFL2.mp3, закодированный в формате MP3, в то время как вы задаете LINEAR аудио кодирование с помощью

encoding=enums.RecognitionConfig.AudioEncoding.LINEAR16

Сначала необходимо преобразовать mp3 в wav, см. информацию о AudioEncoding

...