Spaces:
Runtime error
Runtime error
File size: 1,718 Bytes
33051d3 4e01295 c764bfb 33051d3 206a641 c764bfb 4e01295 33051d3 4e01295 206a641 9a433d2 33051d3 bed109a c764bfb 33051d3 7917b4e 33051d3 7917b4e 33051d3 7917b4e 206a641 7917b4e 6fa7850 206a641 c764bfb 7917b4e c764bfb 535e903 206a641 7337c95 7917b4e e780472 7917b4e c764bfb |
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
import logging
from typing import cast
from pdfminer.high_level import extract_text
from huggingface_hub import hf_hub_download, list_repo_files
import gradio as gr
from balacoon_tts import TTS
# Global TTS module, initialized from a selected model
tts = None
speakers = []
default_speaker = None
def read_pdf(file):
text = extract_text(file.name)
return text
def synthesize_audio(file, speaker_str):
text_str = read_pdf(file)
if len(text_str) > 1024:
text_str = text_str[:1024]
samples = tts.synthesize(text_str, speaker_str)
return (samples, tts.get_sampling_rate())
def main():
logging.basicConfig(level=logging.INFO)
file_input = gr.inputs.File(label="Upload PDF")
model_files = list_repo_files(repo_id="balacoon/tts")
model_name_dropdown = gr.inputs.Dropdown(label="Model", choices=model_files)
def set_model(model_name_str: str):
model_path = hf_hub_download(repo_id="balacoon/tts", filename=model_name_str)
global tts, speakers, default_speaker
tts = TTS(model_path)
speakers = tts.get_speakers()
default_speaker = speakers[-1]
speaker_dropdown = gr.inputs.Dropdown(label="Speaker", choices=speakers)
audio = gr.outputs.Audio(label="Generated Audio", type="numpy")
def generate_audio(file, model_name_str, speaker_str):
set_model(model_name_str)
return synthesize_audio(file, speaker_str)
iface = gr.Interface(
fn=generate_audio,
inputs=[file_input, model_name_dropdown, speaker_dropdown],
outputs=audio,
title="PDF TO SPEECH CONVERTER",
layout="rows",
debug=True
)
iface.launch()
if __name__ == "__main__":
main()
|