CentOS で mbrola voice (us1) を使用しています。オーディオをwavファイルとして保存しようとしています。しかし、行 (下の太字) - voice.speak() で、例外 ProcessException "No audio data read" がスローされます。Windows 環境で実行したり、Kevin16 voice を使用して Linux で実行したりしても問題なく動作します。なぜ voice.speak() コマンドが mbrola の声に対してこのように動作するのかをグーグルで調べてみましたが、何も見つかりませんでした。以下はコードですが、手がかりはありますか?
public static void createAudioFile(String text, String fileName) {
AudioPlayer audioPlayer = null;
System.setProperty("mbrola.base", Constants.mbrolaDiskPath);
Voice voice;
VoiceManager vm = VoiceManager.getInstance();
voice = vm.getVoice("mbrola_us1");
//voice = vm.getVoice("kevin16");
voice.allocate();
try{
String directoryPath = audioDir+fileName;
audioPlayer = new SingleFileAudioPlayer(directoryPath,Type.WAVE);
voice.setAudioPlayer(audioPlayer);
**voice.speak(text);**
voice.deallocate();
audioPlayer.close();
}
catch(Exception e){
e.printStackTrace();
}
}