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 ,可以使用 composer require aws/aws-sdk-php 来安装当前版本3.133。
require_once(__DIR__."/vendor/autoload.php");
use Aws\Polly\PollyClient;
use Aws\Exception\AwsException;
use Aws\Polly\Exception\PollyException;
//设置帐号配置信息
$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