概要
この記事は、会議などの音声ファイルをWatson Speech To Textを使って自動でテキスト化するチュートリアルです。
この記事は Ⅱ.環境構築編です。
環境構築
Box
Box Developer Account作成
1. https://developer.box.com/へアクセスし、右上のメニューからSignUpする。
2. 確認メールが送られます。
3. メールの確認をします。
4. Boxのログイン画面が表示されるので、ログインします。
5. [アカウント設定]>[セキュリティ]>[認証]にて2段階認証を有効化しておきます。
6. 設定が完了したら、Developerコンソールへアクセスします。
https://app.box.com/developers/console
新規アプリケーションの作成
「Web App Integration用」と「ファイルアップロード用」を2つを作成します。
なぜ、二つ作成するかと、「Web App Integration用」は認証方法は「標準OAuth2.0」を使いますが、「ファイルアップロード用」は「JWTを使用したOAuth2.0」を使うためです。
Web App Integration用
1. [アプリの新規作成]をクリックします。
2.[パートナーの統合]をクリックして、[次へ]をクリックします。
3.アプリケーションに適当な名前をつけて[アプリの作成]をクリックします。
4.DeveloperTokenが発行されますが、ここでは使わないので、[アプリの表示]をクリックします。
ファイルアップロード用
1. 左メニューの[My Apps]から[アプリの新規作成]をクリックします。
2.[企業統合]をクリックして、[次へ]をクリックします。
3.「認証方法」にて[JWTを使用したOAuth2.0(サーバー認証)]をクリックして、[次へ]をクリックします。
4.アプリケーションに適当な名前をつけて[アプリの作成]をクリックします。
5.DeveloperTokenが発行されますが、ここでは使わないので、[アプリの表示]をクリックします。
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
-
コールバック設定
[クライアントコールバックのURL]は後に作成するHerokuのURLを入れるため、ここではダミーでhttps://localhostなどとダミーの値を入れておきます。
全て設定が終わったら右上の[変更を保存]をクリックし保存します。
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の環境変数に設定するので、記録しておいてください。
-
公開キーの追加と管理
1.[公開/秘密キーペアを作成]をクリックします。
※2段階認証が有効になっていないとエラーになります。
2.JSONファイルをダウンロードし保存します。このファイルは後ではダウンロードできないので大事に保管しておきましょう!
Box App Userの作成
アプリケーションユーザーを作成します。
アプリケーションユーザーとは? Boxのエンドユーザーではなく、アプリケーションに属するフル機能を持つエンタープライズアカウントです。ライセンス数には加算されません。
詳細はこちらを参考にしてください。
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
レスポンスは下記のようになります。
id属性、login属性を記録してください。
また、作成したApp UserはBoxの管理コンソール[ユーザー]タブにて確認することができます。
Boxへのファイルアップロード、ダウンロードはこのApp User権限で行いますので、該当フォルダに権限(ビューアー・アップローダー以上)を付与しておいてください。(App Userのメールアドレス(上記レスポンスのlogin属性)で招待します。)
Watson Speech To Text
IBM BlueMix 環境作成
BlueMix環境を持っていない場合は、1ヶ月の無料トライアル環境を利用してください。
1ヶ月以上経過した場合でも、無料範囲以内での利用であれば課金されることはないので、自分で色々試す分には十分かと思います。
私が最初にBluemixの環境を用意するときに結構つまづいたので、手順をまとめておこうと思います。
1. アカウントを登録すると、メールが届きますので確認します。
2. メール本文の[Confirm Account]をクリックします。
3. メールの確認が完了したので、[ログイン]をクリックします。
4. Bluemix Consoleにアクセスしログインします。
https://console.bluemix.net/home/
5. [組織の作成]にて、組織名を入力します。ここで入力する値はBlumixの中で一意である必要があります。
6. [スペースの作成]にて、スペースの名前を入力します。ここでは、開発用スペースを作成するため、「dev」と入力し[作成]をクリックします。
7. 完了したら、[準備ができました]をクリックします。
8. 右上の[三]をクリックし、[サービス]をクリックします。
10. [Watsonサービスの作成]をクリックします。
11. [Speech To Text]をクリックします。
13. 左メニューの[サービス資格情報]をクリックし、画面下部の[資格情報の表示]をクリックすると、サービスに接続するための資格情報が表示されますので、コピーしておきます。のちにプログラミングで利用します。
Heroku
Heroku環境構築
Herokuは日本語の資料がありましたので、こちらのサイトを参考にして環境構築をしてください。
この時点では、「ステップ 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>"
続き
次の記事でいよいよプログラムを作っていきたいと思います。