⼩程序录⾳silk⽂件格式转换为MP3及PCM格式的⽅法
关于silk⽂件如何转码为MP3或PCM格式的⽅法
介绍:最近在做⼩程序的⼈⼯客服,需要⽤到百度AI语⾳识别,但是因为的录⾳⽂件格式为 .silk,但是百度AI识别的格式应该为PCM或者WAV格式的⽂件,需要进⾏⽂件格式转换。经过⼀番查和折腾,终于搞定了。特意发出来和⼤家分享下,具体⽅法如下。
步骤⼀: silk2mp3-full.rar,提取码:m22l,解压后按⽅法使⽤;
步骤⼆:在eclipse中创建JAVA项⽬,导⼊jar包: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=" /c C:\\silk_ "+silk+" "+pcm+" -quiet";
System.out.println("转码到");
try
{
StringBuilder msg = Output(cmd, Encoding.CHARSET_GBK);
System.out.println(msg);
}
catch (IOException e)
{
e.printStackTrace();
flag = false;
}
return flag;
}
/**
* 转码为MP3格式
* @param pcm
* @param mp3
* @param mp3
* @return
*/
public static boolean getMp3(String pcm,String mp3){
代码转换boolean flag = true;
String command = " /c C:\\ -y -f s16le -ar 24000 -ac 1 -i "+pcm+" "+mp3+" ";
System.out.println("转码到");
try {
StringBuilder sb = Output(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_进⾏解密后才可以被转换。不过这⾥⼩编还没有成功,⼤家成功了可以教⼀下我!!嘻嘻~~
以上就是关于⼩程序录⾳⽂件的格式转换为百度AI可以识别的格式的详细⽅法。有什么疑问可以留⾔哦!之后将会写⼀篇关于⼩程序调⽤百度AI进⾏语⾳识别的完整步骤的博⽂,点点关注哦!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。