import gradio as gr import torch import soundfile as sf import spaces import os import numpy as np import re from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan, AutoTokenizer from speechbrain.pretrained import EncoderClassifier from datasets import load_dataset from huggingface_hub import hf_hub_download import uuid import wave import io import tempfile import shutil import importlib.util from huggingface_hub import hf_hub_download device = "cuda" if torch.cuda.is_available() else "cpu" auth_token = os.environ.get("hf_token") or True tts_path = hf_hub_download(repo_id="fahadqazi/private-code", filename="sindhi_tts_module.py", use_auth_token=auth_token) spec = importlib.util.spec_from_file_location("sindhi_tts_module", tts_path) tts_module = importlib.util.module_from_spec(spec) spec.loader.exec_module(tts_module) SindhiTTSClass = tts_module.SindhiTTS SindhiTTS = SindhiTTSClass( auth_token=auth_token ) iface = gr.Interface( fn=SindhiTTS.synthesize, inputs=[ gr.Textbox(label="Enter Sindhi text to convert to speech", value="سنڌي ماڻھو ڏَکڻ ايشيا ۾ آباد ماڻھن جو هڪ نسلي گروھ آهي جيڪو دراوڙ، آريائي ۽ سامي نسلن سان تعلق رکي ٿو۔", rtl=True), gr.Radio( choices=[("Female", 1), ("Male", 0)], value=1, label="Choose Gender" ) ], outputs=[ gr.Audio(label="Generated Speech", type="numpy") ], title="Sindhi Text-to-Speech Demo", description="Enter Sindhi text, and listen to the generated speech. Use shorter messages for better results." ) iface.launch(share=True)