Add default voice for each language (#180)

Fix https://github.com/kyutai-labs/pocket-tts/issues/166
This commit is contained in:
Gabriel de Marmiesse
2026-05-04 15:35:22 +02:00
committed by GitHub
parent de010ea890
commit 7db278ee57
8 changed files with 94 additions and 53 deletions
+22 -19
View File
@@ -1,26 +1,29 @@
import sys
import scipy.io.wavfile
from pathlib import Path
from pocket_tts import TTSModel, export_model_state
from pocket_tts.utils.utils import _ORIGINS_OF_PREDEFINED_VOICES
model = TTSModel.load_model(language=sys.argv[1])
languages = [x.stem for x in Path("./pocket_tts/config").glob("*.yaml")]
for voice_name, voice_origin in _ORIGINS_OF_PREDEFINED_VOICES.items():
print(f"Processing voice: {voice_name} from origin: {voice_origin}")
# Export a voice state for fast loading later
model_state = model.get_state_for_audio_prompt(voice_origin)
export_model_state(model_state, f"./built-in-voices/{voice_name}.safetensors")
model_state_copy = model.get_state_for_audio_prompt(
f"./built-in-voices/{voice_name}.safetensors"
)
for language in languages:
model = TTSModel.load_model(language=language)
audio = model.generate_audio(
model_state_copy,
"An Sommernachmittagen spielten die Kinder fröhlich auf dem Platz der kleinen Stadt.",
)
scipy.io.wavfile.write(
f"./built-in-voices-generated/{voice_name}.wav", model.sample_rate, audio.numpy()
)
for voice_name, voice_origin in _ORIGINS_OF_PREDEFINED_VOICES.items():
print(
f"Processing voice: {voice_name} from origin: {voice_origin} for language: {language}"
)
# Export a voice state for fast loading later
model_state = model.get_state_for_audio_prompt(voice_origin)
dest = f"/projects/huggingface/pocket-tts/languages/{language}/embeddings/{voice_name}.safetensors"
export_model_state(model_state, dest)
model_state_copy = model.get_state_for_audio_prompt(dest)
# audio = model.generate_audio(
# model_state_copy,
# "An Sommernachmittagen spielten die Kinder fröhlich auf dem Platz der kleinen Stadt.",
# )
# scipy.io.wavfile.write(
# f"./built-in-voices-generated/{voice_name}.wav", model.sample_rate, audio.numpy()
# )