gpt4 book ai didi

java - 我需要将音频文件从 μ-law 转换为 PCM

转载 作者:行者123 更新时间:2023-11-30 06:37:34 27 4
gpt4 key购买 nike

我需要将 wav 文件从 FORMAT 1 转换为 FORMAT 2

格式 1:μ-law,8000Hz,64 kbps,单声道

格式 2:容器WAV编码PCM评分 16K样本格式 16 位 channel 单声道

以下是代码片段:

File file = new File("audio_before_conversion.wav");
AudioFormat audioFormat = new AudioFormat(16000, 16, 1, true , true);
AudioInputStream audioInputStream1 = new AudioInputStream(
new FileInputStream(file), audioFormat, numFrames);
AudioSystem.write(audioInputStream1, Type.WAVE,
new File("audio_after_conversion.wav"));

问题:但是,这不起作用。它会播放一些噪音并减少我的音频文件长度。

编辑 1:mu-Law 到 μ-law

最佳答案

以下代码对我有用--

File sourceFile = new File("<Source_Path>.wav");

File targetFile = new File("<Destination_Path>.wav");

AudioInputStream sourceAudioInputStream = AudioSystem.getAudioInputStream(sourceFile);


AudioInputStream targetAudioInputStream=AudioSystem.getAudioInputStream(AudioFormat.Encoding.PCM_SIGNED, sourceAudioInputStream);
System.out.println("Sample Rate1 "+targetAudioInputStream.getFormat().getFrameRate());
AudioFormat targetFormat = new AudioFormat(new AudioFormat.Encoding("PCM_SIGNED"), 16000, 16, 1, 2, 8000, false);



AudioInputStream targetAudioInputStream1 = AudioSystem.getAudioInputStream(targetFormat, targetAudioInputStream);
System.out.println("Sample Rate "+targetAudioInputStream1.getFormat().getFrameRate());

try {
AudioSystem.write(targetAudioInputStream1, AudioFileFormat.Type.WAVE, targetFile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

关于java - 我需要将音频文件从 μ-law 转换为 PCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44954593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com