|
--- |
|
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 |
|
--- |