|
1 | | -# Easy Speech |
| 1 | +<h1 align="center">Easy Speech</h1> |
| 2 | + |
| 3 | +<div align="center"> |
| 4 | +Cross browser Speech Synthesis; no dependencies. |
| 5 | +</div> |
| 6 | + |
| 7 | + <p align="center"> |
| 8 | + <br /> |
| 9 | + <a href="https://github.com/jankapunkt/easy-speech/blob/master/API.md"><strong>API docs »</strong></a> |
| 10 | + <br /> |
| 11 | + </p> |
| 12 | + |
2 | 13 |
|
3 | 14 | [](https://standardjs.com) |
4 | 15 | [](https://www.repostatus.org/#active) |
|
9 | 20 |  |
10 | 21 |
|
11 | 22 |
|
12 | | -Cross browser Speech Synthesis; no dependencies. |
| 23 | + |
| 24 | +## ⭐️ Why EasySpeech? |
13 | 25 |
|
14 | 26 | This project was created, because it's always a struggle to get the synthesis |
15 | 27 | part of `Web Speech API` running on most major browsers. |
16 | 28 |
|
17 | | -**Note:** this is not a polyfill package, if your target browser does not |
18 | | -support speech synthesis or the Web Speech API, this package is not usable. |
| 29 | +## ✨ Features |
| 30 | + |
| 31 | +- 🪄 Single API for using `speechSynthesis` across multiple browsers |
| 32 | +- 🌈 Async API (Promises, async/await) |
| 33 | +- 🚀 Hooks for all events; global and/or voice-instance-specific |
| 34 | +- 🌱 Easy to set up and integrate: auto-detects and loads available voices |
| 35 | +- 🔧 Includes fixes or workarounds for many browser-specific quirks |
| 36 | +- 📝 Internal logging via `EasySpeech.debug` hook |
| 37 | +- 📦 Multiple build targets |
| 38 | +- 🎮 Live demo to test your browser |
| 39 | + |
| 40 | + |
| 41 | +**Note:** this is not a polyfill package, if your target browser does not support speech synthesis or the Web Speech |
| 42 | +API, this package is not usable. |
19 | 43 |
|
20 | | -## Live Demo |
| 44 | +## 🚀 Live Demo |
21 | 45 |
|
22 | 46 | The live demo is available at https://jankapunkt.github.io/easy-speech/ |
23 | 47 | You can use it to test your browser for `speechSynthesis` support and functionality. |
24 | 48 |
|
25 | 49 | [](https://jankapunkt.github.io/easy-speech/) |
26 | 50 |
|
27 | | -## Installation |
| 51 | +## 📦 Installation |
28 | 52 |
|
29 | 53 | Install from npm via |
30 | 54 |
|
@@ -56,7 +80,7 @@ You can use them via CDN: |
56 | 80 | <script src="https://cdn.jsdelivr.net/npm/easy-speech/dist/EasySpeech.iife.js"></script> |
57 | 81 | ``` |
58 | 82 |
|
59 | | -## Usage |
| 83 | +## 👨💻 Usage |
60 | 84 |
|
61 | 85 | Import `EasySpeech` and first, detect, if your browser is capable of tts (text |
62 | 86 | to speech): |
@@ -153,19 +177,19 @@ an error occurred. You can additionally attach these event listeners if you like |
153 | 177 | or use `EasySpeech.on` to attach default listeners to every time you call |
154 | 178 | `EasySpeech.speak`. |
155 | 179 |
|
156 | | -## API |
| 180 | +## 🔬 API |
157 | 181 |
|
158 | 182 | There is a full API documentation available: [api docs](./API.md) |
159 | 183 |
|
160 | | -## Contribution and development |
| 184 | +## ⌨️ Contribution and development |
161 | 185 |
|
162 | 186 | Every contribution is welcomed, please open issues if anything is not working |
163 | 187 | as expected. |
164 | 188 |
|
165 | 189 | If you intend to contribute code, please read the |
166 | 190 | [guidelines on contributing](./CONTRIBUTING.md). |
167 | 191 |
|
168 | | -## Resources |
| 192 | +## 📖 Resources |
169 | 193 |
|
170 | 194 | This project used several resources to gain insights about how to get the best cross-browser SpeechSynthesis running: |
171 | 195 |
|
|
0 commit comments