Java处理音频文件wav转mp3/mp3转wav
·
动机
最近,在使用opensmile提取音频的一些特征,需要使用到wav文件,而自身文件是mp3格式的,因此需要对大量的音频文件做处理。
Java处理
首先,使用maven下载相关的依赖jar包:
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-core</artifactId>
<version>2.4.6</version>
</dependency>
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-native-win64</artifactId>
<version>2.4.6</version>
</dependency>
对应的java程序如下:
package com.qian.processing;
import java.io.File;
import java.io.IOException;
import ws.schild.jave.AudioAttributes;
import ws.schild.jave.Encoder;
import ws.schild.jave.EncoderException;
import ws.schild.jave.EncodingAttributes;
import ws.schild.jave.InputFormatException;
import ws.schild.jave.MultimediaObject;
public class Test {
public static void main(String[] args) throws IOException, IllegalArgumentException, InputFormatException, EncoderException {
File source = new File("data/test.mp3");
File target = new File("data/b.wav");
trans(source,target);
}
public static void trans(File source, File target) throws IllegalArgumentException, InputFormatException, EncoderException {
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(new Integer(16000));
audio.setChannels(new Integer(2));
audio.setSamplingRate(new Integer(0));
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("wav");
attrs.setAudioAttributes(audio);
Encoder encoder = new Encoder();
MultimediaObject sourceObj = new MultimediaObject(source);
encoder.encode(sourceObj, target, attrs);
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)