tbetool/aws-polly

此包最新版本(1.0.1)没有提供许可证信息。

基于亚马逊 AWS Polly。文本转语音序列化器

1.0.1 2020-05-05 07:13 UTC

This package is auto-updated.

Last update: 2024-09-05 16:44:47 UTC


README

将书面文本转换为多种语言和声音的自然发音音频。
此包使用 AWS Polly 服务。

使用库

安装

使用 composer 在 PHP 项目中安装库

composer require tbetool/aws-polly

使用库

安装库后,创建 WatsonTts 对象

$polly = new AwsPolly(
    'aws_key', 
    'aws_secret', 
    'aws_region'
);

可以在 AWS 控制台中创建 IAM 用户来获取 AWS key, secret。更多详情请参考 为 Polly 创建 IAM

设置输出路径

设置保存输出的目录的绝对路径。您不需要提供文件名,因为它将自动生成。

$path = '/aboslute/path/to/directory';

$polly->setOutputPath($path);

注意:您也可以通过 textToVoice() 方法传递输出路径,这将覆盖此路径

文本转语音

传递要转换成语音的文本。

$file = $polly->textToVoice(
    'Hello World',
    $param
);

$params 应该是数组,可以包含以下内容。

$param = [
    'language' => 'en-US',
    'voice' => 'Justin',
    'output_path' => '/absolute/file/path'
]

如果文本转语音转换成功,这将返回创建的文件的绝对路径,否则将抛出异常。

异常处理

每个函数在出现任何错误/问题时都会抛出异常。将代码块绑定在 try-catch 块中,以捕获发生的任何异常。

try {
    $polly->textToVoice('Hello world');
} catch (Exception $exception) {
    echo $exception->getMessage();
}

其他可调用方法

获取支持的语言
$polly->getLanguages();

默认: en-US

获取支持的声音
$polly->getVoices();

默认: Ivy

支持的语言和声音列表

支持的语言和声音字符串列表

https://docs.aws.amazon.com/polly/latest/dg/voicelist.html

错误报告

如果您发现任何错误,请创建一个 问题

支持和贡献

有什么遗漏吗?

  • Fork 仓库
  • 做出您的贡献
  • 提交一个 pull request