Text to Speech and Speech to Text (JSAPI2) engines for Java
| Type | Description | Sythesizer | Recognizer | Quality | Comment |
|---|---|---|---|---|---|
| AquesTalk10 | AquesTalk, JNA | β | - | π | γγ£γγ |
| Google Cloud Text To Speech | Google Cloud Text To Speech, Library | β | π§ | π | |
| Cocoa | Rococoa, JNA | β | π« | π | |
| Open JTalk | jtalkdll, JNA | β | - | π© | |
| VoiceVox | VOICEVOX, REST | β | - | π | γγγ γγ |
| CoeiroInk | CoeiroInk, REST | β | - | π | γ€γγγΏγ‘γγ |
| Gyutan (Open JTalk in Java) | Gyutan, Library | β | - | π© | |
| AivisSpeech | Aivis Project, REST | β | - | π | |
| Google AI Studio | Google Gemini API, Library | β | - | π | |
| Qwen3-TTS | Openai API, Library | β | - | π‘ | voice cloning! |
- place
AquesTalk10.frameworkinto~/Library/Frameworks - create symbolic link
AquesTalk10.framework/AquesTalkasAquesTalk10.framework/AquesTalk10 - write
aquesTalk10DevKeyintolocal.properties
- get token as json
- set system property
"vavi.speech.googlecloud.credential"your_json_path
- make
libjtalk.dylibfrom https://github.com/rosmarinus/jtalkdll - locate
libjtalk.dylibinto java classpath orjna.library.pathsystem property
- download the application
- run the application before using this library
- download the application
- run the application before using this library
- download the application
- run the application before using this library
- get api key
- set environment variable
"GOOGLE_API_KEY"the api key
- install https://github.com/umjammer/Qwen3-TTS-Openai-Fastapi (anything is ok as long as it's openai-compatible api)
- run the server before using this library, don't forget to adjust port no.
- default url is
http://localhost:50090. this is modifiable by the system propertyvavi.speech.qwen3tts.url
vavi.speech.voicevox.url... the VOICEVOX api server url, default ishttp://localhost:50021.vavi.speech.coeiroink.url... the COEIROINK api server url, default ishttp://localhost:50032.vavi.speech.aivis.url... the AivisSpeech api server url, default ishttp://localhost:10101.vavi.speech.qwen3tts.url... the Qwen3-TTS api server url, default ishttp://localhost:50090.
vavi.speech.qwen3tts.clone... use clone voice or not, default isfalse.vavi.speech.qwen3tts.refAudio... when using clone voice, set reference audio file path. (only wav file is tested)vavi.speech.qwen3tts.refText... when using clone voice, set reference text. (transcription of the audio above)
- jsr113
- vavi patched (volume enabled)
speech.properties- engine
- watson
open jtalk- festival
- amazon polly
- microsoft cognitive services text to speech
https://github.com/julius-speech/julius-> GyutanVoiceVoxsearch γ¬γγ·γ« voice and parameter(wip)- vavi.speech.voicevox.VoiceVoxTest#test5
- RekishikaTest
- https://github.com/espeak-ng/espeak-ng
- https://github.com/festvox/flite
- text analytics + nicotalk character emotion (nicotalk branch)
- VoiceVox editor compatible
CoeiroInk...api doesn't workapi is different from VoiceVox?yes- LMROID
- SHAREVOX
- http://itvoice.starfree.jp/
AVSpeechSynthesizer needs obj-c blockrcp client/server (wip)-> vavi-speech-rpc[googlecloud] setting by system property instead of env
images by ιε€’, ιηζ², γγγ γγ