- 注册登录百度云百度智能云-登录
找到语音技术
2. 根据自己的需求创建一个应用
可以免费申请的资源
3. 引入百度的jar包
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>4.8.0</version>
</dependency>
4. 配置token 就是刚刚创建的应用
voice:
appid: 2
apikey: **********
secretkey: ****************
5. 实现代码
@Component
public class Sample {
//设置APPID/AK/SK
@Value("${voice.appid}")
public String APP_ID;
@Value("${voice.apikey}")
public String API_KEY ;
@Value("${voice.secretkey}")
public String SECRET_KEY;
public void synthesis(String text,String filePath) {
// 初始化一个AipSpeec
AipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);
// 可选:设置网络连接参数
client.setConnectionTimeoutInMillis(2000);
client.setSocketTimeoutInMillis(60000);
// 可选:设置代理服务器地址, http和socket二选一,或者均不设置
// client.setHttpProxy("proxy_host", proxy_port); // 设置http代理
// client.setSocketProxy("proxy_host", proxy_port); // 设置socket代理
// 设置可选参数
HashMap<String, Object> options = new HashMap<String, Object>();
// 语速,取值0-15,默认为5中语速
options.put("spd", 4);
// 音调,取值0-15,默认为5中语调
options.put("pit", 4);
// 音量,取值0-15,默认为5中音量
options.put("vol", 4);
// 发音人选择, 基础音库:0为女声,1为男声,3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
options.put("per", "1");
// 下载的文件格式, 3:mp3(default) 4: pcm-16k 5: pcm-8k 6. wav
options.put("aue", "6");
TtsResponse res = client.synthesis(text, "zh", 1, options);
System.out.println("返回信息:"+res.getResult());//服务器返回的内容,合成成功时为null,失败时包含error_no等信息
if(null == res.getResult()){
byte[] data = res.getData();//生成的音频数据
if (data != null) {
try {
Util.writeBytesToFileSystem(data, filePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class testbaidu {
@Resource
private Sample sample;
@Test
public void test() throws Exception {
String content = "后来 我总算学会了 如何去爱 可惜你 早已远去消失在人海后来终于在眼泪中明白有些人一旦错过就不再" +
"栀子花白花瓣落在我蓝色百褶裙上爱你你轻声说 我低下头 闻见一阵芬芳 那个永恒的夜晚十七岁仲夏 你吻我的那个夜晚让我往后的时光每当有感叹" +
"总想起 当天的星光 那时候的爱情为什么就能那样简单 而又是为什么 人年少时一定要让深爱的人受伤" +
"在这相似的深夜里 你是否一样也在静静追悔感伤 如果当时我们能不那么倔强 现在也 不那么遗憾你都如何回忆" +
"我带着笑或是很沉默这些年来有没有人能让你不寂寞后来我总算学会了如何去爱可惜你早已远去消失在人海" +
"后来 终于在眼泪中明白 有些人 一旦错过就不再 你都如何回忆我带着笑或是很沉默这些年来有没有人能让你" +
"不寂寞后来我总算学会了 如何去爱 可惜你 早已远去 消失在人海后来 终于在眼泪中明白有些人一旦错过就不再" +
"后来我总算学会了 如何去爱 可惜你 早已远去 消失在人海后来 终于在眼泪中明白 有些人 一旦错过就不再永远不会再重来 有一个男孩 爱着那个女孩";
//这里保存文件必须是pcm结尾
sample.synthesis(content, "D:\\Users\\59642\\Desktop\\testyy\\test1.mp3");
}
}