Giter VIP home page Giter VIP logo

shruti's Introduction

shruti

listen to all those updates using Ivona TTS

This is a work-in-progress. In PRE PRE PRE ALPHA stage. A lot of things are expected to be changed.

How it works

  • shruti is a simple server that keeps listening for new TTS requests
  • various other programs do the labour. Fetch updates, scrape, consume api or whatever. Then they push their notifications to shruti
  • shruti will get the TTS part done using Ivona and push it to its queue.
  • After specified interval, shruti will make sure to read out those notifications
  • one after another

Why

  • I am bored of reading everything myself. I would love if someone does the job for me
  • Something that will check
    • twitter. My timeline and few accounts I like to keep up with
    • HN, few reddit channels
    • some headlines from bbc
    • some important server statuses
    • build server status updates if important
    • New email upon arrival. From and Subject
    • Share market updates. Few important share values I care about
    • any any other sites I can think of
  • ... and read out loud every 15-30 minutes.
  • Hence (:

About name

  • The shruti is a Sanskrit term, which in the context of Indian music, is considered the smallest interval of pitch that the human ear can detect
  • Shruti - wiki
  • besides, its a girl's name, suits the voice and sounds catchy enough

How to write a provider

  • Use any language, do whatever to get the text
  • Send an HTTP request to shruti server at http://host:port/push/
    • parameters required:
      • text : string : text to be spoken
      • voice : string : ivona voice [not implemented yet]
      • provider : string : provider name for reference
      • keepfile : boolean : yes/no to keep file [not implemented yet]

How to set up

  • sign up for beta account on ivona.com
  • generate credentials
  • install ffmpeg. We need ffplay binary
  • get the shruti server binary, make sure to keep it up and running
  • make sure to export environment variables SHRUTI_ACCESSKEY and SHRUTI_SECRETKEY
  • run your providers however you want
  • You could use supervisor or upstart on Ubuntu.

Goal

  • Build an open source SaaS that anyone can deploy for themselves, use it personally

  • Do not go after building J.A.R.V.I.S. There is already a project for that jasper

  • TODO:

    • Convert this hack into a nice future proof API, make it configurable easily
    • Support multiple audio player backends to make it usable on Windows and Mac
    • Add providers
    • Add actions, Mute, Unmute, Force speak
    • Build configuration, status pages
    • Make use of different voices for different providers
    • Add support for noticing special tags probably. Add extra text to such texts to make it more natural

Contributions, thoughts are welcome :)

License MIT

shruti's People

Contributors

tushar-dadlani avatar omie avatar

Watchers

James Cloos 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.