menu-icon

PHPでAmazon pollyを使ってみる

Amazon Pollyは、ディープラーニング技術を使用したテキスト読み上げサービスで、自然な音声を合成できます。PHPのサンプルは公式になかったので、試しに実装してみました。

アプリケーション

AWSのSDKが必要です。

polly.php
<?php

require 'vendor/autoload.php';

$sdk = new \Aws\Sdk([
    'region'   => 'ap-northeast-1',
    'version'  => 'latest',
]);

$polly = $sdk->createPolly();
$response = $polly->synthesizeSpeech([
    'OutputFormat'  => 'mp3',
    'Text'          => 'Amazon Polly は、文章をリアルな音声に変換するサービスです。テキスト読み上げができるアプリケーションを作成できるため、まったく新しいタイプの音声対応製品を構築できます。',
    'VoiceId'       => 'Takumi',
]);

if (isset($response['AudioStream'])) {
    file_put_contents('speech.mp3', $response['AudioStream']);
} else {
    print "Could not stream audio\n";
    exit(-1);
}

動かしてみる

以下を実行すると、speech.mp3が作成されます。

$ php polly.php

実際に作成されたものがこちらです。

それっぽく聞こえます。

まとめ

Amazon Pollyを試してみました。自然な音声が簡単に生成できるので、とても便利です。