
Phenaki API 价格:探索最新技术与市场趋势
Amazon Polly 是 AWS 提供的一项强大的文本到语音(Text-to-Speech,TTS)服务,通过 API 可以轻松在应用程序中添加语音功能。本文将详细介绍如何用 Java 调用 Amazon Polly API,包括配置、使用、常见策略以及最佳实践。
Amazon Polly 是一种将文本转化为自然语音的服务,支持多种语言和语音引擎。它可以为应用程序、网站或其他项目添加语音输出能力,从而提升用户体验和可访问性。
在 Java 项目中使用 Amazon Polly,需要先完成 AWS SDK 的集成和 API 的基本配置。
在 pom.xml
文件中添加 AWS SDK 依赖:
software.amazon.awssdk
polly
2.20.0
software.amazon.awssdk
auth
2.20.0
将以下代码保存为 credentials
文件,并放置在用户目录下的 .aws
文件夹中:
[default]
aws_access_key_id=你的访问密钥
aws_secret_access_key=你的秘密密钥
以下是一个完整的示例代码,用于将字符串转换为语音并保存为 MP3 文件。
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.polly.PollyClient;
import software.amazon.awssdk.services.polly.model.*;
import software.amazon.awssdk.core.sync.RequestBody;
import java.io.FileOutputStream;
import java.io.IOException;
public class PollyDemo {
public static void main(String[] args) {
// 初始化 Polly 客户端
PollyClient pollyClient = PollyClient.builder()
.region(Region.US_EAST_1) // 替换为你的 AWS 区域
.credentialsProvider(ProfileCredentialsProvider.create())
.build();
// 定义输入文本
String text = "你好,欢迎使用 Amazon Polly 文本到语音服务。";
try {
// 调用 Polly 合成语音
SynthesizeSpeechRequest synthesizeSpeechRequest = SynthesizeSpeechRequest.builder()
.text(text)
.voiceId("Zhiyu") // 使用中文语音
.outputFormat(OutputFormat.MP3)
.build();
SynthesizeSpeechResponse synthesizeSpeechResponse = pollyClient.synthesizeSpeech(synthesizeSpeechRequest);
// 保存音频文件
FileOutputStream outputStream = new FileOutputStream("output.mp3");
outputStream.write(synthesizeSpeechResponse.audioStream().readAllBytes());
outputStream.close();
System.out.println("语音合成成功,文件已保存为 output.mp3");
} catch (IOException e) {
e.printStackTrace();
} finally {
pollyClient.close();
}
}
}
运行代码后,会在项目目录下生成一个 output.mp3
文件,播放该文件即可听到合成的语音。
SSML(语音合成标记语言)可以用来控制语音的停顿、语速、语调等。
String ssmlText = "欢迎使用 Amazon Polly 服务。";
SynthesizeSpeechRequest request = SynthesizeSpeechRequest.builder()
.text(ssmlText)
.textType(TextType.SSML)
.voiceId("Zhiyu")
.outputFormat(OutputFormat.MP3)
.build();
使用 Polly 时,可以指定多种语言和语音,例如:
完整语音列表请参考官方文档:Polly 声音列表
原因:未正确配置凭证。
解决办法:检查 credentials
文件路径和内容是否正确。
原因:指定了错误的 VoiceId。
解决办法:参考官方文档获取支持的语音列表,并确保正确拼写。
原因:文件路径无权限或文件流未正确关闭。
解决办法:确保路径可写,并在代码中正确关闭流。
问:如何选择合适的语音引擎?
问:支持哪些语言?
问:如何优化语音合成效果?
问:调用 Polly API 是否收费?
问:可以将生成的音频用于商业用途吗?
通过本文的介绍,您应该已经掌握了如何用 Java 调用 Amazon Polly API,并了解了一些高级功能和最佳实践。希望这些内容能帮助您更好地将文本到语音功能集成到您的应用中。