Deddy commited on
Commit
1c2c719
โ€ข
1 Parent(s): 63dfe54

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +108 -3
app.py CHANGED
@@ -4,7 +4,7 @@ Petunjuk:
4
  1. Script ini digunakan untuk mengkonversi teks menjadi suara menggunakan teknologi Edge TTS dan Retrieval-based Voice Conversion (RVC).
5
  2. Teknologi yang digunakan meliputi model text-to-speech (TTS) yang canggih dengan konversi teks ke fonem (G2P).
6
  3. Model yang dipakai dilatih khusus untuk bahasa Indonesia, Jawa, dan Sunda.
7
- 4. Antarmuka dibuat dengan menggunakan Gradio dengan tema kustom bernama MetafisikTheme.
8
 
9
  Cara Menggunakan:
10
  1. Pilih model suara dari dropdown yang tersedia.
@@ -37,7 +37,7 @@ from lib.infer_pack.models import (
37
  )
38
  from rmvpe import RMVPE
39
  from vc_infer_pipeline import VC
40
- from interface import create_interface # Impor interface dari interface.py
41
 
42
  # Menonaktifkan semua peringatan
43
  warnings.filterwarnings("ignore")
@@ -262,6 +262,111 @@ print("Memuat model rmvpe...")
262
  rmvpe_model = RMVPE("rmvpe.pt", config.is_half, config.device)
263
  print("Model rmvpe dimuat.")
264
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
265
  # Meluncurkan aplikasi
266
- app = create_interface(tts_voices, models, tts)
267
  app.launch()
 
4
  1. Script ini digunakan untuk mengkonversi teks menjadi suara menggunakan teknologi Edge TTS dan Retrieval-based Voice Conversion (RVC).
5
  2. Teknologi yang digunakan meliputi model text-to-speech (TTS) yang canggih dengan konversi teks ke fonem (G2P).
6
  3. Model yang dipakai dilatih khusus untuk bahasa Indonesia, Jawa, dan Sunda.
7
+ 4. Antarmuka dibuat dengan menggunakan Gradio dengan tema kustom bernama IndonesiaTheme.
8
 
9
  Cara Menggunakan:
10
  1. Pilih model suara dari dropdown yang tersedia.
 
37
  )
38
  from rmvpe import RMVPE
39
  from vc_infer_pipeline import VC
40
+ from themes import IndonesiaTheme # Impor tema custom dari themes.py
41
 
42
  # Menonaktifkan semua peringatan
43
  warnings.filterwarnings("ignore")
 
262
  rmvpe_model = RMVPE("rmvpe.pt", config.is_half, config.device)
263
  print("Model rmvpe dimuat.")
264
 
265
+ # Initial markdown text untuk ditampilkan di antarmuka
266
+ initial_md = """
267
+ # TTS-RVC-Tokoh Indonesia
268
+
269
+ Pembuktian algoritma **Retrieval-based Voice Conversion (RVC)** dan teknologi **Edge TTS** yang dapat membuat clone dari suara tokoh-tokoh penting di Indonesia.
270
+
271
+ **Perhatian:** Harap tidak menyalahgunakan teknologi ini.
272
+ """
273
+
274
+ # Membuat aplikasi Gradio
275
+ app = gr.Blocks(theme=IndonesiaTheme(), title="TTS-RVC-Tokoh Indonesia")
276
+ with app:
277
+ # Tambahkan banner di bagian atas
278
+ gr.HTML("""
279
+ <div style="text-align: center; margin-top: 20px;">
280
+ <img src="https://i.ibb.co.com/dm13YjJ/banner1.jpg" alt="Banner" style="width: 100%; max-width: 1200px; border-radius: 10px;">
281
+ </div>
282
+ """)
283
+ gr.Markdown(initial_md)
284
+ with gr.Row():
285
+ with gr.Column():
286
+ model_name = gr.Dropdown(
287
+ label="Model",
288
+ choices=models,
289
+ value=models[0],
290
+ )
291
+ f0_key_up = gr.Number(
292
+ label="Tune (+12 = 1 oktaf dari edge-tts, nilai terbaik tergantung pada model dan pembicara)",
293
+ value=2,
294
+ )
295
+ with gr.Column():
296
+ f0_method = gr.Radio(
297
+ label="Metode ekstraksi pitch (pm: sangat cepat, kualitas rendah, rmvpe: sedikit lambat, kualitas tinggi)",
298
+ choices=["pm", "rmvpe"], # harvest and crepe terlalu lambat
299
+ value="rmvpe",
300
+ interactive=True,
301
+ )
302
+ index_rate = gr.Slider(
303
+ minimum=0,
304
+ maximum=1,
305
+ label="Tingkat indeks",
306
+ value=0.5,
307
+ interactive=True,
308
+ )
309
+ protect0 = gr.Slider(
310
+ minimum=0,
311
+ maximum=0.5,
312
+ label="Perlindungan",
313
+ value=0.33,
314
+ step=0.01,
315
+ interactive=True,
316
+ )
317
+ with gr.Row():
318
+ with gr.Column():
319
+ tts_voice = gr.Dropdown(
320
+ label="Pembicara Edge-tts (format: bahasa-Negara-Nama-Jenis Kelamin), pastikan jenis kelamin cocok dengan model",
321
+ choices=tts_voices,
322
+ allow_custom_value=False,
323
+ value="id-ID-ArdiNeural-Male", # Set nilai default
324
+ )
325
+ speed = gr.Slider(
326
+ minimum=-100,
327
+ maximum=100,
328
+ label="Kecepatan bicara (%)",
329
+ value=0,
330
+ step=10,
331
+ interactive=True,
332
+ )
333
+ tts_text = gr.Textbox(label="Teks Input", value="Konversi dari teks ke suara dalam bahasa Indonesia.")
334
+ with gr.Column():
335
+ but0 = gr.Button("Konversi", variant="primary")
336
+ info_text = gr.Textbox(label="Informasi Output")
337
+ with gr.Column():
338
+ edge_tts_output = gr.Audio(label="Suara Edge", type="filepath")
339
+ tts_output = gr.Audio(label="Hasil")
340
+ but0.click(
341
+ tts,
342
+ [
343
+ model_name,
344
+ speed,
345
+ tts_text,
346
+ tts_voice,
347
+ f0_key_up,
348
+ f0_method,
349
+ index_rate,
350
+ protect0,
351
+ ],
352
+ [info_text, edge_tts_output, tts_output],
353
+ )
354
+ with gr.Row():
355
+ examples = gr.Examples(
356
+ examples_per_page=100,
357
+ examples=[
358
+ ["Ini adalah demo percobaan menggunakan Bahasa Indonesia untuk pria.", "id-ID-ArdiNeural-Male"],
359
+ ["Ini adalah teks percobaan menggunakan Bahasa Indonesia pada wanita.", "id-ID-GadisNeural-Female"],
360
+ ],
361
+ inputs=[tts_text, tts_voice],
362
+ )
363
+
364
+ # Tambahkan footer di bagian bawah
365
+ gr.HTML("""
366
+ <footer style="text-align: center; margin-top: 20px; color:silver;">
367
+ Transfer Energi Semesta Digital ยฉ 2024 __drat. | ๐Ÿ‡ฎ๐Ÿ‡ฉ Untuk Indonesia Jaya!
368
+ </footer>
369
+ """)
370
+
371
  # Meluncurkan aplikasi
 
372
  app.launch()