Skip to content

Basically GLaDOS TTS expect it works with both discord and slack (hopefully; this is the goal at least)

License

Notifications You must be signed in to change notification settings

V3NCO/aperture-tts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9fb80c7 · · Dec 4, 2025

History

129 Commits
Dec 4, 2025
Nov 29, 2025
Nov 7, 2025
Dec 3, 2025
Nov 7, 2025
Dec 1, 2025
Dec 2, 2025
Dec 3, 2025
Nov 30, 2025
Nov 7, 2025
Nov 11, 2025
Dec 4, 2025
Nov 6, 2025
Nov 26, 2025
Dec 3, 2025
Dec 4, 2025
Nov 11, 2025
Nov 13, 2025
Nov 15, 2025
Nov 10, 2025
Nov 28, 2025
Nov 28, 2025

Repository files navigation

Aperture TTS

Set-up a development environment

  1. Setup the basic project
git clone https://github.com/V3NCO/aperture-tts.git
git submodule init && git submodule update
nix develop
uv sync
uv sync
nc
  1. Create a slack bot with this manifest :
{
     "display_information": {
         "name": "Aperture Science GLaDOS Dev Module"
    },
      "features": {
         "app_home": {
             "home_tab_enabled": true,
             "messages_tab_enabled": false,
             "messages_tab_read_only_enabled": false
        },
          "bot_user": {
             "display_name": "GLaDOSBotDev",
             "always_online": false
        },
          "shortcuts": [
            {
                  "name": "Hello World!",
                 "type": "global",
                 "callback_id": "hello_world",
                 "description": "Hi there"
            }
        ],
           "slash_commands": [
            {
                  "command": "/glados",
                 "description": "The master command for Aperture Science GLaDOS TTS!",
                 "should_escape": true
            },
            {
                   "command": "/dev-glados",
                 "description": "Aperture Science is currently working on GLaDOS; Please standby for further information!",
                 "should_escape": true
            }
        ]
    },
        "oauth_config": {
         "scopes": {
             "bot": [
                 "channels:history",
                 "channels:join",
                 "chat:write",
                 "chat:write.customize",
                 "commands",
                 "groups:history",
                 "im:write",
                 "im:read",
                 "mpim:read",
                 "mpim:write"
            ]
        }
    },
        "settings": {
         "event_subscriptions": {
             "bot_events": [
                 "app_home_opened",
                 "message.channels",
                 "message.groups"
            ]
        },
           "interactivity": {
             "is_enabled": true
        },
          "org_deploy_enabled": false,
         "socket_mode_enabled": true,
         "token_rotation_enabled": false
    }
}
}
  1. Copy the .env.example file to .env and fill in the values

  2. Copy the employee_daycare_center/.env.sample file to employee_daycare_center/.env and fill in the values

  3. Setup the database (Assuming you have a PostgreSQL server with the db created running with the URL in employee_daycare_center/.env)

cd employee_daycare_center
source .venv/bin/activate
piccolo migrations new glados_slack --auto
piccolo migrations forwards glados_slack
ck
  1. Run the services (for now it's scuffed)
source .venv/bin/activate
uv run main.py

cd employee_daycare_center
source .venv/bin/activate
app
p
cd employee_daycare_center/glados_slack/callhandler
node Huddle.js

  1. Copy employee_daycare_center/clean.json.sample to employee_daycare_center/clean.json

  2. Create employee_daycare_center/sounds and put sound effects in with the format soundname.wav; they will be autodetected

Roadmap

  • Better setting up guide
  • Multiple Huddles
  • Auto leave when no one is in call
  • Settings command
  • Replace text with stuff tts can read
  • User settings ect
  • Sound insertions with like sound
  • Soundboard

Maybe one day but right now I don't feel like doing that

  • Discord support
  • Alternate voice? 👀