Google Cloud Platform のSpeech Recgnitionで日本語音声ファイルをテキスト化

Google Cloud Platform の提供するSpeech Recgnition機能の初歩的なものがなんとか動かせたので、記録のためにここに記載しておく。
実際やってみて、googleの人工知能、すごかったという感じです。
基本的に、
https://cloud.google.com/speech/docs/rest-tutorial
にある、「REST API 音声認識チュートリアル」のPythonプログラムを動かして、手元にある日本語の音声データをテキスト化しただけなのですが、これまで色々失敗してきたのでできたときは感激でした。
まず、結果をお示ししましょう。ユニコード化されて送られてきたんですが、返された日本語テキストは次のようなものです。
「私は鷲田豊明と申します今日はお切りについて皆さんにちょっとお話したいと思うんですがロボットに大喜利をやらせると本当にかん可能でしょうか難しいんじゃないかなと思っていますでも挑戦してみますよ」
まちがっているのは、最初の方の大喜利とすべきところを「お切り」としてしまっているところ、ただの「可能」を「かん可能」としてしまっているところくらいですね。あとは、噛みながら話したのですが、ほぼ完璧に日本語テキスト化しています。
やるべきところを記載しておきます。基本的に上記のページに書いてあることなのですが、私なりの表現にすることによって、別な見方が提供されわかりやすくなるんじゃないかと思います。
基本、MAC用の話である。
(1)Google Cloud Platformに登録する。きちんと支払い情報も入れておく。60日の間に¥34,542.00分の利用権利もタダで与えられる。有料化されても、それほど高いものでもない。
(2)プロジェクトを作成する。
(3)認証情報を作成のところで「サービスアカウントキー」を選択すると、認証情報を組み込んだファイルがダウのロードされるので、それを確認する。あとで、プロジェクトIDとキーファイルが必要になる。
(4)pythonでやるので、当然pythonが入っていなければならない。他にも、Node.jsでもできるようだが試していない。pipもインストールされている必要がある。
(5)チュートリアルに書かれていないのだが、python用のgoogle-api-clientが必要なので以下のようにしてインストールしておく。
$ sudo pip install --upgrade google-api-python-client
(6)音声ファイルを用意する。rawが使われている。私は、iPhoneで録音し(MacBookでもできるのだが、iPhone7plusの方がいいような気がしたので)、それをiTunesを使ってwavファイルに変換し、最後にsoxを使ってrawファイルに変換した。rawへの変換は、
$ sox testrec.wav testrec.raw
(7)認証関係の設定をする。まず、先ほど作成したサービスアカウントキーファイルのありかを環境変数に記録する。
$ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_file.json
pathの部分を自分のパス、最後の、service_account_file.jsonの部分は自分がつけたファイル名にする。
$ export GCLOUD_PROJECT=your-project-id
プロジェクトIDは、自分のコンソールで確認できる。一連の数字ではなく、名前である。
(8)チュートリアルにあるpythonプログラムを、テキストファイルでテキストファイルにする。基本的に変えなくて良いが、1箇所だけ言語設定のところを次のようにかえる。
'languageCode': 'en-US',  # a BCP-47 language tag

'languageCode': 'ja-JP',  # a BCP-47 language tag
にする。つまり、英語を日本語にするのだ。
(9)実行。
$ python tutorial.py testrec.raw
とする。すると、数十秒かかるが、次のような結果のJSONファイルが帰ってくる。
{"results": [{"alternatives": [{"confidence": 0.8346436, "transcript": "\u79c1\u306f\u9df2\u7530\u8c4a\u660e\・・・中略・・・\u6226\u3057\u3066\u307f\u307e\u3059\u3088"}]}]}
83%の正確さの結果だ。このユニコードを適当なサイトを利用して日本語に変換する。私は、
http://www.kwonline.org/u_esc_seq.php
を使わせていただいた。そして、上記の結果が得られたのだ。