模块“ google.cloud.speech_v1p1beta1.types”没有“ RecognitionAudio”成员

时间:2019-02-13 00:51:38

标签: speech-recognition speech-to-text google-speech-api

尝试运行示例代码,但出现此错误”

Module 'google.cloud.speech_v1p1beta1.types' has no 'RecognitionAudio' member

Env:python3x,linux,已安装和更新的Google-cloud lib

pip install --upgrade google-cloud-speech.

安装了以下

  • google-cloud(0.34.0)
  • google-cloud-speech(0.36.3)

不知道还要检查什么。如果有任何建议,那就太好了

import argparse
import io

def transcribe_file_with_enhanced_model():
    """Transcribe the given audio file using an enhanced model."""
    # [START speech_transcribe_enhanced_model_beta]
    from google.cloud import speech_v1p1beta1 as speech
    client = speech.SpeechClient()

    speech_file = 'resources/commercial_mono.wav'

    with io.open(speech_file, 'rb') as audio_file:
        content = audio_file.read()

    audio = speech.types.RecognitionAudio(content=content)

    config = speech.types.RecognitionConfig(
        encoding=speech.enums.RecognitionConfig.AudioEncoding.LINEAR16,
        sample_rate_hertz=8000,
        language_code='en-US',
        # Enhanced models are only available to projects that
        # opt in for audio data collection.
        use_enhanced=True,
        # A model must be specified to use enhanced model.
        model='phone_call')

    response = client.recognize(config, audio)

    for i, result in enumerate(response.results):
        alternative = result.alternatives[0]
        print('-' * 20)
        print('First alternative of result {}'.format(i))
        print('Transcript: {}'.format(alternative.transcript))
    # [END speech_transcribe_enhanced_model_beta]

2 个答案:

答案 0 :(得分:0)

使用

config = {
    "language_code": language_code,
    "sample_rate_hertz": sample_rate_hertz,
    "encoding": encoding,
    "use_enhanced": True,
    "model": 'phone_call',
}
audio = {"uri": storage_uri}

代替

audio = speech.types.RecognitionAudio(content=content)

config = speech.types.RecognitionConfig(
    encoding=speech.enums.RecognitionConfig.AudioEncoding.LINEAR16,
    sample_rate_hertz=8000,
    language_code='en-US',
    use_enhanced=True,
    model='phone_call')

答案 1 :(得分:0)

我认为您的版本是“ google.cloud.speech_v1”。安装google-cloud-speech 2.0.0

pip卸载google-cloud-speech

pip安装google-cloud-speech