如何将mp3转换成wav(将mp3格式的音频转换为采样率8k的wav)

访客4年前黑客资讯351

如何将mp3转换成wav(将mp3格式的音频转换为采样率8k的wav)

需求

最近系统上需要增加一个功能,就是测试我们系统的ASR识别引擎,这就需要上传一段音频,然后我们返回识别后的文字,但是我们的识别引擎需要采样率16k,格式为wav的音频文件,但是我们又不能限定用户上传的录音格式,所以需要我们在后台转换一下格式,然后再去识别。

1、MP3转换wav

做这个功能时候, 发现网上的资料真的很少,所以,只能安全上网了,在外面找到了 *** 。

1.1 引入jar:

<dependency>
            <groupId>javazoom</groupId>
            <artifactId>jlayer</artifactId>
            <version>1.0.1</version>
      &nbsp百思特网; </dependency>

1.2 工具类代码:

public boolean toWav(String inputFilePath, String outputFilePath) {
 
        Converter aConverter = new Converter();        try {
            aConverter.convert(inputFilePath, outputFilePath);
        } catch (JavaLayerException e) {
            e.printStackTrace();         &n百思特网bsp;  return false;
        }        return true;
    }

1.3 测试类:

 public static void main(String args[]) {        String filePath = "C:\\data\\hellowordread.pcm";        String targetPath = "C:\\data\\111333.wav";
        toWav(filePath,targetPath);
    }

还是非常简单哦。

2、将wav转换为8k采样率

public void toStandardWav( String inputFilePath, String outputFilePath){        try {            byte[] bytes = Files.readAllBytes(new File(inputFilePath).toPath());
            WaveFileR百思特网eader reader = new WaveFileReader();
            AudioInputStream audioIn = reader.getAudioInputStream(new ByteArrayInputStream(bytes));
 
            AudioFormat srcFormat = audioIn.getFormat();            int targetSampleRate = 8000;
 
            AudioFormat dstFormat = new AudioFormat(srcFormat.getEncoding(),
                    targetSampleRate,
                    srcFormat.getSampleSizeInBits(),
                    srcFormat.getChannels(),
                    srcFormat.getFrameSize(),
                    srcFormat.getFrameRate(),
                    srcFormat.isBigEndian());
 
            System.out.println(audioIn.getFrameLength());
            AudioInputStream convertedIn = AudioSystem.getAudioInputStream(dstFormat, audioIn);
 
            File file = new File(outputFilePath);
            WaveFileWriter writer = new WaveFileWriter();
            writer.write(convertedIn, AudioFileFormat.Type.WAVE, file);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

总结

经过上面代码,我们就可以支持常用的音频格式进行ASR识别引擎的测试!

相关文章

网络黑客怎么进入他人手机微信,网络黑客能随便侵入微信吗

网络黑客怎么进入别人微信,网络黑客能随意入侵微信吗网络黑客能查出来微信记录吗怎么查微信聊天记录网络黑客微信加好友能窃取我物件吗盗取你物件的重要木马软件,谁发来的病毒性感染文本文档一旦你打开便会有很有可...

店家推彩色鸡蛋灌饼-彩色鸡蛋灌饼小孩能吃吗

鸡蛋灌饼是一道有名的豫菜小吃,将鸡蛋灌入饼皮里煎,煎好的鸡蛋灌饼,饼皮酥香,有蛋有菜,营养丰富。都说360行,行行出状米,这句话一点也没错。河南新乡的崔先生就因为鸡蛋灌饼走红了,不过可不是一般的鸡蛋灌...

新冠病毒防控指南来了!新冠病毒防控指南民众具体要怎么做

2月2日,国家卫健委发布了《新型冠状病毒防控指南(第一版)》,其中分别对老年人、儿童等特殊人员防控,以及幼儿园(或学校)、养老院防、办公场所、交通工具、公共场所居家隔离等特定场所防控做出了明确规定。...

24小时接单的黑客(黑客24小时在线接单服务)

  24小时接单的黑客   每个人都应该听说过。 我一直想写一篇有关该主题的文章,向您介绍什么是成长型黑客,成长型黑客的思维方式,成长型黑客的思维方式等。   1.我个人认为增长黑客是的升...

草寇在调料中的作用,可以当做香料供人们食用

草寇在调料中的作用,可以当做香料供人们食用

草寇在调料中的作用,可以当做香料供人们食用,草寇也叫假砂仁或者圭砂仁,它是多年生植物草寇的种子,多在每年8到11月之间采收采收以后晒干,可以当做香料,供人们食用。能起到提味增鲜和去除异味等多种功效...

黑客帝国时长多少(黑客帝国多少分钟)

黑客帝国时长多少(黑客帝国多少分钟)

本文导读目录: 1、《黑客帝国》3部连续看完要多少时间啊,给个稍微具体一点的时间,我好安排自己的时间 2、黑客帝国高清的每部有多大啊? 3、黑客帝国的三部,分别是多少分钟的电影? 4、黑客...