官方介绍Amazon Polly使用深度学习将文本转换为逼真的语音 ,18年下半年更新支持了中文,现中文也只有Zhiyu一个播音员,Amazon Polly除了官方调用示例不是很多,下面我给大家展示一个。
本实例基于官方SynthesizeSpeech接口,接口地址https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-polly-2016-06-10.html#synthesizespeech,请先行安装AWS SDK for PHP版本 3 ,可以使用 composerrequireaws/aws-sdk-php 来安装当前版本3.133。
require_once(__DIR__."/vendor/autoload.php");
use AwsPollyPollyClient;
use AwsExceptionAwsException;
use AwsPollyExceptionPollyException;
//设置帐号配置信息
$config = [
"version" => "latest",
"region" => "us-west-2",
"credentials" => [
"key" => "XXXXXXXXXXXXXXXXXXXX",
"secret" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
]
];
$client_polly = new PollyClient($config);
try {
$result = $client_polly->synthesizeSpeech([
"OutputFormat" => "mp3",
"SampleRate" => "8000",
"Text" => "Hi,Welcome to Polly test",
"TextType" => "text",
"VoiceId" => "Emma" ,
]);
$response = $result["AudioStream"]->getContents();
// $response 返回的是文件流,可以用 file_put_contents 存入文件
file_put_contents("text.mp3", $response);
} catch (PollyException $e) {
echo $e->getMessage() . "error";
}
//以上实例TextType使用的的是text方式,也可以使用ssml方式开启添加停顿强调词语等功能。
//下面是一段ssml格式的文本示例:
Hi! My name is Amy.
Welcome to the Amazon Polly demo.
Today is a really good day