techgaud / TTS

Text to speech plugin for RuneLite
BSD 2-Clause "Simplified" License
9 stars 6 forks source link

After a short time using text to speech, it just stops talking. #26

Closed jasonbrock closed 7 months ago

jasonbrock commented 1 year ago

This has been going on since the time that the plugin was removed for a few days from the plugin hub months ago. After using text to speech for 5mins-hour it just stops talking.

Runewiz commented 1 year ago

I have the same problem... would be nice to get this reliably working.

wanieru commented 1 year ago

I noticed the recently added "AltTool"-field in the plugin, and I can see from the source code that if it contains the text "Brian5" and the chosen voice is Susan, it uses a different function and source for the TTS, and this version doesn't have the issue of the TTS stopping working after a while (or the other issue I've been experiencing, with the game freezing before each line of dialogue). Unfortunately it currently always uses the same voice called "Brian".

LucyLikesYourFace commented 7 months ago

Experiencing this, it seems when this happens logs report the following

WARN  com.ttsplugin.main.TTSPlugin - Failed to play clip
javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 22050.0 Hz, 16 bit, mono, 2 bytes/frame, little-endian not supported.
    at java.desktop/com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(DirectAudioDevice.java:503)
    at java.desktop/com.sun.media.sound.DirectAudioDevice$DirectClip.implOpen(DirectAudioDevice.java:1310)
    at java.desktop/com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:119)
    at java.desktop/com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1080)
    at java.desktop/com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1182)
    at com.ttsplugin.main.TTSPlugin.play(TTSPlugin.java:319)
    at com.ttsplugin.main.TTSPlugin.lambda$startUp$2(TTSPlugin.java:102)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)
iProdigy commented 7 months ago

@LucyLikesYourFace you may be experiencing a different issue - does any TTS audio play for you? if not, can you describe your audio setup (e.g., operating system, audio hardware)