1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php silk文件转换pcm 微信小程序录音silk文件格式转换为MP3及PCM格式的方法

php silk文件转换pcm 微信小程序录音silk文件格式转换为MP3及PCM格式的方法

时间:2019-10-20 05:03:38

相关推荐

php silk文件转换pcm 微信小程序录音silk文件格式转换为MP3及PCM格式的方法

关于silk文件如何转码为MP3或PCM格式的方法

介绍:最近在做微信小程序的人工客服,需要用到百度AI语音识别,但是因为微信的录音文件格式为 .silk,但是百度AI识别的格式应该为PCM或者WAV格式的文件,需要进行文件格式转换。经过一番查找和折腾,终于搞定了。特意发出来和大家分享下,具体方法如下。

步骤一:下载格式转换工具 silk2mp3-full.rar,提取码:m22l,解压后按ReadMe.txt方法使用;

步骤二:在eclipse中创建JAVA项目,导入jar包:nutz-1.r.66.jar;因为要操作cmd去执行命令进行转换,所以要导入该Jar包;

步骤三:新建DeCoder类,复制此代码,修改路径,进行转换;

import java.io.IOException;

import org.nutz.lang.Encoding;

import org.nutz.lang.Lang;

public class DeCoder {

public static void main(String[] args){

// silk格式的文件所在路径,要写绝对路径

String skil = "D:\\test.silk";

//转换为PCM文件后存放文件的绝对路径

String pcm = "D:\\test.pcm";

// 转换为MP3文件后存放文件的绝对路径

String mp3 = "D:\\test.mp3";

// 将silk文件转换为PCM文件

boolean b = getPcm(skil,pcm);

System.out.println(b);

// 将PCM文件转换为MP3文件

if (b)

getMp3(pcm,mp3);

}

/**

* 转换为为pcm格式

* @param silk

* @param pcm

* @return

*/

public static boolean getPcm(String silk,String pcm){

boolean flag = true;

String cmd="cmd.exe /c C:\\silk_v3_decoder.exe "+silk+" "+pcm+" -quiet";

System.out.println("转码到pcm...");

try

{

StringBuilder msg = Lang.execOutput(cmd, Encoding.CHARSET_GBK);

System.out.println(msg);

}

catch (IOException e)

{

e.printStackTrace();

flag = false;

}

return flag;

}

/**

* 转码为MP3格式

* @param pcm

* @param mp3

* @return

*/

public static boolean getMp3(String pcm,String mp3){

boolean flag = true;

String command = "cmd.exe /c C:\\ffmpeg.exe -y -f s16le -ar 24000 -ac 1 -i "+pcm+" "+mp3+" ";

System.out.println("转码到mp3...");

try {

StringBuilder sb = Lang.execOutput(command, Encoding.CHARSET_GBK);

System.out.println(sb);

} catch (IOException e) {

e.printStackTrace();

flag = false;

}

return flag;

}

}

注意:

此 silk 文件必须是真机调试后所上传的 silk 文件,不能是微信开发者工具所录的 silk 文件;因为微信开发者工具所录音的文件是经过 base64 加密过的(可以用sublime打开该文件,以“data:audio/webm;base64,”开头说明是经过加密的),这样的文件不能被直接转码,需要使用silk_v3_encoder.exe进行解密后才可以被转换。不过这里小编还没有成功,大家成功了可以教一下我!!嘻嘻~~

以上就是关于微信小程序录音文件的格式转换为百度AI可以识别的格式的详细方法。有什么疑问可以留言哦!之后将会写一篇关于微信小程序调用百度AI进行语音识别的完整步骤的博文,点点关注哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。