繁体   English   中英

Java如何编写128 kpbs的wav文件

[英]Java how to write 128 kpbs wav file

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

.wav文件的kpbs根据我正在使用的语音改变,下面的代码。 我想用128 kpbs写每个音频文件。

由于我计划使用生成的.wav文件的程序,并且只支持128 kpbs,有没有办法写.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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM