Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A self contained python-based server that allows remote usage of OS X's text-to-speech abilities.
Python Shell
branch: master

This branch is 33 commits ahead, 2 commits behind dz:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
README.rst
bootstrap.sh
finder.py
voices.py

README.rst

voices.py

What is it?

voices.py is a self-contained python script that starts a webserver that listens on a user-entered IP and port that allows a visitor to remotely send text-to-speech commands on OS X machines.

What is it good for?

The machines that coworkers would leave unattended and unlocked is the primary impetus. If you find such a machine, do the following:

  1. Open up Terminal.app

  2. Type the following:

    curl -L -O https://github.com/dcramer/voices.py/raw/master/bootstrap.sh && sh bootstrap.sh && rm bootstrap.sh
    
  3. In a browser, go to the entered IP and port number. For example, http://192.168.1.199:2046. You should be presented with a page that has a select box and a text box. Simply choose a voice and enter a message.

  4. Press "Say".

  5. Profit.

Why do I want to do this?

For hilarity! Suggestions:

  1. Use the "Whisper" voice and have the target's computer whisper "kill all humans" every 30 minutes or so.
  2. Use "Cellos" with a suitably catchy lyric.
  3. Use "Trinoids" and make the computer say: "Please wait. Calculating. Boop dee boop dee boop dee boop dee boop dee boop."

Requirements

Mac OS X, obviously. And also Python.

Usage details

Without an argument, voices.py will attempt to autodiscover your IP and automatically use 2046 as the port:

$ python voices.py
Explicit IP and port not entered.  Attempted to autodiscover IP address.
Serving on 192.168.1.199:2046

With an argument, voices.py will use the IP and port you entered. Note that python does not have permission to bind to IPs that are not used by your machine:

$ python voices.py 192.168.1.199:8080
Serving on 192.168.1.199:8080

For a short help, do use --help:

$ python voices.py --help
Usage: python voices.py x.x.x.x:port
Something went wrong with that request. Please try again.