salomonsky commited on
Commit
4cccf90
·
1 Parent(s): fd02e16

Update dub.py

Browse files
Files changed (1) hide show
  1. dub.py +21 -21
dub.py CHANGED
@@ -3,24 +3,9 @@ import tempfile
3
  from gtts import gTTS
4
  from pydub import AudioSegment
5
  import moviepy.editor as mp
6
- import speech_recognition as sr
7
  from moviepy.editor import VideoFileClip, AudioFileClip
8
 
9
- def merge_video_audio(video_file, audio_file, output_file):
10
- video_clip = VideoFileClip(video_file)
11
-
12
- if audio_file is not None:
13
- audio_clip = AudioFileClip(audio_file)
14
-
15
- if audio_clip.duration < video_clip.duration:
16
- audio_clip = audio_clip.set_duration(video_clip.duration)
17
- else:
18
- audio_clip = audio_clip.subclip(0, video_clip.duration)
19
-
20
- video_clip = video_clip.set_audio(audio_clip)
21
-
22
- video_clip.write_videofile(output_file, codec="libx264", audio_codec="aac", verbose=False)
23
-
24
  def text_to_speech(text, lang='es'):
25
  tts = gTTS(text=text, lang=lang, slow=False)
26
  with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_file:
@@ -30,17 +15,17 @@ def text_to_speech(text, lang='es'):
30
  def transcribe_and_dub(video_file):
31
  temp_folder = tempfile.mkdtemp()
32
 
33
- recognizer = sr.Recognizer()
34
-
35
  try:
36
  with mp.VideoFileClip(video_file) as video:
37
  audio_file = os.path.join(temp_folder, "audio.wav")
38
  video.audio.write_audiofile(audio_file)
39
 
40
- with sr.AudioFile(audio_file) as source:
41
- audio = recognizer.record(source)
42
 
43
- text = recognizer.recognize_google(audio, language='es')
 
 
 
44
  print(f"Texto reconocido: {text}")
45
 
46
  dubbed_audio_file = text_to_speech(text)
@@ -62,3 +47,18 @@ def transcribe_and_dub(video_file):
62
  except Exception as e:
63
  print(f"Error durante la transcripción y el doblaje: {str(e)}")
64
  return None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  from gtts import gTTS
4
  from pydub import AudioSegment
5
  import moviepy.editor as mp
6
+ from pocketsphinx import AudioFile
7
  from moviepy.editor import VideoFileClip, AudioFileClip
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  def text_to_speech(text, lang='es'):
10
  tts = gTTS(text=text, lang=lang, slow=False)
11
  with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_file:
 
15
  def transcribe_and_dub(video_file):
16
  temp_folder = tempfile.mkdtemp()
17
 
 
 
18
  try:
19
  with mp.VideoFileClip(video_file) as video:
20
  audio_file = os.path.join(temp_folder, "audio.wav")
21
  video.audio.write_audiofile(audio_file)
22
 
23
+ audio_transcription = []
 
24
 
25
+ with AudioFile(audio_file) as source:
26
+ audio_transcription = source.hypothesize()
27
+
28
+ text = " ".join(audio_transcription)
29
  print(f"Texto reconocido: {text}")
30
 
31
  dubbed_audio_file = text_to_speech(text)
 
47
  except Exception as e:
48
  print(f"Error durante la transcripción y el doblaje: {str(e)}")
49
  return None
50
+
51
+ def merge_video_audio(video_file, audio_file, output_file):
52
+ video_clip = VideoFileClip(video_file)
53
+
54
+ if audio_file is not None:
55
+ audio_clip = AudioFileClip(audio_file)
56
+
57
+ if audio_clip.duration < video_clip.duration:
58
+ audio_clip = audio_clip.set_duration(video_clip.duration)
59
+ else:
60
+ audio_clip = audio_clip.subclip(0, video_clip.duration)
61
+
62
+ video_clip = video_clip.set_audio(audio_clip)
63
+
64
+ video_clip.write_videofile(output_file, codec="libx264", audio_codec="aac", verbose=False)