https://d226lax1qjow5r.cloudfront.net/blog/blogposts/how-to-make-an-outbound-text-to-speech-phone-call-with-node-js/text-to-speech_node-js.png

Node.jsで発信音声合成電話をかける方法

最終更新日 February 23, 2023

所要時間:2 分

はじめに

Vonage Voice API Voice APIは、クラウド上で高品質のVoiceアプリケーションを構築する最も簡単な方法です。Voice APIを使用すると、次のことが可能になります:

  • すでに使用しているウェブ技術で拡張性のあるアプリを構築。

  • JSONでインバウンドコールとアウトバウンドコールのフローを制御します。 Nexmoコール・コントロール・オブジェクト(注:Nexmoは現在Vonageです)。

  • インバウンドまたはアウトバウンドコールの録音と保存

  • 電話会議の開催

  • 性別やアクセントの異なる40言語で音声合成メッセージを送信。

  • そしてもっと!

このチュートリアルでは、Node.jsを使ってVonage Voice APIを安全に使用し、音声合成の発信電話を作成する方法を学びます。

アプリケーションのソースコードは こちら.

前提条件

作業を始める前に、以下のことを確認してください:

  • Node.jsをインストールしました。Node.jsはオープンソースのクロスプラットフォームJavaScript実行環境です。

  • オプション - Vonage CLINode.jsをインストールしたら、CLIをインストールします。 npm install -g @vonage/cli.このツールを使用すると、Vonage Developer Portalに対してコマンドラインインタフェースからVonageアプリケーションを作成および管理することができます。

Voice対応Vonageアプリケーションの作成

使用するには Voice APIを使用するにはを使用するには アプリケーションを作成する必要があります。

Vonageアプリケーションが必要なのは、Vonage Voice APIとのやりとりに必要なセキュリティ情報と設定情報が含まれているからです。Vonage Voice API へのリクエストにはすべて認証が必要です。Application APIで秘密鍵を生成し、JSON Web Tokens (JWT)を作成してリクエストを行う必要があります。

アプリケーションに関連する公開鍵と秘密鍵は、以下の方法で作成できます。 デベロッパーポータルまたは Vonage CLI.このチュートリアルでは、Vonage Developer Dashboard を使用します。

Vonage Developer Dashboard

アカウントを作成した後、Vonage Developer Dashboardにログインし、次のセクションを探します。 アプリケーションセクションアプリケーションセクションを探し、ここから新しいアプリケーションを作成します。アプリケーションに次のような名前を付けます。 アウトバウンドコールなどの名前を付け 公開鍵と秘密鍵を生成する.秘密鍵のダウンロードと公開鍵の入力が求められます。この情報にアクセスできる人は誰でもあなたのアカウントを使用することができますので、この情報を安全に保管してください!

Creating a Voice enabled applicationOutboundCall.png

ページをスクロールダウンして Voice機能がオンになっていることを確認してください。 回答, イベントおよび フォールバックURLブランク

Turning on the Voice CapabilityVoiceCapability.png

プレス 新しいアプリケーションを作成するを押してください。番号をリンクすることもできますが、このチュートリアルでは必要ありません。

Node.jsプロジェクトのセットアップ

開発者ダッシュボードで Vonage Voice Applications を作成し、公開鍵と秘密鍵のペアを生成したので、Node.js アプリケーションをどのように設定するか見てみましょう。

コマンド/ターミナル・プロンプトに移動して作業ディレクトリを作成し、Node.jsプロジェクトを初期化することから始める。

npm init -y

Node Vonage Server SDKもインストールする必要があります。

npm install @vonage/server-sdk

ファイルを作成し index.jsファイルを作成し、以下のコードでVonage SDKと認証情報を初期化します:

const {
    Vonage
} = require('@vonage/server-sdk');
const credentials = {
    applicationId: 'VONAGE_APPLICATION_ID',
    privateKey: "./private.key",
};
const options = {};
const vonage = new Vonage(credentials);

を置き換える vonage_application_idをアプリケーションIDに置き換えてください。アプリケーションの privateKeyに先ほどダウンロードした秘密鍵のパスがあることを確認してください。注意: 私は private.key ファイルをアプリケーションのルートにコピーしました。 ./private.key.

Voice API を使って番号に電話をかけるには、次のようにします。 vonage.voice.createOutboundCallメソッドを使用します。このメソッドは、受信者、送信者、および話すテキストに関する情報を持つオブジェクトをパラメータとして受け入れます。

Voice APIでは、受信者、送信者、そして NCCOオブジェクトを指定する必要がある。

最後に、contentオブジェクトはtextの型とテキスト・メッセージを受け取ります。コールバックはエラー・オブジェクトとレスポンス・オブジェクトを返し、操作の成否に関するメッセージを記録します。

vonage.voice.createOutboundCall({
		to: [{
			type: 'phone',
			number: YOUR_NUMBER
		}],
		from: {
			type: 'phone',
			number: VONAGE_VIRTUAL_NUMBER
		},
		ncco: [{
			"action": "talk",
			"text": "You are listening to a test text-to-speech call made with the Vonage Voice API",
		}]
	})
	.then(resp => console.log(resp))
	.catch(err => console.error(err));

置換 YOUR_NUMBERをすぐに応答できる電話に置き換えてください。その vonage_virtual_numberはダッシュボードで確認できるバーチャル番号にする。NCCOオブジェクトは以下のオプションでカスタマイズできる。 オプションのパラメータを付けてNCCOオブジェクトをカスタマイズすることができる。

NCCOオブジェクトをGitHubでホストすることもできます。 ANSWER_URLを宣言し nccoanswer_urlを追加した:

const ANSWER_URL = 'https://raw.githubusercontent.com/nexmo-community/ncco-examples/gh-pages/text-to-speech.json'

...

answer_url: [ANSWER_URL]

アプリケーションの実行

コマンド/ターミナルプロンプトで以下のように入力し、アプリケーションを実行します:

node index.js

電話が鳴り、こちらが指定したテキストを読み上げるVoiceが聞こえ、通話が終了します。接続先の電話会社によっては、遅延が発生する場合があります。

まとめ

Vonage Voice APIとNode.jsを使って発信通話を作成する方法を学びました。 異なる言語または アクセントまたは 音声テキストをカスタマイズするさらにカスタマイズして、あなたのビジネスにぴったりのものを見つけましょう。

ご質問やフィードバックがありましたら Vonage開発者向けSlackに参加するか ツイッターをお送りください。また次回もお楽しみに!

シェア:

https://a.storyblok.com/f/270183/400x400/7cdff37c0e/michael-crump.png
Michael Crumpデベロッパー・エクスペリエンス・マネージャー

マイケル・クランプはVonageのデベロッパーエクスペリエンスチームに所属し、コーダー、YouTuber、そして様々な.NETやクラウド/通信開発トピックについて頻繁に講演を行っています。彼は、開発者がそれぞれの利点を分かりやすく理解できるようにすることに情熱を注いでいます。