All Projects → ugjka → irc-tts

ugjka / irc-tts

Licence: MIT license
Broadcast your IRC channel via a text-to-speech webserver

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to irc-tts

Multistreamer
[discontinued] A webapp for publishing video to multiple streaming services at once.
Stars: ✭ 281 (+1907.14%)
Mutual labels:  irc, stream
Owasp Mth3l3m3nt Framework
OWASP Mth3l3m3nt Framework is a penetration testing aiding tool and exploitation framework. It fosters a principle of attack the web using the web as well as pentest on the go through its responsive interface.
Stars: ✭ 139 (+892.86%)
Mutual labels:  stream, webserver
live-torrent-backend
The backend server for the live-torrent project
Stars: ✭ 38 (+171.43%)
Mutual labels:  stream
fridgefm-radio-core
Simple lightweight package for creating your own radio station via NodeJS heavily inspired by Shoutcast and Icecast.
Stars: ✭ 32 (+128.57%)
Mutual labels:  stream
Sinsy-NG
(discontinued) 🎵The Formant-Based All Language Singing Voice Syntheis System: Sinsy-NG
Stars: ✭ 15 (+7.14%)
Mutual labels:  text-to-speech
pwsh-prelude
PowerShell “standard” library for supercharging your productivity. Provides a powerful cross-platform scripting environment enabling efficient analysis and sustainable science in myriad contexts.
Stars: ✭ 26 (+85.71%)
Mutual labels:  text-to-speech
rxjava2-http
Transmit RxJava2 Flowable over http with non-blocking backpressure
Stars: ✭ 19 (+35.71%)
Mutual labels:  stream
PyBorg
Fork of PyBorg AI bot for cutie578 on EFNet
Stars: ✭ 45 (+221.43%)
Mutual labels:  irc
django-boilerplate-3.6.1
Django served by Gunicorn running behind Nginx reverse proxy. Deploy to AWS Elastic Beanstalk with Fabric3!
Stars: ✭ 13 (-7.14%)
Mutual labels:  webserver
live-stream-media-source-extensions
Live stream h264 encoded mp4 video on media source extensions using ffmpeg, node.js, socket.io, and express. Works in chrome, firefox, safari, and android. Not iOS compatible. Work has moved to mse-live-player repo =>
Stars: ✭ 24 (+71.43%)
Mutual labels:  stream
energymech
EnergyMech IRC Bot
Stars: ✭ 24 (+71.43%)
Mutual labels:  irc
web-speech-demo
Learn how to build a simple text-to-speech voice app for the web using the Web Speech API.
Stars: ✭ 19 (+35.71%)
Mutual labels:  text-to-speech
natural
Fastest Framework for NodeJS. Written in pure ES6+
Stars: ✭ 30 (+114.29%)
Mutual labels:  webserver
twitchchat
interface to the irc portion of Twitch's chat
Stars: ✭ 80 (+471.43%)
Mutual labels:  irc
deep-action-detection
Multi-stream CNN architectures for action detection with actor-centric filtering
Stars: ✭ 24 (+71.43%)
Mutual labels:  stream
MemoBoard
Flask and React based intranet app where you can create and share lists (e.g. shopping list, todo, ...)
Stars: ✭ 35 (+150%)
Mutual labels:  webserver
WebListener
A simple, lightweight, PowerShell-based web server, designed for small, temporary projects.
Stars: ✭ 29 (+107.14%)
Mutual labels:  webserver
CloudBot
CloudBot - The simple, fast, expandable, open-source Python IRC Bot!
Stars: ✭ 57 (+307.14%)
Mutual labels:  irc
tts dataset maker
A gui to help make a text to speech dataset.
Stars: ✭ 20 (+42.86%)
Mutual labels:  text-to-speech
ircpdb
Remotely and collaboratively debug your Python application via an IRC channel.
Stars: ✭ 59 (+321.43%)
Mutual labels:  irc

IRC-TTS

Broadcast your IRC channel via the Text-To-Speech webserver.

Donate Go Report Card License: MIT

Usage

Prebuilt binaries are available under the releases page.

First you need the go/golang compiler to compile the code

Then you need to have the Festival text to speech server running for this to work. You also need sox built with mp3 support for transcoding the Festival's output.

Compile the code to the executabe binary with "go build" and run the irc-tts executable (see the program's flags below). Open up http://localhost:8338/ and press play.

Settings info (-h)

IRC-TTS'S USAGE:
*       *       *       *       *       *       *       *       *
FLAGS:
        -nick   (IRC nick to use)
        -chan   (IRC channel to connect to)
        -server (IRC server to use, defaults to Freenode)
        -port   (Webserver port, default: 8338)
        -debug  (Set to print raw IRC messages to stdout)
        -h      (Help)
*       *       *       *       *       *       *       *       *
ENV VARIABLES as an alternative to flags but with more options
        IRC_TTS_NICK                    (IRC nick to use)
        IRC_TTS_PASSWORD                (IRC user password)
        IRC_TTS_CHAN                    (IRC channel to connect to)
        IRC_TTS_IRC_SERVER              (IRC server to use, defaults to Freenode)
        IRC_TTS_IRC_PORT                (IRC server's port)
        IRC_TTS_TITLE                   (Set the <title> tag)
        IRC_TTS_DESC                    (Set the meta description, not visible to users)
        IRC_TTS_HEAD                    (The text of the main heading)
        IRC_TTS_BLURB                   (Short text about the thing)
        IRC_TTS_BACKGROUND              (A URL to an image that will be the background of the website)
        IRC_TTS_BACKGROUND_PATH         (An absolute path to the background image in the filesystem)
        IRC_TTS_BITRATE                 (mp3 bitrate in kilobits for streaming, default 32)
*       *       *       *       *       *       *       *       *
MORE INFO
        You need "festival", "festival_client", "sox" programs on your Whatever/Linux install.
        The sox-plugins-freeworld package might be needed for the mp3 support.
        In order to use the festival's text-to-speech function you need to run it as a server
        with "festival --server".
        Also don't forget to configure the voice you want to use in festival.
        You can customize the main.js and main.html files in the project folder but run "go generate"
        and rebuild the executable afterwards to set up the new code.
        The file expansions.txt file contains regex rules for emoticons and their translations
        and the acronyms.txt file contains translations of acronyms.
        Both can be edited to remove or add new rules, but as previously said,
        you need to run "go generate" and rebuild the binary afterwards.
*       *       *       *       *       *       *       *       *
SYSTEMD EXAMPLE
        [Unit]
        Description=irc tts service

        [Service]
        ExecStart=/path/to/irc-tts -port 8338
        User=youruser
        Environment="IRC_TTS_CHAN=#yourchannel"
        Environment="IRC_TTS_NICK=yournick"
        Environment="IRC_TTS_TITLE=your title tag"
        Environment="IRC_TTS_DESC=your meta tag description"
        Environment="IRC_TTS_HEAD=Your Heading!"
        Environment="IRC_TTS_BLURB=Listen to the chatter"
        Environment="IRC_TTS_BACKGROUND_PATH=/path/to/background.jpg"

        [Install]
        WantedBy=network-online.target
*       *       *       *       *       *       *       *       *
NGINX CONFIG EXAMPLE
        server {
                listen       80;
                server_name  irc.example.com;
                index /;
                access_log  /var/log/nginx/irc.example.com.access.log;
                tcp_nopush on;
                sendfile on;

                location / {
                        proxy_pass http://localhost:8338/;
                        proxy_http_version 1.1;
                }

                location /stream {
                        sendfile off;
                        max_ranges 0;
                        chunked_transfer_encoding off;
                        proxy_request_buffering off;
                        proxy_buffering off;
                        proxy_http_version 1.0;
                        proxy_pass http://localhost:8338/stream;
                }
                location /ws {
                        proxy_set_header Upgrade $http_upgrade;
                        proxy_set_header Connection "upgrade";
                        proxy_set_header Host $host;
                        proxy_http_version 1.1;
                        proxy_pass http://localhost:8338/ws;
                }
                location /listen.pls {
                        proxy_set_header X-SSL $https;
                        proxy_set_header Host $host;
                        proxy_pass http://localhost:8338/listen.pls;
                }
        }

Screenshot (links to the demo site of some channel)

screenshot of irc-tts

Caveats

I have absolutely ZERO clue if this can work on Windows or Mac operating system

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].