# -*- coding: utf-8 -*- import re from ttsmms import TTS import gradio as gr tts = TTS("khm") def sanitize(text): return re.sub(r"\u200b", "", text) def generate_voice(text): audio = tts.synthesis(text) return (audio['sampling_rate'], audio['x']) with gr.Blocks(title="Khmer Text to Speech with MMS") as blocks: gr.Markdown('# Khmer Text to Speech - MMS') gr.Markdown('MMS: Scaling Speech Technology to 1000+ languages by Meta AI') input_text = gr.Textbox(label="អក្សរ", lines=3) examples = gr.Examples(examples=["នេះ​ជា​រូបថត​ជនសង្ស័យ​ដែល​បេីកឡាន។", "ភ្នំព្រះ ឬខ្នងព្រះ ជាតំបន់អេកូរទេសចរណ៍ធម្មជាតិដ៏ទាក់ទាញមួយក្នុងពេលបច្ចុប្បន្ន។"], inputs=[input_text]) run_button = gr.Button( text="Generate", type="button", ) out_audio = gr.Audio( label="សំឡេងដែលបានបង្កើត", type="numpy", ) inputs = [input_text] outputs = [out_audio] run_button.click( fn=generate_voice, inputs=inputs, outputs=outputs, queue=True, ) blocks.queue(concurrency_count=1).launch(debug=True)