2016-08-01 19 views
14

スタックオーバーフローはこの質問をするのに最適な場所ではないかもしれませんが、私は助けが必要です。私はmp3ファイルを持っており、私はそのファイルからテキストを取得するためにGoogleの音声認識を使用したい。私がドキュメンテーションや例を見つけることができるアイデアは感謝します。Google音声認識APIをPythonで使用するには?

+0

をこの質問が広すぎるとオフの要求でありますスタックオーバーフローのトピックではないサイトリソース。それがまだ閉鎖されていない唯一の理由は、奨励金が添付されているためです。 – JAL

+0

こちらをご覧ください:https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/speech – blambert

答えて

31

開発者がオーディオをテキストに変換できるようにするGoogle Cloud Speech APIを見てください。[...]APIは、限られた量のAPIリクエストを得るために無料のアカウントを作成できます。そして、クラウドプラットフォームコンソールで、[プロジェクト]ページに移動し、新しいプロジェクトを選択または作成します

pip install --upgrade gcloud 
pip install --upgrade google-api-python-client 

:あなたがしてgcloud python module & google-api-python-clientモジュールをインストールするには最初に必要

:HOW TO

。プロジェクトの請求を有効にする必要がある場合は、enable Cloud Speech API

コードからクラウドスピーチAPIサービスに認可する方法についてはSet Up a Service Accountを参照してください

GoogleクラウドスピーチAPIを有効にした後、あなたのクラウドスピーチAPIの資格情報を設定するために資格情報]ボタンに、[移動]をクリックします

は、Googleから、download the audio raw fileをサービスアカウントキーファイル(JSON)で、あなたが一度スピーチAPI

に一切行って認証することができますGOOGLE_APPLICATION_CREDENTIALS環境変数の両方を取得して、外出先からもspeech-discovery_google_rest_v1.json必要があります色目

資格情報を設定するために、以前ダウンロードしたJSONファイルを変更し、あなたが持つ.jsonファイルのフルパスにごGOOGLE_APPLICATION_CREDENTIALS環境変数を設定していることを確認してください キー:また

export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json 

GCLOUD_PROJECT環境変数をGoogle CloudプロジェクトのIDに設定していることを確認してください。

export GCLOUD_PROJECT=your-project-id 
そして、実行

import argparse 
import base64 
import json 

from googleapiclient import discovery 
import httplib2 
from oauth2client.client import GoogleCredentials 


DISCOVERY_URL = ('https://{api}.googleapis.com/$discovery/rest?' 
       'version={apiVersion}') 


def get_speech_service(): 
    credentials = GoogleCredentials.get_application_default().create_scoped(
     ['https://www.googleapis.com/auth/cloud-platform']) 
    http = httplib2.Http() 
    credentials.authorize(http) 

    return discovery.build(
     'speech', 'v1beta1', http=http, discoveryServiceUrl=DISCOVERY_URL) 


def main(speech_file): 
    """Transcribe the given audio file. 

    Args: 
     speech_file: the name of the audio file. 
    """ 
    with open(speech_file, 'rb') as speech: 
     speech_content = base64.b64encode(speech.read()) 

    service = get_speech_service() 
    service_request = service.speech().syncrecognize(
     body={ 
      'config': { 
       'encoding': 'LINEAR16', # raw 16-bit signed LE samples 
       'sampleRate': 16000, # 16 khz 
       'languageCode': 'en-US', # a BCP-47 language tag 
      }, 
      'audio': { 
       'content': speech_content.decode('UTF-8') 
       } 
      }) 
    response = service_request.execute() 
    print(json.dumps(response)) 

if __name__ == '__main__': 
    parser = argparse.ArgumentParser() 
    parser.add_argument(
     'speech_file', help='Full path of audio file to be recognized') 
    args = parser.parse_args() 
    main(args.speech_file) 

を:

すべて完了と仮定すると、あなたは含まれていtutorial.pyファイルを作成することができます

python tutorial.py audio.raw 
+1

https://cloud.google.com/speech/docs/ documentation –

+1

https://cloud.google.com/speech/docs/samples/speech-discovery_google_rest_v1.jsonが壊れています。(404) –

+0

正確、ありがとうございます。 https://raw.githubusercontent.com/revmischa/google-transcriber/master/speech-discovery_google_rest_v1にはまだバージョンがあります。"クライアントライブラリはAlphaとしてリリースされ、後方互換性のない方法で変更される可能性があります。クライアントライブラリは現在、運用用に推奨されていません。"、この回答は間もなく廃止される予定です... –