{"id":13585008,"url":"https://github.com/nateshmbhat/pyttsx3","last_synced_at":"2025-09-25T20:17:01.805Z","repository":{"id":37664078,"uuid":"95295862","full_name":"nateshmbhat/pyttsx3","owner":"nateshmbhat","description":"Offline Text To Speech synthesis for python","archived":false,"fork":false,"pushed_at":"2025-01-05T10:25:55.000Z","size":359,"stargazers_count":2321,"open_issues_count":73,"forks_count":350,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-05-12T00:36:44.893Z","etag":null,"topics":["python","python3","pyttsx","pyttsx3","text-to-speech","text-to-speech-python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nateshmbhat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"docs/support.rst","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-24T12:20:26.000Z","updated_at":"2025-05-10T22:16:49.000Z","dependencies_parsed_at":"2024-06-18T12:24:04.015Z","dependency_job_id":"6f2a81e7-0077-4374-83d3-8a0b3514b602","html_url":"https://github.com/nateshmbhat/pyttsx3","commit_stats":{"total_commits":94,"total_committers":15,"mean_commits":6.266666666666667,"dds":"0.22340425531914898","last_synced_commit":"5d3755b060a980f48fcaf81df018dd06cbd17a8f"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fpyttsx3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fpyttsx3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fpyttsx3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nateshmbhat%2Fpyttsx3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nateshmbhat","download_url":"https://codeload.github.com/nateshmbhat/pyttsx3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253746709,"owners_count":21957616,"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":["python","python3","pyttsx","pyttsx3","text-to-speech","text-to-speech-python3"],"created_at":"2024-08-01T15:04:40.250Z","updated_at":"2025-09-25T20:16:56.760Z","avatar_url":"https://github.com/nateshmbhat.png","language":"Python","funding_links":["https://www.buymeacoffee.com/nateshmbhat"],"categories":["Python","Tooling \u0026 Infrastructure","Speech Processing","Open Source TTS Libraries"],"sub_categories":["Python Libraries","Text-to-Speech"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\".github/logo.svg?sanitize=true\" width=\"200px\" height=\"200px\"\u003e\n\u003c/p\u003e\n\u003ch2 align=\"center\"\u003eOffline Text To Speech (TTS) converter for Python \u003c/h2\u003e\n\n\n[![Downloads](https://pepy.tech/badge/pyttsx3)](https://pepy.tech/project/pyttsx3) ![Downloads](https://pepy.tech/badge/pyttsx3/week)  [![](https://img.shields.io/github/languages/code-size/nateshmbhat/pyttsx3.svg?style=plastic)](https://github.com/nateshmbhat/pyttsx3)  [![](https://img.shields.io/github/license/nateshmbhat/pyttsx3?style=plastic)](https://github.com/nateshmbhat/pyttsx3) [![](https://img.shields.io/pypi/v/pyttsx3.svg?style=plastic)](https://pypi.org/project/pyttsx3/) [![](https://img.shields.io/github/languages/top/nateshmbhat/pyttsx3.svg?style=plastic)](https://github.com/nateshmbhat/pyttsx3) [![](https://img.shields.io/badge/author-nateshmbhat-green.svg)](https://github.com/nateshmbhat)\n\n\n`pyttsx3` is a text-to-speech conversion library in Python. Unlike alternative libraries, **it works offline**.\n\n\u003ca class=\"bmc-button\" target=\"_blank\" href=\"https://www.buymeacoffee.com/nateshmbhat\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg\" alt=\"Buy me a coffee 😇\"\u003e\u003cspan style=\"margin-left:5px;font-size:19px !important;\"\u003eBuy me a coffee 😇\u003c/span\u003e\u003c/a\u003e\n\n## Installation :\n\n\tpip install pyttsx3\n\n\u003e If you get installation errors , make sure you first upgrade your wheel version using :\n`pip install --upgrade wheel`\n\n\n## Features :\n\n- ✨Fully **OFFLINE** text to speech conversion\n- 🎈 Choose among different voices installed in your system\n- 🎛 Control speed/rate of speech\n- 🎚 Tweak Volume\n- 📀 Save the speech audio as a file\n- ❤️ Simple, powerful, \u0026 intuitive API\n\n\n#### Linux installation requirements :\n\n+ If you are on a Linux system and if the voice output is not working, then  :\n\n\tInstall espeak-ng and libespeak1 as shown below:\n\n\t```\n\tsudo apt update \u0026\u0026 sudo apt install espeak-ng libespeak1\n\t```\n\n## Usage :\n\n```python3\nimport pyttsx3\nengine = pyttsx3.init()\n\n# For Mac, If you face error related to \"pyobjc\" when running the `init()` method :\n# Install 9.0.1 version of pyobjc : \"pip install pyobjc\u003e=9.0.1\"\n\nengine.say(\"I will speak this text\")\nengine.runAndWait()\n```\n\n**Single line usage with speak function with default options**\n\n```python3\nimport pyttsx3\npyttsx3.speak(\"I will speak this text\")\n```\n\n**Changing Voice , Rate and Volume :**\n\n```python3\nimport pyttsx3\nengine = pyttsx3.init() # object creation\n\n# RATE\nrate = engine.getProperty('rate')   # getting details of current speaking rate\nprint (rate)                        # printing current voice rate\nengine.setProperty('rate', 125)     # setting up new voice rate\n\n# VOLUME\nvolume = engine.getProperty('volume')   # getting to know current volume level (min=0 and max=1)\nprint (volume)                          # printing current volume level\nengine.setProperty('volume',1.0)        # setting up volume level  between 0 and 1\n\n# VOICE\nvoices = engine.getProperty('voices')       # getting details of current voice\n#engine.setProperty('voice', voices[0].id)  # changing index, changes voices. o for male\nengine.setProperty('voice', voices[1].id)   # changing index, changes voices. 1 for female\n\nengine.say(\"Hello World!\")\nengine.say('My current speaking rate is ' + str(rate))\nengine.runAndWait()\nengine.stop()\n\n# Saving Voice to a file\n# On Linux, make sure that 'espeak-ng' is installed\nengine.save_to_file('Hello World', 'test.mp3')\nengine.runAndWait()\n```\n\n### **Full documentation of the Library**\n\nhttps://pyttsx3.readthedocs.io\n\n#### Included Text-To-Speech Engines by Operating System\n|                         | Linux | macOS | Windows |\n|-------------------------|:-----:|:-----:|:-------:|\n| [AVSpeech][]            |       |   ✅︎  |         |\n| [eSpeak][]              |   ✅︎  |   ✅︎  |    ✅︎   |\n| [NSSpeechSynthesizer][] |       |   ✅︎  |         |\n| [SAPI5][]               |       |       |    ✅︎   |\n\n\u003e [!NOTE]\n\u003e * AVSpeechSynthesizer support is still experimental.\n\u003e * NSSpeechSynthesizer is deprecated by Apple.\n\n[AVSpeech]: https://developer.apple.com/documentation/avfoundation/speech_synthesis\n[eSpeak]: https://github.com/espeak-ng/espeak-ng?tab=readme-ov-file#readme\n[NSSpeechSynthesizer]: https://developer.apple.com/documentation/appkit/nsspeechsynthesizer\n[SAPI5]: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms723627(v=vs.85)\n\nFeel free to wrap another text-to-speech engine for use with ``pyttsx3``.\n\n### Project Links :\n\n* PyPI (https://pypi.org/project/pyttsx3)\n* GitHub (https://github.com/nateshmbhat/pyttsx3)\n* Full Documentation (https://pyttsx3.readthedocs.org)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnateshmbhat%2Fpyttsx3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnateshmbhat%2Fpyttsx3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnateshmbhat%2Fpyttsx3/lists"}