Giter Club home page Giter Club logo

mortts's Introduction

MorTTS

Ever play Unholy Trinity and wish you could have that "MORTIS" style TTS in your twitch chat? This is what you need! It takes Discordier's SamJs (Software Automatic Mouth), a JS port of the C64 voice synth and the same package used to generate the voices in the Unholy Trinity games - and Twurple for Twitch integration, and smashes them together. Data is sent via Socket-IO Socket Server, and rendered in an html page rendered via ejs template through Express.

Setup:

  1. Rename botconfig_TEMPLATE.json to botconfig.json
  2. Edit botconfig.json with your info:
    • Username: username of the puppet account
    • serverAddress: the IP or URL of your webserver (http and socket use the same address & port)
    • serverPort: the port for your server (http and socket use the same address & port)
    • channels: Array of the channels that your bot will listen in on
    • client_id: The ClientID for your puppet account*
    • client_secret: The Client Secret for your puppet account*
    • access_token: The Access Token for your puppet account*
    • refresh_token: The Refresh Token for your puppet account*
  1. Run npm install to grab the packages yo uneed
  2. Initiate script via `node mortts-server.js
  3. Point a browser source to the same IP address and Port. You may need to "Interact" with this layer to allow the sound to work
  4. Kill the script with ctrl+c

The bot is triggered in-chat with !mortis or !mortts or a few other things you'll see if you dig into the server code a bit ;)

*Note: This has only been tested locally on a Linux computer. YMMV

NOTE: You may need to click on the webpage after it loads for the audio to play. From what I understand, it's a rule put in place by browsers to prevent rogue pages from making noises.

mortts's People

Contributors

abraxas86 avatar

Stargazers

Thomas Rhoads avatar

Watchers

 avatar

mortts's Issues

Looking for suggestions on how to better handle the config

I don't like that the config data is being handled the way that it is. I'm sure this isn't the correct way to do it, but I have no idea how to properly encrypt and secure this code.

I am personally running it locally and have tried a few things in the chat to get it to expose the sensitive info - so far I haven't done it successfully. That said, if this were being hosted remotely it certainly opens the potential for a world of security headaches...

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.