Views
No views yet
1
2# PyTorch and TorchAudio (Version 2.7.1 recommended)
3# Example install command:
4#! pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu128
5import torch
6import torchaudio
7
8# DeepKIN imports
9# See: https://github.com/c4ir-rw/ac-ai-models/tree/main/DeepKIN-AgAI
10from deepkin.data.kinya_norm import text_to_sequence
11from deepkin.models.flex_tts import FlexKinyaTTS
12from deepkin.modules.tts_commons import intersperse
13
14# Define inference device
15device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu')
16
17# Load TTS model (HF: C4IR-RW/kinya-flex-tts)
18kinya_tts = FlexKinyaTTS.from_pretrained(device, '/path/to/kinya_flex_tts_base_trained.pt')
19kinya_tts.eval()
20
21text = "Ikiremwamuntu cyose kivukana umudendezo kandi kingana mu cyubahiro n'uburenganzira. Gifite ubushobozi bwo gutekereza n'umutimanama kandi kigomba gukorera bagenzi bacyo mu mwuka wa kivandimwe."
22
23# Normalize and tokenize input text
24text_id_sequence = intersperse(text_to_sequence(text, norm=True), 0)
25
26# Select voice (speaker id).
27# Available speaker ids:
28# 0 - Female 1
29# 1 - Female 2
30# 2 - Male
31speaker_id = 0
32
33# Run inference: Generate audio samples, 24KHz sampling rate by default
34audio_data = kinya_tts(text_id_sequence, 0)
35
36# Save audio file (24KHz sampling rate by default)
37sampling_rate = 24000
38torchaudio.save("/path/to/example_output.wav", audio_data, sampling_rate)