灵云人工智能论坛

 找回密码
 立即注册
搜索
查看: 3565|回复: 0

Http请求(接口,参数,截取音频噪音问题) [复制链接]

lyric 非 VIP 会员 

Rank: 5Rank: 5

最佳写手 特殊贡献 终极会员 智多星 小助手 新人进步(竖)

发表于 2017-6-4 20:11:18 |显示全部楼层

Http请求(接口,参数,截取音频噪音问题):

1.  如果网络连接失败,请检查接口地址,与sdk不同的是,http的是用8880端口,例如

2. 出现x-auth is not foundin headers!如下图,这是请求头中没有填写appkey。                              

3. 生成了token,文件长度,并且有success资源即为成功了

4. 特别注意 xTaskConfig有两个参数是必填的,中间用逗号隔开。例如:   

String xTaskConfig ="capkey=tts.cloud.wangjing,audioformat= pcm16k16bit ";

5.参数设置如下Sample Rate =48000  Channels =Mono,Resolution=16-bit

6. , 跑通返回success后仍有截取音频文件播放时都是噪音。音频文件必须是pcm格式文件(包括asr的http请求),返回的结果是xml加上文件字节的格式,需要转成pcm,截取方式比较容易出问题,有示例代码,比较多。

7.并有示例音频截取代码可供参考1公司的示例截取代码HttpPost.java 2. Asr,tts两个测试例的代码CallLyVoiceUtils.java。合成出来的声音没有标点,可以设置puncmode 参数。以下是比较重要的截取代码。

/**

          * 测试类

          *

          * @throws Exception

          */

         publicstatic void testTTS() throws Exception {

                   HttpClienthttpClient = new DefaultHttpClient();

                   httpClient.getParams().setParameter(

                                     CoreConnectionPNames.CONNECTION_TIMEOUT,6000);

                   httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,

                                     6000);

                   HttpPosthttpPost = new HttpPost(

                                     "http://test.api.hcicloud.com:8880/tts/SynthText");

                   StringdevKey = "28658726b84cbdf2baa430ca694b6eef"; // Developer KEY:

                   StringxAppKey = "e05d544d"; // 应用标识 必选,由捷通公司提供

                   StringxSdkVersion = "3.6";// sdk 版本号,使用http 接口时,可以指定为 3.6

                   StringxRequestDate = DateUtil.getCurTime();// 请求时间

                                                                                                                         //必选,每个任务的请求时间不能重复,2014-6-18

                                                                                                                         //10:10:11

                   StringxTaskConfig = "capkey=tts.cloud.wangjing,audioformat=pcm16k16bit"; //任务参数信息为name=value

                                                                                                                                                                                                    //形式,多个参数以逗号隔开。apkey

                                                                                                                                                                                                    //为必选

                                                                                                                                                                                                    //splitsentence

                                                                                                                                                                                                    //为可选,默认为yes

                   MD5Utilmd5 = new MD5Util(xRequestDate + devKey);

                   StringxSessionKey = md5.getMD5ofStr(); // 请求数据签名必选x-session-key

                                                                                                                //生成算法说明: x-session-key =md5

                                                                                                                //x-request-date + devkey

                   StringxUdid = "101:1234567890";// 设备标识必选,如使用设备取设备标识号,如不使用设备设置为例子中的默认值

                   StringxTid = "";// 保留字段保留字段,不用设置

                   StringxEid = "";// 保留字段保留字段,不用设置

                   httpPost.addHeader("x-app-key",xAppKey);

                   httpPost.addHeader("x-sdk-version",xSdkVersion);

                   httpPost.addHeader("x-request-date",xRequestDate);

                   httpPost.addHeader("x-task-config",xTaskConfig);

                   httpPost.addHeader("x-session-key",xSessionKey);

                   httpPost.addHeader("x-udid",xUdid);

                   httpPost.addHeader("x-tid",xTid);

                   httpPost.addHeader("x-eid",xEid);

                   StringEntityentity = new StringEntity("您好,欢迎使用智能咨询!", "UTF-8");// 解决中文乱码问题

                   entity.setContentEncoding("UTF-8");

                   FileOutputStreamout = null;

                   try{

                            httpPost.setEntity(entity);

                            HttpResponsehttpResponse = null;

                            httpResponse= httpClient.execute(httpPost);

                            HttpEntityhttpEntity = httpResponse.getEntity();

                            byte[]body = null;

                            if(httpEntity != nu


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
踩过的脚印

举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|任务|灵云 ( 京ICP证030095号 )

GMT+8, 2020-12-4 23:36 , Processed in 0.074815 second(s), 20 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部