Google Speech API 아무것도 출력이 되지 않는 에러

Google Speech API 아무것도 출력이 되지 않는 에러

  • 원인
    아래 코드의 sample_rate_hertz가 일치하지 않아서 그렇다.
    ffmpeg를 사용해 동영상 확장자를 변환할 때 맞춰주어야 한다.

  • 해결방법
    ffmpeg로 변환을 시킨다.
    sample_rate_hertz가 16000으로 설정했기 때문에 변활시킬 때 16000으로 바꿔주어야 한다.

    ffmpeg -i audio_file.mp4 -acodec pcm_s16le -ac 1 -ar 16000 audio_file.wav
  • 예제 코드

    def transcribe_file(speech_file):
        """Transcribe the given audio file."""
        from google.cloud import speech
        from google.cloud.speech import enums
        from google.cloud.speech import types
        client = speech.SpeechClient()
        with io.open(speech_file, '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='ko-KR')
        response = client.recognize(config, audio)
        print("test2")
        # Each result is for a consecutive portion of the audio. Iterate through
        # them to get the transcripts for the entire audio file.
        for result in response.results:
            print("test3")
            # The first alternative is the most likely one for this portion.
            print(u'Transcript: {}'.format(result.alternatives[0].transcript))
    speech_file = "audio_file.wav"
    transcribe_file(speech_file)

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×