englissi commited on
Commit
2252ea3
Β·
verified Β·
1 Parent(s): b7a8a05

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -18
app.py CHANGED
@@ -1,35 +1,50 @@
1
  import gradio as gr
2
- from transformers import AutoModelForCausalLM, AutoTokenizer
3
  from TTS.api import TTS # Coqui TTS 라이브러리
4
 
5
- # λΆˆκ°€λ¦¬μ•„μ–΄ ν…μŠ€νŠΈ 생성 λͺ¨λΈ λ‘œλ“œ
6
  model_name = "mradermacher/SambaLingo-Bulgarian-Base-i1-GGUF"
7
- tokenizer = AutoTokenizer.from_pretrained(model_name)
8
- model = AutoModelForCausalLM.from_pretrained(model_name)
9
 
10
- # λΆˆκ°€λ¦¬μ•„μ–΄ TTS λͺ¨λΈ λ‘œλ“œ (Coqui TTS)
11
- tts = TTS(model_name="tts_models/bg/cv/vits", progress_bar=False)
 
 
 
 
12
 
13
- # ν…μŠ€νŠΈ 생성 및 TTS λ³€ν™˜ ν•¨μˆ˜
 
 
 
 
 
 
14
  def generate_audio(input_text):
15
  # ν…μŠ€νŠΈ 생성
16
- inputs = tokenizer.encode(input_text, return_tensors="pt")
17
- outputs = model.generate(inputs, max_length=100, num_return_sequences=1)
18
- generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
19
-
 
 
 
20
  # TTS λ³€ν™˜
21
- audio_path = "output.wav"
22
- tts.tts_to_file(text=generated_text, file_path=audio_path)
23
- return audio_path
 
 
 
24
 
25
  # Gradio μΈν„°νŽ˜μ΄μŠ€ 생성
26
  interface = gr.Interface(
27
  fn=generate_audio,
28
  inputs=gr.Textbox(lines=5, label="λΆˆκ°€λ¦¬μ•„μ–΄ ν…μŠ€νŠΈ μž…λ ₯"),
29
- outputs=gr.Audio(label="μƒμ„±λœ μŒμ„±"),
30
  title="λΆˆκ°€λ¦¬μ•„μ–΄ ν…μŠ€νŠΈ 생성 및 μŒμ„± λ³€ν™˜",
31
- description="λΆˆκ°€λ¦¬μ•„μ–΄ ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜λ©΄ λͺ¨λΈμ΄ ν…μŠ€νŠΈλ₯Ό μƒμ„±ν•˜κ³  이λ₯Ό μŒμ„±μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€."
32
  )
33
 
34
- # μ›Ή μ•± μ‹€ν–‰
35
- interface.launch()
 
 
1
  import gradio as gr
2
+ from transformers import AutoTokenizer, AutoModelForCausalLM
3
  from TTS.api import TTS # Coqui TTS 라이브러리
4
 
5
+ # λͺ¨λΈ 이름
6
  model_name = "mradermacher/SambaLingo-Bulgarian-Base-i1-GGUF"
 
 
7
 
8
+ # λͺ¨λΈ 및 ν† ν¬λ‚˜μ΄μ € λ‘œλ“œ
9
+ try:
10
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
11
+ model = AutoModelForCausalLM.from_pretrained(model_name)
12
+ except Exception as e:
13
+ raise RuntimeError(f"λͺ¨λΈ λ‘œλ“œ 쀑 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {e}")
14
 
15
+ # TTS λͺ¨λΈ λ‘œλ“œ (Coqui TTS)
16
+ try:
17
+ tts = TTS(model_name="tts_models/bg/cv/vits", progress_bar=False)
18
+ except Exception as e:
19
+ raise RuntimeError(f"TTS λͺ¨λΈ λ‘œλ“œ 쀑 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {e}")
20
+
21
+ # ν…μŠ€νŠΈ 생성 및 μŒμ„± λ³€ν™˜ ν•¨μˆ˜
22
  def generate_audio(input_text):
23
  # ν…μŠ€νŠΈ 생성
24
+ try:
25
+ inputs = tokenizer.encode(input_text, return_tensors="pt")
26
+ outputs = model.generate(inputs, max_length=100, num_return_sequences=1)
27
+ generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
28
+ except Exception as e:
29
+ return f"ν…μŠ€νŠΈ 생성 쀑 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {e}", None
30
+
31
  # TTS λ³€ν™˜
32
+ try:
33
+ audio_path = "output.wav"
34
+ tts.tts_to_file(text=generated_text, file_path=audio_path)
35
+ return generated_text, audio_path
36
+ except Exception as e:
37
+ return f"TTS λ³€ν™˜ 쀑 λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {e}", None
38
 
39
  # Gradio μΈν„°νŽ˜μ΄μŠ€ 생성
40
  interface = gr.Interface(
41
  fn=generate_audio,
42
  inputs=gr.Textbox(lines=5, label="λΆˆκ°€λ¦¬μ•„μ–΄ ν…μŠ€νŠΈ μž…λ ₯"),
43
+ outputs=[gr.Textbox(label="μƒμ„±λœ ν…μŠ€νŠΈ"), gr.Audio(label="μƒμ„±λœ μŒμ„±")],
44
  title="λΆˆκ°€λ¦¬μ•„μ–΄ ν…μŠ€νŠΈ 생성 및 μŒμ„± λ³€ν™˜",
45
+ description="λΆˆκ°€λ¦¬μ•„μ–΄ ν…μŠ€νŠΈλ₯Ό μž…λ ₯ν•˜λ©΄ ν…μŠ€νŠΈλ₯Ό μƒμ„±ν•˜κ³  μŒμ„±μœΌλ‘œ λ³€ν™˜ν•©λ‹ˆλ‹€."
46
  )
47
 
48
+ # μ•± μ‹€ν–‰
49
+ if __name__ == "__main__":
50
+ interface.launch()