Spaces:
Runtime error
Runtime error
File size: 1,252 Bytes
3b211d2 b49bd76 dcb13fb 3b211d2 b49bd76 3b211d2 b49bd76 dcb13fb b49bd76 dcb13fb b49bd76 3b211d2 dcb13fb 3b211d2 b49bd76 dcb13fb 3b211d2 b49bd76 dcb13fb 3b211d2 b49bd76 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import gradio as gr
from kokoro_onnx import Kokoro
import soundfile as sf
from huggingface_hub import hf_hub_download
import os
# Download oficial e seguro (Método recomendado em 2026)
print("Baixando arquivos do modelo via HF Hub...")
model_path = hf_hub_download(repo_id="hexgrad/Kokoro-82M", filename="kokoro-v0_19.onnx")
voices_path = hf_hub_download(repo_id="hexgrad/Kokoro-82M", filename="voices.bin")
# Inicializa o modelo usando os caminhos locais seguros
model = Kokoro(model_path, voices_path)
def narrar_biblia(json_input):
# O JSON recebido deve ser: {"texto": "O conteúdo aqui"}
texto = json_input.get("texto", "")
if not texto:
return None
# 'am_michael' é uma voz masculina profunda e solene, ideal para a Bíblia
# speed 0.9 deixa a fala mais pausada e épica
samples, sample_rate = model.create(texto, voice="am_michael", speed=0.9)
output_path = "narracao.wav"
sf.write(output_path, samples, sample_rate)
return output_path
# Configuração da Interface e Endpoint da API
demo = gr.Interface(
fn=narrar_biblia,
inputs=gr.JSON(label="Entrada JSON"),
outputs=gr.Audio(label="Áudio Gerado"),
api_name="predict"
)
if __name__ == "__main__":
demo.launch()
|