Question

I'm trying to deploy a java web app which uses FreeTTS to generate mp3s.

As per the directions on the project website, I've copied across a whole load of libraries. When it didn't work, I tried others and played around with the directory each was in, to the point where I now have all the libs in both the tts directory and the tts/lib directory:

  1. cmudict04.jar
  2. cmulex.jar
  3. cmu_time_awb.jar
  4. cmutimelex.jar
  5. cmu_us_kal.jar
  6. en_us.jar
  7. freetts.jar
  8. lame_enc.dll
  9. lametritonus.dll
  10. liblametritonus.so
  11. libmp3lame.so
  12. libPCM2MP3Linux.so
  13. litebody-tts.jar
  14. PCM2MP3.dll
  15. tritonus_mp3-0.3.6.jar
  16. tritonus_share-0.3.6.jar

However, when I make a request, I still get the following error:

java.lang.IllegalArgumentException: Unsupported conversion: MPEG1L3 from PCM_SIGNED 16000.0 Hz, 16 bit, mono, 2 bytes/frame, big-endian
        at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:876)
        at ServerType.FreeTTS.Mp3FileAudioPlayer.close(Unknown Source)
        at ServerType.FreeTTS.FreeTTS.speak(Unknown Source)
        at ServerType.FreeTTS.FreeTTS.processInput(Unknown Source)
        at server.TTSThread.run(Unknown Source)

It's my understanding that this is to do with the conversion between a .wav (PCM_SIGNED) and an MP3 (MPEG1L3).

What other libraries do I need? Which of these are doing nothing for me? Is there something I'm missing here?

Was it helpful?

Solution

The problem, it seems, it that Tritonus will only run on 32 bit versions of Java.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top