Giter VIP home page Giter VIP logo

regina-robo's Introduction

What is it?

Project leverages ’Liepa’ engine to synthesize text to speech (in lithuanian).

Running project starts a ’Spring’ service that listens to API calls to schedule translation mechanism through ’Docker’. It creates endpoints for other mechanisms to hook into.

It uses ’Docker’ to launch linux environment to lauch the actual conversion mechanism.

Resources

How to run it?

To use the service you’ll need multiple dependencies.

  • Clone project
  • Download / install Java11 (Great open java builds)
  • Download / install Docker (Docker on desktop)
  • Download / ’Liepa’ synthesizer (Download link to Liepa)
    • You’ll need to extract it yourself, as we need only executables
  • Extract ’Liepa’ to {rootProject}/robo-docker-build/formatter
    • The formatter directory contains ’Liepa’ service. In other words files like {rootProject}/robo-docker-build/formatter/Liepa.exe; {rootProject}/.../formatter/LithUSStest.exe and so on
  • Build docker image
    • To build docker image go to {rootProject}/robo-docker-build and run build.sh

    • This will create and store an image

    • If you’ll run docker images you should see something similar

      ❯ docker images
      REPOSITORY        TAG       IMAGE ID       CREATED       SIZE
      markmerkk/wine1   latest    0fcfa2f211a3   5 weeks ago   1.02GB
      
  • Run service
    • Build the service with {rootProject}./gradlew build

    • Easiest way to run it, execute {rootProject}/robo-run.sh

    • Open IDE, import the project, run with additional properties

      -Dspring.profiles.active=dev -Dserver.port=8082 -DLOG_PATH=./logs -DtoolPath=./robo-docker-run -DoutPath=./tts_output -DdockerHost=localhost -DdockerPort=8082
      
  • Use API to run translation
    • When using CLI curl you could use

      curl -X POST http://localhost:8082/api/process-run --data '{"inputText": "Super", "extraEntityId": "id1", "extraTextId": "id2"}' -H "Content-Type: application/json"
      
    • Or import postman collection from the project (“{{HOST}}” variable is most likely ’http://localhost:8082’)

  • Translation results can be found in {rootProject}/tts_output/{random-uuid}/record.wav

How does it work (a bit in depth)

  • Launched service ’listens’ for direct API endpoint or messaging service (RabbitMQ built in) message to handle TTS process
  • When message comes
    • It prepares files for translation (copies files to their right locations)
    • It launches ’Docker’ image to begin processing
    • If the text is long enough, it breaks down and joins all audio files together for longer record
    • Cleans-up
    • Copies results to provided location

regina-robo's People

Contributors

marius-m avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.