Giter Club home page Giter Club logo

eow's Introduction

Espeakng On Web

1. Goals

EoW is a website for colloboratively developing langauges for eSpeakNG. EoW will let user play with dict and phoneme settings for a language, and listen to generated audio in real time. User will also be able to share the changes for otheres to approve, and generated changes to eSpeakNG's source

The site should be completely screen reader accesible.

2. Specs

Create a website which allows:

  • Paste Arbitrary text and listen to generated audio
  • Show dict & phoneme break up of provieded text
  • Allow to change dict / phoneme and hear audio
  • Create/Share link with text, dict changes, and phoneme changes.
  • Download espeakng data files diff for all the changes

In first version, the emscripten interface will not be used. The server will compile language files and generate audio.

Initially the site will be built with plan html, rather than SPA+REST. This will be revisited later.

3. Info. Arch

The information to be entered by user is

  • Espeak version to be used
  • Text to be played out
  • language / variant to be used
  • changes to phoneems
  • changes to dict - rules
  • changes to dict - list

Information to be displayed to user is

  • phonemes of the text
  • the dict rules/list
  • the inbuild phone/dict/rules

The server will need to parse and send the list of phonemes, dict-rules, and dict-list to page so that it can be displayed to user.

All of these should sit behind a url, which can be shared.

4. Interaction Design

There will be single screen, with all the input/edit fields. and buttons 'Generate' and 'Play'. Generate will save the values in server db

5. Layouts

Nothing special, just series of controls, grouped by functionality.

6. Visual Design

captured in frontend/index.html

7. URLs, payloads

The randomly generated slug as query string: http://.../q=slug 'Generate' will always submit the full form, and return a new html page, with path of wave file embededed.

8. Frontend Design

No fancy, just HTML, constructed at server.

9. Frontend Impl

golang html/template, embedded in main.go for now.

10. Server Design

11. Server Impl

golang, single file for now

12. Deployment

Estimate: 100 MB per espeak vesion 20 MB per url ( data compiled, wave file )

10 GB Space can support 5 espeak version and 500 urls.

Cheap 1$ VPS, with 20 GB Space should be sufficient for now.

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.