{"id":43982940,"url":"https://github.com/kiarashplusplus/ttsgallery","last_synced_at":"2026-02-07T09:08:15.982Z","repository":{"id":325464288,"uuid":"1101212699","full_name":"kiarashplusplus/ttsgallery","owner":"kiarashplusplus","description":"Free, open-source Azure OpenAI TTS voice preview tool. ","archived":false,"fork":false,"pushed_at":"2025-11-30T03:01:38.000Z","size":969,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-02T07:57:58.217Z","etag":null,"topics":["azure","openai","tts"],"latest_commit_sha":null,"homepage":"https://tts.gallery","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiarashplusplus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-21T10:59:01.000Z","updated_at":"2025-11-30T09:40:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kiarashplusplus/ttsgallery","commit_stats":null,"previous_names":["kiarashplusplus/ttsgallery"],"tags_count":0,"template":false,"template_full_name":"github/spark-template","purl":"pkg:github/kiarashplusplus/ttsgallery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiarashplusplus%2Fttsgallery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiarashplusplus%2Fttsgallery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiarashplusplus%2Fttsgallery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiarashplusplus%2Fttsgallery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiarashplusplus","download_url":"https://codeload.github.com/kiarashplusplus/ttsgallery/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiarashplusplus%2Fttsgallery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29190842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["azure","openai","tts"],"created_at":"2026-02-07T09:08:15.358Z","updated_at":"2026-02-07T09:08:15.976Z","avatar_url":"https://github.com/kiarashplusplus.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TTS Gallery - Azure OpenAI TTS Voice Sampler\n\n**[tts.gallery](https://tts.gallery)** - Free, open-source Azure OpenAI TTS voice preview tool. Compare all 23 text-to-speech voices (gpt-4o-mini-tts) including Alloy, Echo, Nova, Fable, Onyx, Shimmer, and 15 neural voices + 2 HD voices. Test individual voices or play through all voices sequentially with custom text.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org/)\n[![React](https://img.shields.io/badge/React-19-61dafb)](https://react.dev/)\n[![Azure OpenAI](https://img.shields.io/badge/Azure-OpenAI%20TTS-0078D4)](https://azure.microsoft.com/en-us/products/ai-services/openai-service)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n\n\u003e 🎙️ **The complete Azure OpenAI TTS voice library at your fingertips**\n\nCreated by [Kiarash Adl](https://github.com/kiarashplusplus)\n\n## 🌟 Features at a Glance\n\n| Feature | Description |\n|---------|-------------|\n| 🎤 **23 Voices** | All Azure OpenAI TTS voices (Standard, Neural, HD) |\n| 🔐 **Secure** | Credentials encrypted and stored locally in browser |\n| 🎯 **Individual Testing** | Test any voice with custom text |\n| 🎵 **Sequential Playback** | Compare all voices with same text automatically |\n| 📱 **Responsive** | Works on desktop, tablet, and mobile |\n| 🎨 **Professional UI** | Azure-themed, clean interface |\n| 🚀 **No Backend** | 100% client-side, no server required |\n| 🔒 **Privacy-First** | Zero data collection or tracking |\n| ⚡ **Fast** | Instant voice switching and playback |\n| 🆓 **Free \u0026 Open** | MIT licensed, community-driven |\n\n## 🎯 Supported Voices\n\n### Standard Voices\n- **Alloy** - Neutral and balanced\n- **Echo** - Resonant and clear\n- **Fable** - Expressive and warm\n- **Nova** - Bright and energetic\n- **Onyx** - Deep and authoritative\n- **Shimmer** - Bright and cheerful\n\n### Neural Voices\n- **Ash** - Clear and articulate\n- **Ballad** - Smooth and melodic\n- **Brook** - Gentle and flowing\n- **Cedar** - Warm and grounded\n- **Clover** - Fresh and lively\n- **Coral** - Vibrant and warm\n- **Dan** - Professional and clear\n- **Elan** - Energetic and dynamic\n- **Jazz** - Smooth and sophisticated\n- **Marin** - Fresh and coastal\n- **Marilyn** - Classic and elegant\n- **Meadow** - Calm and natural\n- **Rio** - Lively and upbeat\n- **Sage** - Wise and measured\n- **Verse** - Poetic and expressive\n\n### HD Voices\n- **Jade Hardy** - Confident and strong\n- **Megan Wetherall** - Professional and polished\n\n## 🎯 Live Demo\n\n**Visit [tts.gallery](https://tts.gallery)** to use the application immediately!\n\n**Watch the Demo:** See TTS Gallery in action on [TikTok](https://www.tiktok.com/@tts.gallery/video/7575220076723358998) 🎥\n\n\u003cdiv align=\"center\"\u003e\n  \u003cblockquote \n    class=\"tiktok-embed\" \n    cite=\"https://www.tiktok.com/@tts.gallery/video/7575220076723358998\" \n    data-video-id=\"7575220076723358998\" \n    data-embed-from=\"embed_page\"\n    style=\"max-width: 605px;min-width: 325px;\"\n  \u003e\n    \u003csection\u003e\n      \u003ca \n        target=\"_blank\" \n        title=\"@tts.gallery\" \n        href=\"https://www.tiktok.com/@tts.gallery?refer=embed\"\n      \u003e\n        @tts.gallery\n      \u003c/a\u003e\n      \u003cp\u003e\n        OpenAI voice sampler for \n        \u003ca \n          title=\"developers\" \n          target=\"_blank\" \n          href=\"https://www.tiktok.com/tag/developers?refer=embed\"\n        \u003e\n          #developers\n        \u003c/a\u003e\n        to try before choosing an \n        \u003ca \n          title=\"azure\" \n          target=\"_blank\" \n          href=\"https://www.tiktok.com/tag/azure?refer=embed\"\n        \u003e\n          #azure\n        \u003c/a\u003e\n        \u003ca \n          title=\"openai\" \n          target=\"_blank\" \n          href=\"https://www.tiktok.com/tag/openai?refer=embed\"\n        \u003e\n          #openAI\n        \u003c/a\u003e\n        voice like Jade Hardy or Megan Wetherall\n      \u003c/p\u003e\n      \u003ca \n        target=\"_blank\" \n        title=\"♬ original sound - tts.gallery\" \n        href=\"https://www.tiktok.com/music/original-sound-7575220047904328470?refer=embed\"\n      \u003e\n        ♬ original sound - tts.gallery\n      \u003c/a\u003e\n    \u003c/section\u003e\n  \u003c/blockquote\u003e\n  \u003cscript async src=\"https://www.tiktok.com/embed.js\"\u003e\u003c/script\u003e\n\u003c/div\u003e\n\n**New to TTS Gallery?** Check out the [Quick Start Guide](QUICKSTART.md) for a 5-minute tutorial.\n\n\u003e ⚠️ **Before deploying your own instance**: This project requires `og-image.png` (1200×630px) and `screenshot.png` assets in the `public/` directory for proper SEO and social sharing. See [ASSETS.md](ASSETS.md) for detailed requirements and creation guidelines.\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- An Azure OpenAI account with TTS deployment\n- Modern web browser (Chrome, Firefox, Safari, Edge)\n\n### Azure OpenAI Setup\n\n1. **Create an Azure OpenAI resource** in the Azure Portal\n2. **Deploy a TTS model** (e.g., `gpt-4o-mini-tts`)\n3. **Get your credentials**:\n   - Endpoint URL (e.g., `https://your-resource.openai.azure.com`)\n   - API Key (found in \"Keys and Endpoint\" section)\n   - Deployment name (e.g., `gpt-4o-mini-tts`)\n   - API version (e.g., `2025-03-01-preview`)\n\n### Using the Application\n\n1. **Visit [tts.gallery](https://tts.gallery)** or run locally\n2. **Navigate to Settings tab**\n3. **Enter your Azure OpenAI credentials**:\n   ```\n   Endpoint:    https://your-resource.openai.azure.com\n   API Key:     your-api-key-here\n   Deployment:  gpt-4o-mini-tts\n   API Version: 2025-03-01-preview\n   ```\n4. **Click \"Save Configuration\"**\n5. **Switch to Voice Testing tab**\n6. **Select a voice** from the dropdown\n7. **Enter or edit the sample text**\n8. **Click \"Speak\"** to hear the selected voice\n9. **Or click \"Play All Voices\"** to hear all voices sequentially\n\n## 🛠️ Technical Stack\n\n- **React 19** - UI framework\n- **TypeScript** - Type safety\n- **Tailwind CSS** - Styling\n- **Shadcn UI** - Component library\n- **Vite** - Build tool\n- **Azure OpenAI API** - Text-to-speech service\n\n## 🔒 Privacy \u0026 Security\n\n- ✅ All credentials stored locally in browser (encrypted KV store)\n- ✅ No backend server required\n- ✅ No data collection or analytics\n- ✅ API calls made directly from browser to Azure\n- ✅ Open source - verify the code yourself\n\n**Note**: Your browser must support CORS for Azure OpenAI endpoints. If you encounter CORS issues, you may need to configure your Azure OpenAI resource to allow browser-based requests.\n\n## 🚀 Local Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/kiarashplusplus/ttsgallery.git\ncd ttsgallery\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n```\n\nThe application will be available at `http://localhost:5173`\n\n## 📖 API Configuration Examples\n\n### Standard Configuration\n```\nEndpoint:    https://myresource.openai.azure.com\nDeployment:  gpt-4o-mini-tts\nAPI Version: 2025-03-01-preview\n```\n\n### With Custom Deployment\n```\nEndpoint:    https://mycompany-ai.openai.azure.com\nDeployment:  tts-production-v2\nAPI Version: 2025-03-01-preview\n```\n\n## 🎨 Customization\n\nThe application uses a professional Azure-themed color palette:\n\n- **Primary**: Deep Azure Blue - Main actions and brand color\n- **Secondary**: Cool Slate Gray - Supporting elements\n- **Accent**: Vibrant Orange - Highlights and CTAs\n- **Typography**: Inter (UI) + JetBrains Mono (code)\n\n## 🐛 Troubleshooting\n\n### \"CORS Error\" when generating speech\n**Solution**: Ensure your Azure OpenAI resource allows browser-based requests. You may need to enable CORS in your Azure configuration or use a browser extension that enables CORS for development.\n\n### \"Authentication Failed\" error\n**Solution**: Double-check your API key and endpoint URL. Ensure there are no extra spaces or characters.\n\n### \"Deployment not found\" error\n**Solution**: Verify your deployment name matches exactly what's shown in Azure Portal. Deployment names are case-sensitive.\n\n### Audio doesn't auto-play\n**Solution**: Modern browsers block auto-play. Click the play button on the audio controls to start playback.\n\n### \"Play All\" stops unexpectedly\n**Solution**: Check your browser console for errors. Ensure you have sufficient Azure API quota remaining.\n\n## 📝 Example Use Cases\n\n- **Voice Selection** - Compare voices before implementing TTS in your application\n- **Demo Creation** - Generate voice samples for client presentations\n- **Quality Testing** - Verify voice quality with your specific content\n- **Voice Discovery** - Explore all available voices to find the perfect fit\n- **Batch Testing** - Test the same script across all voices quickly\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n**Have ideas to improve this tool?** Visit the [GitHub repository](https://github.com/kiarashplusplus/ttsgallery) to share your suggestions or submit a pull request!\n\nQuick contribution steps:\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines and project structure.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## 🙏 Acknowledgments\n\n- Created by [Kiarash Adl](https://github.com/kiarashplusplus)\n- Built with [Shadcn UI](https://ui.shadcn.com/)\n- Powered by [Azure OpenAI Service](https://azure.microsoft.com/en-us/products/ai-services/openai-service)\n- Icons from [Phosphor Icons](https://phosphoricons.com/)\n\n## 📦 Deployment\n\nReady to deploy your own instance? See [DEPLOYMENT.md](DEPLOYMENT.md) for detailed deployment instructions for:\n- Vercel (recommended)\n- Netlify\n- Cloudflare Pages\n- GitHub Pages\n- Custom domain setup for tts.gallery\n\n### Required Assets\n\nBefore deploying, ensure you have created the following assets in your `public/` directory:\n\n- **og-image.png** (1200x630px) - Open Graph image for social media sharing\n- **screenshot.png** - Application screenshot for documentation and SEO\n\nThese images are referenced in the HTML meta tags and structured data for optimal SEO and social sharing.\n\n## 🌟 Star History\n\nIf you find this project useful, please consider giving it a star on GitHub!\n\n## 📧 Support\n\nFor issues related to:\n- **This application**: Open an issue in the [GitHub repository](https://github.com/kiarashplusplus/ttsgallery/issues)\n- **Feature requests**: Share your ideas on [GitHub Discussions](https://github.com/kiarashplusplus/ttsgallery/discussions)\n- **Azure OpenAI Service**: Contact [Azure Support](https://azure.microsoft.com/en-us/support/)\n- **API access**: Check [Azure OpenAI documentation](https://learn.microsoft.com/en-us/azure/ai-services/openai/)\n\n## 🔗 Links\n\n- **Live Application**: [tts.gallery](https://tts.gallery)\n- **GitHub Repository**: [github.com/kiarashplusplus/ttsgallery](https://github.com/kiarashplusplus/ttsgallery)\n- **Report Issues**: [GitHub Issues](https://github.com/kiarashplusplus/ttsgallery/issues)\n- **Changelog**: [CHANGELOG.md](CHANGELOG.md)\n- **Contributing Guide**: [CONTRIBUTING.md](CONTRIBUTING.md)\n- **Deployment Guide**: [DEPLOYMENT.md](DEPLOYMENT.md)\n\n---\n\n**Note**: This application is not affiliated with or endorsed by Microsoft or Azure. It's a community-built tool for testing Azure OpenAI TTS voices.\n\nMade with ❤️ by [Kiarash Adl](https://github.com/kiarashplusplus)\n\n## 🏷️ Topics\n\n`azure-openai` `tts` `text-to-speech` `voice-sampler` `gpt-4o-mini-tts` `openai-voices` `azure-tts` `speech-synthesis` `voice-preview` `react` `typescript` `open-source` `developer-tools` `audio` `ai-voices` `neural-voices` `hd-voices` `voice-comparison` `demo-app`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiarashplusplus%2Fttsgallery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiarashplusplus%2Fttsgallery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiarashplusplus%2Fttsgallery/lists"}