この記事は機械翻訳されたものです。

作業プログラマ

相談室: クラウドの電話サービスと SMS サービス (機械翻訳)

Ted Neward

Ted Neward10 月過去私いくつかの慈善仕事シアトルの GiveCamp を発見しました。 (GiveCamp あるもの知らないか。 2 番目し、見ています。givecamp.org.)そこは、私はいくつかのメンバーが構築したいアプリケーションの一部として SMS メッセージングことに興味があった、グループ全体を走った。 我々 話すことができたし、対話型音声アプリケーションの対象を思いついた。 彼らは何かそのようなこと興味を持っていた (具体的には、いくつかの設定自動化ドナーに感謝呼び出し) が、独自のコール センターを実行し、独自の PBX ソフトウェアと動作させるためにハードウェアをインストールしていた計算しました。

とんでもない、mes アミ

運は、昨年初め、フィラデルフィア新興技術イベントで (フィラデルフィア エテとも呼ばれます) があるので、Voxeo、エンタープライズ ・ クラスの PBX システムからいくつかの男を満たして、熱帯、雲ホスト (その他を) 音声と SMS ソリューションを紹介します。 何もテレフォニー関連人々は、一見の価値あり。

回転:Testamonial

基本的に、Tropo すべては別の利用可能な他の音声/SMS サービスのいくつかからではないが、他の人私は見てきた以上の 1 つの明確な利点。開発サイクル中に、お金には手は変更されません。 開発時にこのサービスを使用して、アプリケーションを構築するは簡単-ちょうどさまよう Tropo サイトに (tropo.com) サインアップとサービスの完全なスイートがあり、限り、あなたの指先でします。

当然のことながら、他の声/SMS サービスがあり、常に選択肢を調べる価値が。 しかし、この記事だ (とその後継者)、熱帯のサービスを使用するつもりです。 買い手。

概要

必要他のクラウド ベースのサービスとして、回転を開始するそのサーバーにアカウントを作成して、電子メールの確認に応答です。 完了すると、する熱帯のログにアカウントのダッシュ ボードが表示されますあり、ここで、楽しみが始まります。

これをどのように多くの楽しみをすることができます表示するには、それを今試みる。 受話器し、ダイヤル 530-206-0504。

ハローワールド!

この雑誌のほとんどの読者がよく知っているように、伝統とコンピューター科学の神々 両方要求、最初のアプリケーションの新しい言語やプラットフォームであること、「こんにちは, world!」アプリケーション。 これまで私からの伝統をバックには (少なくとも、とき、私の目的は、とにかく滞在する) を提供、ここでの最初のステップは Tropo アプリケーションを新規作成し、簡単な音声案内応答を作成することです。 しかし、私たちがあまりにも遠くなる前に、我々 のここでのアーキテクチャにクリアしている確認しましょう。

ほとんどのクラウドでホストされるサービスのような熱帯を所有しているし、は、テレフォニー ハードウェアを実行、サーバーを維持し、ほとんど雲ホスト アプリケーションと同様、つまり、アプリケーション開発者は、任意のハードウェアを持っていない-は祝福と呪いのほとんどのシナリオでの両方。 この場合は、しかし、ほとんど雲の「呪い」最後の滝、私たちは私たちのすべてのデータをホストする熱帯を依頼するつもりはないので。 実際には、熱帯でも、アプリをドライブ スクリプトをホストする必要はありません­陽。 それすることができます非常に喜んではは関心のある場合は、[スクリプトからの任意の任意の URL を取得でき熱帯のサーバーで実行します。 だけを開始する簡単にようであるのでこの作品は、我々 Tropo ホスト ファイルを使用するつもりです。

電子メールが到着した場合に、検証の世話をされてと、熱帯にログインをダッシュ ボードを明らかにする必要があります。

」をするアプリケーションを作成する、」をクリックして図 1

Creating an Application in Tropo
図 1 回転でアプリケーションを作成します。

「熱帯スクリプティング」を選択し名前を付ける; 私はこの例では「HelloMSDN」を使用します。 最後に、「ホスト ファイル」リンクをクリックして、「、新しいホスト ファイルでこのアプリケーションの作成」; 選択 その時点では、単純なテキスト エディターをポップアップします。 推測するかもしれないとは、小さなスクリプト ファイルを構築している (スクリプト言語の選択で — JavaScript、PHP、Ruby、Groovy または Python) は Tropo「誰かを与える Tropo 電話番号をダイヤルするときはこの場合にはこのスクリプトを実行するに」と言われるときが発生します。 (詳細については後述します。)

「HelloMSDNScript.js」(これは JavaScript スクリプトは熱帯を区別する重要である、.js 拡張子) ファイル呼び出すし、、ファイルの本文には、次に。

say("Greetings, MSDN fans!")

これを行った場合は、それのようになります図 2

Creating a Script in Tropo
図 2 の熱帯のスクリプトを作成します。

もしすべてがうまく、「ファイルの作成」をクリックし、[「作成アプリケーションです。] をクリックします完了すると、熱帯戻るアプリケーション ダッシュ ボードで見ることができます、今、少し異なりますすることが図 3

The Tropo Application Dashboard
図 3 Tropo アプリケーション ダッシュ ボード

これはいくつかのチャネルを制御するつもりですのでこのダッシュ ボードは特に重要です、熱帯に聞いています。 多くの点では、非技術的な人々 から最も内臓の反応を生成、電話のデモは、ので、アプリケーションに電話番号を割り当てるには熱帯を取得します。 これは、[電話番号を追加] をクリックし、市外局番から、番号が生成されますを選択して行われます。 当然のことながら、米国 フリー ダイヤル (1-800) の数字も、サポートしているが、コストのため、課金プランを設定が必要です。 市外局番を選択した後は、熱帯の番号を提供するのに数分必要があり、番号をダイヤルすることができます良い音声合成方法で迎えられます。 (はい、それを今しな)

こんにちは、蜂蜜 ! あなたは私を愛するか。

十分に近い。 バレンタインの季節が近づいている、ホリデー シーズン過去と、おそらくあまりにも多くの Xbox 360 にクリスマス、演奏ありすべて腹を彼の注意を払っていないの重要な他を持っている方法 (はい、私の妻はこれを夕食にもたらす)、あなたの愛する 1 つ (のガール フレンド/ボーイ フレンド/配偶者/何でも) が愛を確認する必要があります。 それでは、コードのビットを反転し、確認します。 実行中のアプリケーションを編集は非常に簡単です。(これはまだは、テキスト エディター ウィンドウを閉じていると仮定する必要がありますアプリケーションのダッシュ ボードに戻る いない場合は、don ' t は、心配はそこに滞在)、単に「ホスト ファイル」のリンクをもう一度クリックし、、テキスト エディターにバックアップ」このホスト ファイルを編集する」オプションを選択します。 この時間は、次のと言うコード (と、もちろん、あなたの愛する人の名前私の妻の代わり)。

say("I love you, Charlotte!");
var results = ask("Do you love me too?
Yes or no?", {
  choices: "yes, no"
);
log("results.value: " + results.value)
if (results.value == "yes") {
  say("Yay!
That makes me happy.");
}
else {
  say("Oh.
Now I'm a sad panda.");
}

質問ルーチンは [(設定可能なタイムアウト秒数) まで音声応答を待って、プロンプトを再生、ブロッキング呼び出しです。 この JavaScript API である私たちは JSON 構造体は許容音声応答のコンマ区切りのリストです、「選択肢」文字列を含む、質問呼び出し最後の省略可能なパラメーターの数に渡すことができます。 熱帯テキストへの音声翻訳が含まれているし、呼び出し元からの音声応答を解析しようと試みます-としては、とにかくできます。 (熱帯を解析するときに、どのように強くそれが正しく、解析と考えているを示す「信頼」の要因、と信頼のレベル、需要、音声応答を構成することができますようにそれは。 既定では、容認できる結果、前の「はいまたは no」プロンプトでされたら、かなりことした通常は十分な音声応答.3 です。)

しかし、待って ! デフォルトの音声は、女性の声とは私の妻を送信するときは少し奇妙な音が。 それでは声を私自身のように変更します。 これと言うし、頼むの両方 JSON 引数のオプションの「声」フィールドに渡すことによって行われます。

say("I love you, Charlotte!", { voice:"victor"});
var results = ask("Do you love me too?
Yes or no?", {
  voice: "victor",
  choices: "yes, no"
});
log("results.value: " + results.value)
if (results.value == "yes") {
  say("Yay!
That makes me happy.", { voice:"victor"});
}
else {
  say("Oh.
Now I'm a sad panda.", { voice:"victor"});
}

編集が済んだら、ファイルを保存; Tropo インプレースでは、ファイルを更新して、次の電話呼び出し、新しい音声が再生されます。 「ビクター」、さまざまな異なるアクセントを含む可能性声数を 1 つだけであることに注意してください。 1 つは、しかし、あなた自身の自然の声よりもセクシー音を選んではいけない、またはあなたの選択の最愛の人が、携帯電話を好むことがあるかどうかを確認し、おそらく悪いことでしょう。

もちろん、それは、自分の声と少し準備で、あなたはそうすることができます最高になります。 両方と言うと現在使用されている音声合成のオプションを行うのではなく、MP3 または WAV ファイルの再生のサポートを求めるので信頼できるコンピュータのマイクをつかむ、プロンプトと、応答を記録、あなた好みの Web サーバーにアップロードします。 その後、解析し、合成するテキストの代わりに、Url を記録し、HTTP でアクセス可能なサーバー上に格納する必要があります)、録音されたファイルを提供する; コードは (URL を記録ファイルです) などに表示されます。

say('http://www.tedneward.com/howdy.wav');

進む :人工知能

私だけ熱帯で何ができるの表面に傷した-実際には、私は私は、件名にされる前に熱帯を探索する多くがある — がこの特定の例を移動する場所を理解するには、我々、人工知能の素晴らしい世界に寄り道をするし、熱帯をもう一度再訪する必要があります。

Ted Neward Neudesic LLC、建築コンサルタントです。 彼は 100 以上の記事を書いている、c# MVP、INETA のスピーカーとが作成あり、最近発表された「プロ F # 2.0」を含む、数十本を共著 (Wrox).彼は相談し、定期的にメンターします。彼の仕事をチームには、または自分のブログで読むことに興味があれば彼に ted@tedneward.com に達する blogs.tedneward.com

この記事のレビュー、技術スタッフのおかげでに: Adam Kalsey