gpt4 book ai didi

Java如何编写128kbps的wav文件

转载 作者:搜寻专家 更新时间:2023-11-01 02:04:01 26 4
gpt4 key购买 nike

我正在使用 marytts 创建 .wav 文件。

.wav 文件的 kpbs 根据语音变化,我使用下面的代码。我想以 128 kpbs 的格式编写每个音频文件。

由于程序我打算使用生成的.wav文件并且只支持128kpbs,有没有办法让.wav文件总是128kpbs?

这是我的代码:

AudioInputStream audio = marytts.generateAudio(text); //generate audio from text
AudioSystem.write(audio, AudioFileFormat.Type.WAVE, new File("F:\\temp\\" + filename + ".wav"));//save audio as .wav to the static location with filename
return true;//function completed so return true

最佳答案

我设法找到了问题的答案。

也许以后有人也会问同样的问题,所以我给出我的解决方案。

在我想要我的wav的类下我写了这些全局变量

static AudioFormat.Encoding defaultEncoding = AudioFormat.Encoding.PCM_SIGNED;
static float fDefaultSampleRate = 8000;
static int nDefaultSampleSizeInBits = 16;
static int nDefaultChannels = 1;
static int frameSize = 2;
static float frameRate= 8000;
static boolean bDefaultBigEndian = false;

然后像这样更改了我的代码。

我根据需要创建了一种格式,从文本生成音频,以我的格式更改音频并编写它。

AudioFormat defaultFormat = new AudioFormat(defaultEncoding,fDefaultSampleRate,nDefaultSampleSizeInBits,nDefaultChannels,frameSize,frameRate,bDefaultBigEndian);
AudioInputStream GeneratedAudio = marytts.generateAudio(text); //generate audio from text
AudioInputStream audio = AudioSystem.getAudioInputStream(defaultFormat, GeneratedAudio);
AudioSystem.write(audio, AudioFileFormat.Type.WAVE, new File("F:\\temp\\" + filename + ".wav"));//save audio as .wav to the static location with filename
return true;//function completed so return true

关于Java如何编写128kbps的wav文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38872931/

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