Spaces:
Runtime error
Runtime error
| title: StyleTTS2 Text-to-Speech với Hiệu ứng Môi trường | |
| emoji: 🎙️ | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: gradio | |
| sdk_version: "4.0.0" | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| language: | |
| - vi | |
| - en | |
| pipeline_tag: text-to-speech | |
| tags: | |
| - 'StyleTTS2' | |
| - 'Text-to-Speech' | |
| - 'Vietnamese' | |
| - 'Audio' | |
| - 'Speech' | |
| - 'TTS' | |
| - 'Environment' | |
| - 'Effects' | |
| - 'Gradio' | |
| - 'AI' | |
| - 'Voice' | |
| <div style="text-align:center;"> | |
| <h1>🎙️ StyleTTS2 Text-to-Speech với Hiệu ứng Môi trường</h1> | |
| <p>Ứng dụng Text-to-Speech sử dụng StyleTTS2 với khả năng thêm hiệu ứng môi trường âm thanh và điều chỉnh tốc độ nói.</p> | |
| </div> | |
| ## ✨ Tính năng | |
| - 🎤 **Text-to-Speech** sử dụng StyleTTS2 | |
| - 🌍 **Hiệu ứng môi trường**: Church, Hall, Cafe, Street, Office, Supermarket, Phone | |
| - ⚡ **Điều chỉnh tốc độ nói** từ 0.5x đến 2.0x | |
| - 🔊 **Kiểm soát mức độ nhiễu** (SNR) | |
| - 📊 **So sánh waveform** trực quan | |
| - 🎭 **Tags cảm xúc** với emoji | |
| - 🌐 **Giao diện web** thân thiện | |
| ## 🚀 Cách sử dụng | |
| ### 1. Nhập văn bản | |
| Nhập văn bản tiếng Việt vào ô text. Bạn có thể sử dụng các tags để tạo cảm xúc: | |
| - `<happy>vui vẻ</happy>` | |
| - `<sad>buồn bã</sad>` | |
| - `<angry>giận dữ</angry>` | |
| - `<whisper>thì thầm</whisper>` | |
| ### 2. Chọn môi trường | |
| - **Neutral**: Không có hiệu ứng | |
| - **Church/Hall**: Thêm reverb (tiếng vang) | |
| - **Cafe/Street/Office/Supermarket**: Thêm tiếng ồn nền | |
| - **Phone**: Giới hạn tần số như điện thoại | |
| ### 3. Điều chỉnh tham số | |
| - **Tốc độ nói**: 0.5x (chậm) đến 2.0x (nhanh) | |
| - **Mức độ nhiễu**: Chỉ áp dụng cho môi trường có tiếng ồn | |
| ### 4. Tạo giọng nói | |
| Nhấn nút "🎵 Tạo giọng nói" để tạo audio với hiệu ứng. | |
| ## 🎭 Tags cảm xúc | |
| | Tag | Ý nghĩa | Emoji | | |
| |-----|---------|-------| | |
| | `<laugh>...</laugh>` | Cười thoải mái | 😆 | | |
| | `<whisper>...</whisper>` | Thì thầm | 🤫 | | |
| | `<naughty>...</naughty>` | Tinh nghịch | 😏 | | |
| | `<giggle>...</giggle>` | Cười rúc rích | 😂 | | |
| | `<tease>...</tease>` | Trêu chọc | 😉 | | |
| | `<smirk>...</smirk>` | Đắc ý | 😼 | | |
| | `<surprise>...</surprise>` | Ngạc nhiên | 😲 | | |
| | `<shock>...</shock>` | Hoảng hốt | 😱 | | |
| | `<romantic>...</romantic>` | Lãng mạn | ❤️ | | |
| | `<shy>...</shy>` | Bẽn lẽn | 🫣 | | |
| | `<excited>...</excited>` | Phấn khích | 🤩 | | |
| | `<curious>...</curious>` | Tò mò | 🧐 | | |
| | `<discover>...</discover>` | Phát hiện | ✨ | | |
| | `<blush>...</blush>` | Ngượng ngùng | 🌸 | | |
| | `<angry>...</angry>` | Giận dữ | 😡 | | |
| | `<sad>...</sad>` | Buồn | 😢 | | |
| | `<happy>...</happy>` | Vui vẻ | 😊 | | |
| | `<fear>...</fear>` | Sợ hãi | 😨 | | |
| | `<confident>...</confident>` | Tự tin | 😎 | | |
| | `<serious>...</serious>` | Nghiêm túc | 😐 | | |
| | `<tired>...</tired>` | Mệt mỏi | 🥱 | | |
| | `<cry>...</cry>` | Khóc | 😭 | | |
| | `<love>...</love>` | Yêu thương | 😍 | | |
| | `<disgust>...</disgust>` | Ghê tởm | 🤢 | | |
| ## 🌍 Môi trường âm thanh | |
| ### Reverb Effects | |
| - **Church**: Tiếng vang trong nhà thờ | |
| - **Hall**: Tiếng vang trong hội trường | |
| ### Noise Effects | |
| - **Cafe**: Tiếng ồn quán cà phê | |
| - **Street**: Tiếng ồn đường phố | |
| - **Office**: Tiếng ồn văn phòng | |
| - **Supermarket**: Tiếng ồn siêu thị | |
| ### Filter Effects | |
| - **Phone**: Giới hạn tần số như điện thoại | |
| ## 📊 SNR (Signal-to-Noise Ratio) | |
| - **Giá trị cao (20-30 dB)**: Ít nhiễu, âm thanh rõ ràng | |
| - **Giá trị trung bình (10-20 dB)**: Nhiễu vừa phải | |
| - **Giá trị thấp (0-10 dB)**: Nhiều nhiễu, âm thanh khó nghe | |
| ## ⚡ Tốc độ nói | |
| - **0.5x**: Nói chậm một nửa | |
| - **0.8x**: Nói chậm một chút | |
| - **1.0x**: Tốc độ bình thường | |
| - **1.2x**: Nói nhanh một chút | |
| - **1.5x**: Nói nhanh | |
| - **2.0x**: Nói nhanh gấp đôi | |
| ## 🛠️ Cài đặt local | |
| ### Yêu cầu hệ thống | |
| - Python >= 3.8 | |
| - espeak-ng (cho phonemizer) | |
| ### Cài đặt dependencies | |
| ```bash | |
| pip install -r requirements.txt | |
| ``` | |
| ### Cài đặt espeak-ng | |
| ```bash | |
| # macOS | |
| brew install espeak-ng | |
| # Ubuntu/Debian | |
| sudo apt-get install espeak-ng | |
| # Windows: Tải từ GitHub releases | |
| ``` | |
| ### Chạy ứng dụng | |
| ```bash | |
| python app.py | |
| ``` | |
| ## 🔧 Xử lý sự cố | |
| ### Model không tải được | |
| - Kiểm tra kết nối internet | |
| - Đảm bảo có đủ RAM (tối thiểu 4GB) | |
| - Model sẽ được tải tự động từ Hugging Face | |
| ### Lỗi phonemizer | |
| - Cài đặt espeak-ng theo hướng dẫn | |
| - Khởi động lại ứng dụng | |
| ### Âm thanh không phát được | |
| - Kiểm tra volume hệ thống | |
| - Thử refresh trang web | |
| - Kiểm tra trình duyệt có hỗ trợ audio không | |
| ## 📝 Ghi chú | |
| - Model được tải lần đầu có thể mất vài phút | |
| - Hỗ trợ cả GPU và CPU (tự động chuyển đổi) | |
| - File giọng nói tham chiếu cần có trong thư mục `speakers/` | |
| - Ứng dụng tối ưu cho tiếng Việt | |
| ## 🤝 Đóng góp | |
| Mọi đóng góp đều được chào đón! Vui lòng tạo issue hoặc pull request. | |
| ## 📄 License | |
| Dự án này sử dụng MIT License. StyleTTS2 model tuân thủ license của tác giả gốc. | |
| ## 🙏 Acknowledgments | |
| - [StyleTTS2](https://github.com/yl4579/StyleTTS2) - Model gốc | |
| - [Gradio](https://gradio.app/) - Web interface | |
| - [Librosa](https://librosa.org/) - Audio processing | |
| - [Phonemizer](https://github.com/bootphon/phonemizer) - Text processing |