{"id":25027197,"url":"https://github.com/jmrashed/text-to-speech-with-language-selection","last_synced_at":"2026-02-06T04:03:09.103Z","repository":{"id":274436877,"uuid":"922898364","full_name":"jmrashed/text-to-speech-with-language-selection","owner":"jmrashed","description":"A modern, responsive Text-to-Speech (TTS) web application built with Bootstrap 5 that converts text into speech in multiple languages.","archived":false,"fork":false,"pushed_at":"2025-10-01T12:02:27.000Z","size":299,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-28T01:50:00.037Z","etag":null,"topics":["html5","multilingual-tts","speech-synthesis","text-to-speech","voice-selection"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmrashed.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":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-27T09:38:17.000Z","updated_at":"2025-10-01T12:17:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"45224eb4-727d-4877-a91e-27abdb3689ba","html_url":"https://github.com/jmrashed/text-to-speech-with-language-selection","commit_stats":null,"previous_names":["jmrashed/text-to-speech-with-language-selection","mrzstack/text-to-speech-with-language-selection"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jmrashed/text-to-speech-with-language-selection","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Ftext-to-speech-with-language-selection","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Ftext-to-speech-with-language-selection/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Ftext-to-speech-with-language-selection/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Ftext-to-speech-with-language-selection/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmrashed","download_url":"https://codeload.github.com/jmrashed/text-to-speech-with-language-selection/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Ftext-to-speech-with-language-selection/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29149595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T02:39:25.012Z","status":"ssl_error","status_checked_at":"2026-02-06T02:37:22.784Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["html5","multilingual-tts","speech-synthesis","text-to-speech","voice-selection"],"created_at":"2025-02-05T18:41:32.425Z","updated_at":"2026-02-06T04:03:09.057Z","avatar_url":"https://github.com/jmrashed.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Text to Speech with Language Selection\n\n\u003cimg src=\"Screenshot.png\" alt=\"Text to Speech with Language Selection\" width=\"100%\"\u003e\n\nA modern, responsive Text-to-Speech (TTS) web application built with Bootstrap 5 that converts text into speech in multiple languages. Features a beautiful UI with gradient backgrounds, smooth animations, and comprehensive speech controls.\n\n## ✨ Features\n\n### Core Functionality\n- 🌍 **22 Language Support** - Convert text to speech in multiple languages\n- 🎙️ **Voice Selection** - Choose from available system voices for each language\n- ⚡ **Real-time Controls** - Play, pause, resume, and stop speech playback\n- 🎛️ **Audio Controls** - Adjust rate, pitch, and volume with live sliders\n- 📝 **Text Management** - Save, load, and clear text with confirmation dialogs\n\n### Modern UI/UX\n- 🎨 **Bootstrap 5 Design** - Beautiful, responsive interface with gradient backgrounds\n- 📱 **Mobile Responsive** - Optimized for all screen sizes and devices\n- 🍃 **Smooth Animations** - Fade-in effects and hover transitions\n- 🔔 **SweetAlert2 Integration** - Beautiful, customizable alert dialogs\n- 💫 **Loading Indicators** - Visual feedback during speech synthesis\n\n### Data Management\n- 💾 **Persistent Storage** - Automatically saves converted texts to `assets/data/data.json`\n- 📚 **Recent Texts History** - View and replay recently converted texts\n- ⚙️ **Settings Persistence** - Remembers last used language and audio settings\n- 🔄 **One-click Restore** - Quickly reload previous texts with their original settings\n\n## 🚀 Quick Start\n\n1. **Clone the repository:**\n   ```bash\n   git clone git@github.com:jmrashed/text-to-speech-with-language-selection.git\n   ```\n\n2. **Navigate to project directory:**\n   ```bash\n   cd text-to-speech-with-language-selection\n   ```\n\n3. **Open in browser:**\n   - Simply open `index.html` in your web browser\n   - No server setup required - runs entirely in the browser\n\n## 📖 How to Use\n\n1. **Select Language \u0026 Voice** - Choose from 22 supported languages and available system voices\n2. **Enter Text** - Type or paste text (up to 500 characters) in the textarea\n3. **Adjust Settings** - Fine-tune rate, pitch, and volume using the sliders\n4. **Convert to Speech** - Click the green \"Convert to Speech\" button\n5. **Control Playback** - Use pause, resume, and stop buttons as needed\n6. **Save \u0026 Load** - Save frequently used texts for quick access\n7. **View History** - Access recent conversions from the \"Recent Texts\" section\n\n## 🌐 Supported Languages\n\n| Language | Code | Language | Code |\n|----------|------|----------|------|\n| English (US) | en-US | Ukrainian (UA) | uk-UA |\n| French (FR) | fr-FR | Russian (RU) | ru-RU |\n| Hindi (IN) | hi-IN | Polish (PL) | pl-PL |\n| Arabic (AE) | ar-AE | Turkish (TR) | tr-TR |\n| Spanish (ES) | es-ES | Chinese (CN) | zh-CN |\n| Portuguese (PT) | pt-PT | Korean (KR) | ko-KR |\n| Italian (IT) | it-IT | Kazakh (KZ) | kk-KZ |\n| Indonesian (ID) | id-ID | Azerbaijani (AZ) | az-AZ |\n| German (DE) | de-DE | Romanian (MD) | ro-MD |\n| Japanese (JP) | ja-JP | Dutch (NL) | nl-NL |\n| Uzbek (UZ) | uz-UZ | Georgian (GE) | ka-GE |\n\n## 🛠️ Technologies Used\n\n- **Frontend Framework:** Bootstrap 5.3.0\n- **JavaScript Library:** jQuery 3.7.1\n- **Alert System:** SweetAlert2\n- **Icons:** Font Awesome 6.0.0\n- **Speech API:** Web Speech API (SpeechSynthesis)\n- **Storage:** LocalStorage + JSON file structure\n- **Styling:** Custom CSS with gradients and animations\n\n## 📁 Project Structure\n\n```\ntext-to-speech-with-language-selection/\n├── assets/\n│   ├── css/\n│   │   └── style.css          # Custom styles and responsive design\n│   ├── data/\n│   │   └── data.json          # Persistent data storage\n│   └── js/\n│       └── main.js            # Core application logic\n├── index.html                 # Main application file\n├── README.md                  # Project documentation\n└── Screenshot.png             # Application preview\n```\n\n## 🤝 Contributing\n\nContributions are welcome! To contribute:\n\n1. **Fork** the repository\n2. **Create** a feature branch (`git checkout -b feature/AmazingFeature`)\n3. **Commit** your changes (`git commit -m 'Add AmazingFeature'`)\n4. **Push** to the branch (`git push origin feature/AmazingFeature`)\n5. **Open** a Pull Request\n\n### Development Guidelines\n- Follow existing code style and structure\n- Test on multiple browsers and devices\n- Update documentation for new features\n- Ensure mobile responsiveness\n\n## 🌟 Browser Compatibility\n\n| Browser | Support | Notes |\n|---------|---------|-------|\n| Chrome | ✅ Full | Best performance and voice selection |\n| Edge | ✅ Full | Excellent compatibility |\n| Firefox | ✅ Full | Good performance |\n| Safari | ⚠️ Limited | Basic functionality, fewer voices |\n| Mobile Browsers | ✅ Good | Responsive design optimized |\n\n## 📄 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **[Web Speech API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API)** - Core text-to-speech functionality\n- **[Bootstrap](https://getbootstrap.com/)** - Responsive UI framework\n- **[SweetAlert2](https://sweetalert2.github.io/)** - Beautiful alert dialogs\n- **[Font Awesome](https://fontawesome.com/)** - Icon library\n- **[jQuery](https://jquery.com/)** - JavaScript library\n\n## 📞 Support\n\nCreated by **jmrashed** - Feel free to reach out for questions or suggestions!\n\n\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-0A66C2?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/jmrashed/) \n[![LeetCode](https://img.shields.io/badge/LeetCode-FFA116?style=for-the-badge\u0026logo=leetcode\u0026logoColor=black)](https://leetcode.com/u/jmrashed/)\n[![HackerRank](https://img.shields.io/badge/HackerRank-00EA64?style=for-the-badge\u0026logo=hackerrank\u0026logoColor=white)](https://www.hackerrank.com/profile/jmrashed)\n[![Email](https://img.shields.io/badge/Email-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:jmrashed@gmail.com)\n[![WhatsApp](https://img.shields.io/badge/WhatsApp-25D366?style=for-the-badge\u0026logo=whatsapp\u0026logoColor=white)](https://wa.me/8801734446514)\n\n---\n\n⭐ **Star this repository if you found it helpful!**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmrashed%2Ftext-to-speech-with-language-selection","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmrashed%2Ftext-to-speech-with-language-selection","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmrashed%2Ftext-to-speech-with-language-selection/lists"}