englissi commited on
Commit
482b401
ยท
verified ยท
1 Parent(s): eefe9ae

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -8
app.py CHANGED
@@ -1,27 +1,30 @@
1
  import gradio as gr
2
  from gtts import gTTS
 
3
  import os
4
 
5
  def text_to_speech(prompt):
6
- # ์ž…๋ ฅ๋œ Bulgarian ํ…์ŠคํŠธ๋ฅผ ์Œ์„ฑ์œผ๋กœ ๋ณ€ํ™˜
7
  tts = gTTS(text=prompt, lang="bg") # 'bg'๋Š” Bulgarian ์–ธ์–ด ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
8
  audio_file = "output.mp3"
9
  tts.save(audio_file)
10
 
11
- # ํŒŒ์ผ ๊ฒฝ๋กœ ๋Œ€์‹  ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
12
- with open(audio_file, "rb") as f:
13
- audio_binary = f.read()
14
- # ์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ
 
15
  os.remove(audio_file)
16
 
17
- return audio_binary
 
18
 
19
  with gr.Blocks() as demo:
20
  gr.Markdown("## Bulgarian Text-to-Speech (TTS)")
21
  with gr.Row():
22
  input_prompt = gr.Textbox(label="Enter a prompt in Bulgarian:")
23
- # gr.Audio์˜ type์„ "binary"๋กœ ์ง€์ •ํ•˜์—ฌ ํŒŒ์ผ ๊ฒฝ๋กœ ๋Œ€์‹  ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
24
- output_audio = gr.Audio(label="Generated Speech", type="binary")
25
  generate_button = gr.Button("Generate Speech")
26
 
27
  generate_button.click(text_to_speech, inputs=input_prompt, outputs=output_audio)
 
1
  import gradio as gr
2
  from gtts import gTTS
3
+ import librosa
4
  import os
5
 
6
  def text_to_speech(prompt):
7
+ # gTTS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Bulgarian ํ…์ŠคํŠธ๋ฅผ ์Œ์„ฑ์œผ๋กœ ๋ณ€ํ™˜
8
  tts = gTTS(text=prompt, lang="bg") # 'bg'๋Š” Bulgarian ์–ธ์–ด ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
9
  audio_file = "output.mp3"
10
  tts.save(audio_file)
11
 
12
+ # librosa๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ mp3 ํŒŒ์ผ์„ numpy ๋ฐฐ์—ด๊ณผ ์ƒ˜ํ”Œ๋ ˆ์ดํŠธ๋กœ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
13
+ # sr=None๋กœ ์„ค์ •ํ•˜๋ฉด ์›๋ณธ ์ƒ˜ํ”Œ๋ ˆ์ดํŠธ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
14
+ audio_array, sample_rate = librosa.load(audio_file, sr=None)
15
+
16
+ # ์ž„์‹œ mp3 ํŒŒ์ผ ์‚ญ์ œ
17
  os.remove(audio_file)
18
 
19
+ # gr.Audio(type="numpy")๋Š” (numpy array, sample_rate) ํŠœํ”Œ์„ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.
20
+ return audio_array, sample_rate
21
 
22
  with gr.Blocks() as demo:
23
  gr.Markdown("## Bulgarian Text-to-Speech (TTS)")
24
  with gr.Row():
25
  input_prompt = gr.Textbox(label="Enter a prompt in Bulgarian:")
26
+ # type์„ "numpy"๋กœ ์„ค์ •ํ•˜์—ฌ numpy ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
27
+ output_audio = gr.Audio(label="Generated Speech", type="numpy")
28
  generate_button = gr.Button("Generate Speech")
29
 
30
  generate_button.click(text_to_speech, inputs=input_prompt, outputs=output_audio)