電話による録音、意外と楽しくて便利なシステムが開発できます。

20140614-01.png

今回はみなさんに Twilio の <Record> 動詞を紹介したいと思います。
Twilio を使えば電話によるメッセージの録音や音声ファイルの再生も簡単に実現可能です。
数行のコードを書いて、電話番号に TwiML の URL を設定するだけで構築が可能です。

左側の「絵」は弊社のデザイン部で作ってくれた「音声録音」に関するイメージですが、今回のブログで紹介内容がまさにこの絵に表現されている通りです。
「音声を録音してその場で再生することができます」をみてみましょう!

 

電話で録音、意外と楽しくて便利な物ができるかも!

今までは電話による「録音」を思い出すと「留守番電話、通話内容の録音」などが先に思い出すかと思います。

例えば、録音した生声をプレゼントできるのはいかがですか?

実際に友達に結婚式で新郎新婦には内相で友達のみんなから「お結婚おめでとう」のメッセージを集め、結婚式場で
新郎新婦にプレゼントした素敵なアプリが開発されたこともあります。
その内容がブログにて紹介されています。それぞれ別のユーザーの開発なので是非ご覧ください。

 

 

このように録音された友達からのメッセージは録音ファイルが再生できる電話番号 (050) に電話をかけるだけでどこでも聞けますし、思い出として残しておく事も可能です。
お友達からのお祝いメッセージを 10 年後、20 年後に聞きながら結婚式当時を思い出すのも素敵なプレゼントになるのではないかと思います。

 

<Record> の仕組み

Twilio の素敵な機能 <Record> はどんな仕組みになっているのでしょう!

<Record> から録音を行いますと、録音ファイル (mp3) の URL が Twilio 側から発行されます。
発行された URL をクリックするとすぐ音声ファイルの再生が可能です。

 

録音ファイルの URL は録音が終わった後、Twilio から発行され、録音が行われたファイルもしくは <Record> 動詞の "action" に設定されている URL に送信されます。

録音された音声ファイルは Twilio 側に蓄積され、下記のメニューからも確認することができます。
メニュー : ログ → 音声

 

Twilio から録音された音声ファイルは最初、このように Twilio のサーバーに保存されますが、REST API を使えば音声ファイルの削除はもちろん、みなさん独自のダッシュボードを作ることも可能です。詳細は下記のリンクをご覧ください。
REST API : 録音

 

20140614-02.png

 

電話で録音したメッセージをすぐ確認できます。

Twilio は TwiML に記述されている動詞や名詞で動作します。TwiML については下のリンクをご覧ください。
TwiMLTM : Twilio マークアップ言語

 

今回は動詞の中で <Record> と <Play>、<Say> を使ってメッセージを確認する処理を完成させてみたいと思います。

処理の流れはこんな感じ。

  1. ユーザーが 050 に電話をかける。
  2. 電話のアナウンス「録音の後、シャープを押してください」再生。
  3. ユーザーはアナウンスに従って録音をし、最後にシャープを押す。
  4. その後すぐ、自分が録音した内容が電話にて確認できる。

 

サンプルコード (TwiML) はこちら

ファイル名:twiml-Recording-Play.php

 

【5 行 : 録音ファイルの URL 取得】
Twilio から録音されたファイルの URL は「RecordingUrl」に格納され渡されます。
Twilio は基本「POST」型で渡されるんですが、GET などでもやり取りが可能です。

 

【13 〜 14 行 : 録音開始】
この TwiML と紐づいている電話番号に着信があった際に、初めて実行されるところです。
<Say> という動詞から中に書いてあるテキストを音声に変換した後、14 行目の <Record /> タグ(動詞)で録音を開始します。

 

【8 〜 11 行 : 録音存在判断】
音声ファイルの URL が存在する場合、<Play> 動詞が実行され URL の音声ファイルを再生します。
再生の後は <Hangup /> タグ(第 2 動詞)で通話を終了させます。

 

TwiML を電話番号に設定!

20140614-03.png
この上で作成した TwiML (twiml-Recording-Play.php) を電話番号に設定してみたいと思います。
TwiML は本ブログの上部でも少し話がでましたが、Twilio の動詞(命令語)を記述する XML 形式のファイルです。

 

サンプルコードは PHP なんですが、みなさんご覧の通り、ヘッダの部分で XML でファイルを出力しています。
このファイルがウェブに公開されていることで Twilio から Request を送信し、Twilio を動作させる仕組みになっています。

まず、グロバール(ウェブ)サーバーをご用意ください。

  1. ウェブサーバーにサンプルコードを配置し、そのURLを「Request URL」に設定します。
  2. 保存ボタンを押下し、設定を完了します。

やることはこれだけ!

ここまで設定が終わったらサンプルコードを設定したみなさんの Twilio 電話番号 (050) に電話をかけてみてください。
電話による録音と、録音ファイルの再生が確認できます。

 

まとめ

いかがでしょうか?
今までは電話で録音をするのは留守番電話を先に思い出すかと思いますが、Twilio を使えば電話による録音を使って新しい楽しみ方が沢山生まれるはずです。

 

今回は録音の後、録音内容を確認するのを紹介しましたが、このコードを応用しますと、より多くのことができます。
例えば、<Gather>(プッシュ音認識) 動詞を使えば、録音内容の確認は「1」を、再録音は「2」を、録音ファイルをメールや SNS などに送信するには「3」を押してください。
のような処理をソースコードの「8、9」行目の間に記述すると実装可能です。
なお、SNS(Facebook や twitter など)の API との連動でソーシャルと Twilio のアプリを連動も試してみてください。

それがたった数行のコードを各だけで自由自在に開発はもちろん手軽に運営ができるのも Twilio の強みの一つです。

この記事をシェア

最新記事

すべての記事へ