{"id":18779389,"url":"https://github.com/zostay/speak-chat","last_synced_at":"2026-02-03T03:03:12.855Z","repository":{"id":1074606,"uuid":"916070","full_name":"zostay/speak-chat","owner":"zostay","description":"A Perl/AppleScript tool for customizing iChat's text-to-speech","archived":false,"fork":false,"pushed_at":"2010-09-16T16:55:36.000Z","size":96,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-21T06:11:37.877Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zostay.png","metadata":{"files":{"readme":"README.mkd","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-09-16T16:53:08.000Z","updated_at":"2021-04-13T22:15:00.000Z","dependencies_parsed_at":"2022-07-18T06:00:28.788Z","dependency_job_id":null,"html_url":"https://github.com/zostay/speak-chat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zostay/speak-chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2Fspeak-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2Fspeak-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2Fspeak-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2Fspeak-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zostay","download_url":"https://codeload.github.com/zostay/speak-chat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zostay%2Fspeak-chat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262460568,"owners_count":23314766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T20:19:54.064Z","updated_at":"2026-02-03T03:03:12.810Z","avatar_url":"https://github.com/zostay.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\n## PREREQUISITES\n\nThis uses Perl. So you need a recent version of Perl (the stock Perl 5.8 that\ncomes with every Mac should do fine). You will also need to install:\n\n    autodie\n    File::Slurp\n    Try::Tiny\n    YAML\n\nThe best way to do this (in my opinion) is to install `cpanm` and then run:\n\n    cpanm autodie File::Slurp Try::Tiny YAML\n\n## INSTALLATION\n\nTo use this script, you need to use iChat. And download these files. Then, do\nthe following:\n\nRun this on the command line:\n\n    mkdir ~/bin\n    cp speak-chat ~/bin\n    cp speak-chat.conf ~/bin\n    cp iChatSpeakEvents.scpt ~/Library/Scripts/iChat/\n\nThen, in iChat:\n\n 1. Then go to iChat \u003e Preferences.\n 2. Select Event: Message Received\n 3. Check Run AppleScript and select iChatSpeakEvents.scpt\n 4. Select Event: Chat Room Message Received\n 5. Check Run AppleScript and select iChatSpeakEvents.scpt\n 6. Select Event: Text Invitation\n 7. Check Run AppleScript and select iChatSpeakEvents.scpt\n\n## CONFIGURATION\n\nNow, you may want to edit `~/bin/speak-chat.conf` to suit. This is written in\nYAML.\n\n### STOP SPEAKING\n\nAnytime you want chats to stop, set the \"Stop\" option at the top of the file to\n1. Set it to 0 when you want chats to speak again.\n\n### BUDDY MAP\n\nUnder `Buddies.Remap`, you can change the names used for your buddies. So, if in\na chat someone's name is \"SomethingAnnoying\" you could add:\n\n    Buddies:\n        Remap:\n            \"Something Annoying\": \"Dweeb\"\n\n### PRONUNCIATIONS\n\nUnder `Pronunciations`, each of the main keys are the title of the section,\nwhich is just for your benefit. It doesn't really matter. Under each heading you can add three options:\n\n * **Priority:** This is the order to run the pronunciations in. The higher the\n   number the later they run.\n * **Wrapper:** This is a Perl regular expression that will be used to wrap\n   every term. Place a `\"%s\"` in the place you want the term inserted. This can\n   save you lots of typing.\n * **Terms:** This will map a bunch of strings to match and remap. The keys are\n   actually regular expressions and the values are replacements using the usual\n   Perl syntax for such things.\n\nI've included some examples of commong things that should help you get started.\n\nOh yeah, and all the regular expressions are set to be case insensitive by\ndefault.\n\n## KNOWN ISSUES\n\n * This script uses `flock()` to prevent chats from overlapping. However, the order\nlock is granted by `flock()` is not defined, so if chats pile up, they will\nstart to come back out in a jumbled order.\n\n * If you set Stop, chatting doesn't stop until after all the queued up messages\nhave finished.\n\n## TODO\n\n * Buddies remapping might be nice to have as another set of prunciations.\n \n * It would also be nice if you could select different voices for different \nbuddies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzostay%2Fspeak-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzostay%2Fspeak-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzostay%2Fspeak-chat/lists"}