This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
Just curl http://localhost/swagger, it'll download a swagger.yaml file.
Input as follows with HTTP header Content-Type: application/json
{
"text": <string>,
"isMale": <boolean>
}Output will be the URL of the generated mp3 file.
Just curl to http://localhost:80/speak/<someCode>, it'll try to return an octet stream
if it happens to have a file corresponding to that code.
An oneliner that immediately plays the generated speech (assuming you have mpv installed).
curl \
-H 'Content-Type: application/json'\
-X POST http://localhost/speak \
--data-raw '{"text": "Ciao", "isMale": false}' \
| xargs mpvRun this command in the repository root
git config --local core.hooksPath suggested_hooksThere is already an application.properties shipped in the classpath, but it can be overwritten
by creating a config/application.properties file into the working directory in which you wish to run the application.
For more info, check this link.
You can run your application in dev mode that enables live coding using:
./mvnw compile quarkus:devNOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
The application can be packaged using:
./mvnw packageIt produces the quarkus-run.jar file in the target/quarkus-app/ directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/ directory.
If you want to build an über-jar, execute the following command:
./mvnw package -Dquarkus.package.type=uber-jarThe application is now runnable using java -jar target/quarkus-app/quarkus-run.jar.
In the repository root, run
./generate-replicas-local-deploy.shIt:
- generates
replicas-local-deploy/Dockerfilethat is used to build thedockerized application - generates
docker-compose.ymlin order to run the load-balanced replicas undernginx - copies
config/application.properties.exampleintoconfig/application.propertiesif this one is not present yet - creates
replicas-local-deploy/store-cachedirectory that is used to store the shared volume of the replicas - builds the code into a nativeapp
- builds the image using the generated
Dockerfile
In order to run the replicas:
docker-compose up --scale tts-service=5runs the replicas in "interactive mode"docker-compose up --detach --scale tts-service=5runs the replicas in "background mode"
In order to stop the replicas:
docker-compose downif running the "background mode"CTRL+Cif running the "interactive mode"
You can create a native executable using:
./mvnw package -PnativeOr, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Pnative -Dquarkus.native.container-build=trueYou can then execute your native executable with: ./target/tts-rest-wrapper-0.0.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.html.
- Kotlin (guide): Write your services in Kotlin
Easily start your RESTful Web Services