OpenSpeech-TTS / README.md
pantelnm's picture
Update README.md
85618d4 verified
---
license: apache-2.0
language:
- en
pipeline_tag: text-to-speech
tags:
- TTS
- Text-To-Speech
---
<!-- Improved compatibility of back to top-->
<a id="readme-top"></a>
<!-- PROJECT LOGO -->
<br />
<div align="left">
<h3 align="center">OpenSpeech TTS API</h3>
<p align="center">
A simple and effective Text-to-Speech API compatible with OpenAI's endpoint
<br />
<a href="https://github.com/PantelisDeveloping"><strong>Explore the docs 禄</strong></a>
<br />
<br />
<a href="https://github.com/PantelisDeveloping">View Demo</a>
<a href="https://github.com/PantelisDeveloping">Report Bug</a>
<a href="https://github.com/PantelisDeveloping>Request Feature</a>
</p>
</div>
<!-- ABOUT THE PROJECT -->
## About The Project
OpenSpeech TTS is a user-friendly and efficient Text-to-Speech (TTS) API designed to seamlessly integrate with OpenAI's powerful text-to-speech capabilities. This project aims to provide developers with a simple and effective tool to convert text into natural-sounding speech, making it ideal for various applications such as voice assistants, audiobooks, and accessibility tools.
Key Features:
Compatibility with OpenAI's API: Leverages OpenAI's advanced text-to-speech models to deliver high-quality audio output.
Ease of Use: Provides a straightforward interface for developers to integrate TTS functionality into their projects.
Efficiency: Optimized for performance to ensure smooth and responsive TTS generation. No need for GPU.
<p align="right">(<a href="#readme-top">back to top</a>)</p>
### Built With
We used Python + Flask + Gevent WSGI for depolyment and Edge TTS for the TTS support.
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- GETTING STARTED -->
## Getting Started
This is how you will succesfully run your OpenSpeech TTS Server:
### Prerequisites
This is an example of how to list things you need to use the software and how to install them.
Python 3.10 + above with the following libarires in a virtual environment:
```sh
pip install Flask
pip install edge-tts
pip install cryptography
pip install gevent
pip install art
```
### Installation
_Below is a step by step installation guide to run succesfuly the TTS Server._
1. Clone the repo
```sh
git clone https://github.com/github_username/repo_name.git
```
3. Create & Activate a Virtual Environment in Python
```sh
python -m venv /path/to/new/virtual/environment
source <venv>/bin/activate
```
4. Run the api.py python
```js
cd ./openspeech-tts/main
python api.py
```
5. When prompted, enter the desired API key that you want to access the server & the Port to forward the API
```sh
Enter API Key: ....
Enter Port: ....
```
6. The server is up and ready to run!
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- USAGE EXAMPLES -->
## Usage
You can use the TTS API in the same way you use the OpenAI Text-to-Speech:
```sh
curl http://localhost:5000/v1/audio/speech \
-H "Authorization: Bearer API-KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"input": "Today is a wonderful day to build something people love!",
"voice": "alloy"
}' \
--output speech.mp3
```
_For the request example, please refer to the [Sample Request Curl](https://example.com)_
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- ROADMAP -->
## Roadmap
- [x] Add Changelog
- [x] Add main api.py file
- [ ] Add Additional Examples
- [ ] Adding secure https connection
- [ ] Adding more endpoints from OpenAI API
- [ ] v1/audio/translations
- [ ] v1/audio/transcriptions
See the [open issues](https://github.com/PantelisDeveloping/openspeech-tts/) for a full list of proposed features (and known issues).
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- CONTRIBUTING -->
## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!
1. Fork the Project
2. Create your Feature Branch (`git checkout -b PantelisDeveloping/openspeech-tts`)
3. Commit your Changes (`git commit -m 'Committing changes'`)
4. Push to the Branch (`git push origin PantelisDeveloping/openspeech-tts`)
5. Open a Pull Request
<!-- LICENSE -->
## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- CONTACT -->
## Contact
Pantelis
Project Link: [https://github.com/PantelisDeveloping/openspeech-tts](https://github.com/PantelisDeveloping/openspeech-tts)
<p align="right">(<a href="#readme-top">back to top</a>)</p>
---
license: apache-2.0
---