imseldrith commited on
Commit
bde1d30
·
1 Parent(s): bee0e67

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -3
app.py CHANGED
@@ -1,5 +1,39 @@
1
  import gradio as gr
2
- def vi(video):
3
- return video
 
 
 
 
 
4
 
5
- gr.Interface(fn=vi, inputs=gr.Video(),outputs=gr.Video()).launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
+ import moviepy.editor as mp
3
+ import numpy as np
4
+ import IPython.display as ipd
5
+ import librosa
6
+ import soundfile as sf
7
+ from gtts import gTTS
8
+ from io import BytesIO
9
 
10
+ # function to convert English audio to Hindi
11
+ def convert_to_hindi(audio):
12
+ tts = gTTS(audio, lang='hi')
13
+ audio = tts.get_wav_data()
14
+ return audio
15
+
16
+ # function to extract audio from video and dub it to Hindi
17
+ def dub_video(video_file):
18
+ # extract audio from video
19
+ video = mp.VideoFileClip(video_file)
20
+ audio = video.audio
21
+ audio_array = audio.to_soundarray()
22
+
23
+ # convert audio to Hindi
24
+ audio_text = librosa.core.to_text(audio_array)
25
+ audio_hindi = convert_to_hindi(audio_text)
26
+
27
+ # add Hindi audio to video
28
+ audio_hindi = mp.AudioFileClip(BytesIO(audio_hindi))
29
+ video_dubbed = video.set_audio(audio_hindi)
30
+
31
+ return video_dubbed
32
+
33
+ # Gradio interface
34
+ def dub_video_interface(inputs):
35
+ video_file = inputs[0]
36
+ video_dubbed = dub_video(video_file)
37
+ return video_dubbed
38
+
39
+ gr.Interface(fn=dub_video_interface, inputs=gr.Video(),outputs=gr.Video()).launch()