JAVA运用百度智能云实现文字转语音

  1. 注册登录百度云百度智能云-登录

找到语音技术

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");
    }
}

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值