簡體   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