Views
No views yet
1import torch
2from transformers import AutoTokenizer, SpeechT5HifiGan, SpeechT5ForTextToSpeech
3
4vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")
5tokenizer = AutoTokenizer.from_pretrained("Bingsu/speecht5_test")
6model = SpeechT5ForTextToSpeech.from_pretrained("Bingsu/speecht5_test")
7
8emb_url = "https://huggingface.co/Bingsu/speecht5_test/resolve/main/speaker_embedding.pt"
9emb_sd = torch.hub.load_state_dict_from_url(emb_url, map_location="cpu")
10emb = torch.nn.Embedding(model.config.num_speakers, model.config.speaker_embedding_dim)
11emb.load_state_dict(emb_sd)1@torch.inference_mode()
2def gen(text: str, speaker_id: int = 0):
3 inputs = tokenizer(text, return_tensors="pt")
4 s_id = torch.tensor(speaker_id)
5
6 speaker_embeddings = emb(s_id).unsqueeze(0)
7 speech = model.generate_speech(inputs.input_ids, speaker_embeddings=speaker_embeddings, vocoder=vocoder)
8 return speech.numpy()