LoginSignup
4
3

More than 5 years have passed since last update.

Watson SpeechToTextでBoxにある音声ファイルをテキスト化してみる(Ⅱ. 環境構築)

Last updated at Posted at 2017-08-15

概要

この記事は、会議などの音声ファイルをWatson Speech To Textを使って自動でテキスト化するチュートリアルです。
この記事は Ⅱ.環境構築編です。

I.概要編はこちら
Watson SpeechToTextでBoxにある音声ファイルをテキスト化してみる(Ⅰ.概要)

環境構築

Box

Box Developer Account作成

1. https://developer.box.com/へアクセスし、右上のメニューからSignUpする。
image.png
2. 確認メールが送られます。
image.png
3. メールの確認をします。
image.png
4. Boxのログイン画面が表示されるので、ログインします。
5. [アカウント設定]>[セキュリティ]>[認証]にて2段階認証を有効化しておきます。
image.png
6. 設定が完了したら、Developerコンソールへアクセスします。
https://app.box.com/developers/console

新規アプリケーションの作成

「Web App Integration用」と「ファイルアップロード用」を2つを作成します。
なぜ、二つ作成するかと、「Web App Integration用」は認証方法は「標準OAuth2.0」を使いますが、「ファイルアップロード用」は「JWTを使用したOAuth2.0」を使うためです。

Web App Integration用

1. [アプリの新規作成]をクリックします。
image.png
2.[パートナーの統合]をクリックして、[次へ]をクリックします。
image.png
3.アプリケーションに適当な名前をつけて[アプリの作成]をクリックします。
image.png
4.DeveloperTokenが発行されますが、ここでは使わないので、[アプリの表示]をクリックします。
image.png

ファイルアップロード用

1. 左メニューの[My Apps]から[アプリの新規作成]をクリックします。
image.png
2.[企業統合]をクリックして、[次へ]をクリックします。
image.png
3.「認証方法」にて[JWTを使用したOAuth2.0(サーバー認証)]をクリックして、[次へ]をクリックします。
image.png
4.アプリケーションに適当な名前をつけて[アプリの作成]をクリックします。
image.png
5.DeveloperTokenが発行されますが、ここでは使わないので、[アプリの表示]をクリックします。
image.png

Web App Integrationの作成

1.Web App Integration用のアプリケーション「SpeechToText」を開きます。
2.左のメニュー[Integrations]をクリックし、[ウェブアプリ統合を作成]をクリックします。
必要な情報を入力していきます。
詳細な情報はBoxのドキュメントを参照してください。

Box Developers > Docs > Web Application Integrations
 https://developer.box.com/docs/box-web-application-integrations

  • アプリ情報
    image.png
    image.png

  • コールバック設定
    [クライアントコールバックのURL]は後に作成するHerokuのURLを入れるため、ここではダミーでhttps://localhostなどとダミーの値を入れておきます。
    image.png

  • コールバックパラメータ
    image.png

  • 認証
    image.png

  • 統合ステータス
    image.png

全て設定が終わったら右上の[変更を保存]をクリックし保存します。

JWTを使用したOAuth2.0の設定

1.Web App Integration用のアプリケーション「UploadFileJWT」を開きます。
2.左のメニューの[Configuration]をクリックします。
設定について詳細な情報が知りたい場合はBoxのドキュメントを参照してください。

Box Developers > Docs > Configuring Your Application
 https://developer.box.com/docs/configuring-box-platform

  • OAuth 2.0資格情報

後ほど、Herokuの環境変数に設定するので、記録しておいてください。

  • アプリケーションアクセス
    image.png

  • アプリケーションの範囲
    image.png

  • 高度な機能
    image.png

  • 公開キーの追加と管理
    1.[公開/秘密キーペアを作成]をクリックします。
    ※2段階認証が有効になっていないとエラーになります。
    2.JSONファイルをダウンロードし保存します。このファイルは後ではダウンロードできないので大事に保管しておきましょう!

Box App Userの作成

アプリケーションユーザーを作成します。
アプリケーションユーザーとは? Boxのエンドユーザーではなく、アプリケーションに属するフル機能を持つエンタープライズアカウントです。ライセンス数には加算されません。
詳細はこちらを参考にしてください。

https://developer.box.com/docs/app-users

1時間有効なDeveloperトークンを使い、下記のようにCurlを使うかPOSTMANなどを利用してAppUserを作成します。

curl https://api.box.com/2.0/users \
-H "Authorization: Bearer ACCESS_TOKEN" \
-d '{"name": "App User Test", "is_platform_access_only": true}' \
-X POST

レスポンスは下記のようになります。
image.png
id属性、login属性を記録してください。
また、作成したApp UserはBoxの管理コンソール[ユーザー]タブにて確認することができます。
Boxへのファイルアップロード、ダウンロードはこのApp User権限で行いますので、該当フォルダに権限(ビューアー・アップローダー以上)を付与しておいてください。(App Userのメールアドレス(上記レスポンスのlogin属性)で招待します。)

Watson Speech To Text

IBM BlueMix 環境作成

BlueMix環境を持っていない場合は、1ヶ月の無料トライアル環境を利用してください。
1ヶ月以上経過した場合でも、無料範囲以内での利用であれば課金されることはないので、自分で色々試す分には十分かと思います。

無料トライアル
https://console.ng.bluemix.net/registration/

私が最初にBluemixの環境を用意するときに結構つまづいたので、手順をまとめておこうと思います。
1. アカウントを登録すると、メールが届きますので確認します。
image.png

2. メール本文の[Confirm Account]をクリックします。
image.png

3. メールの確認が完了したので、[ログイン]をクリックします。 
image.png

4. Bluemix Consoleにアクセスしログインします。
https://console.bluemix.net/home/

5. [組織の作成]にて、組織名を入力します。ここで入力する値はBlumixの中で一意である必要があります。
image.png

6. [スペースの作成]にて、スペースの名前を入力します。ここでは、開発用スペースを作成するため、「dev」と入力し[作成]をクリックします。
image.png

7. 完了したら、[準備ができました]をクリックします。
8. 右上の[三]をクリックし、[サービス]をクリックします。
image.png

9. [サービス]の中の[Watson]をクリックします。
image.png

10. [Watsonサービスの作成]をクリックします。
11. [Speech To Text]をクリックします。
image.png

12. [作成]をクリックします。
image.png

13. 左メニューの[サービス資格情報]をクリックし、画面下部の[資格情報の表示]をクリックすると、サービスに接続するための資格情報が表示されますので、コピーしておきます。のちにプログラミングで利用します。
image.png

Heroku

Heroku環境構築

Herokuは日本語の資料がありましたので、こちらのサイトを参考にして環境構築をしてください。

https://github.com/herokaijp/devcenter/wiki/quickstart

この時点では、「ステップ 3: ログイン」まで実施すれば大丈夫です。

Herokuアプリケーション作成

1.HerokuCLIを使ってHerokuにログインします。

$ heroku login
Enter your Heroku credentials.
Email: <your email address>
Password (typing will be hidden): 
Logged in as <your email address>

2.Herokuでアプリケーションを作成します。
アプリケーション名は、Herokuの中で一意である必要があります。

$ heroku apps:create <アプリケーション名>
Creating ⬢ personalhelpdesk... done
https://<アプリケーション名>.herokuapp.com/ | https://git.heroku.com/<アプリケーション名>.git 

3.Gitリポジトリを初期化します。

$ git init

4.リモートリポジトリとしてHerokuを追加します。

$ git remote add heroku https://git.heroku.com/<アプリケーション名>.git

5.Git管理対象外ファイル(.gitignore)を作成します。

.DS_Store
.gitignore
npm-debug.log
node_modules

6.Herokuがプログラム起動する際に実行するファイル(Procfile)を作成します。

web: node server.js

ここまで実施したら、次は、server.jsへコードを書き、デプロイします。
詳しくは、Watson SpeechToTextでBoxにある音声ファイルをテキスト化してみる(Ⅲ.プログラミング)にて説明します。

Herokuアプリケーションへ環境変数をセット

プログラムを書く前に、利用する資格情報などを全て環境変数としてセットしておきます。
セットする資格情報は下記の通りです。

KEY 補足
BOX_CLIENT_ID ファイルアップロード用アプリのClient ID
BOX_CLIENT_SECRET ファイルアップロード用アプリのClient Secret
BOX_PRIVATE_KEY 「公開キーの追加と管理」でダウンロードしたJSONファイルの中のprivateKey属性
BOX_KEY_ID 「公開キーの追加と管理」でダウンロードしたJSONファイルの中のpublicKeyID属性
BOX_KEY_PHRASE 「公開キーの追加と管理」でダウンロードしたJSONファイルの中のpassphrase属性
APP_ENTERPRISE_ID 「公開キーの追加と管理」でダウンロードしたJSONファイルの中のenterpriseID属性
WATSON_USERNAME WatsonSpeechToTextサービスに接続する資格情報のusername属性
WATSON_PASSWORD WatsonSpeechToTextサービスに接続する資格情報のpassword属性

Herokuへ環境変数を登録するコマンドは下記です。

$ heroku config:set <KEY>="<VALUE>"

続き

次の記事でいよいよプログラムを作っていきたいと思います。

Watson SpeechToTextでBoxにある音声ファイルをテキスト化してみる(Ⅲ.プログラミング)

 

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3