-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFilm_To_Text.py
40 lines (28 loc) · 1.06 KB
/
Film_To_Text.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#Film To text. Translates the spech in a film to text.
import speech_recognition as sr
import subprocess
import os
from os import path
timedur = 15
command = "ffmpeg -i ./Film/test.mp4 ./Film/Audio/audio.wav"
subprocess.call(command, shell=True)
command = "ffmpeg -i ./Film/Audio/audio.wav -f segment -segment_time " + str(timedur) + " -c copy ./Film/Audio/audio%d.wav"
subprocess.call(command, shell=True)
command = "rm ./Film/Audio/audio.wav"
subprocess.call(command, shell=True)
list = os.listdir('./Film/Audio/')
r = sr.Recognizer()
for i in range(0,len(list)):
audio = "Film/Audio/audio" + str(i) + ".wav"
#print(audio + ": ")
AUDIO_FILE = os.path.join(path.dirname(path.realpath(__file__)), audio)
with sr.AudioFile(AUDIO_FILE) as source:
audioRec = r.record(source)
try:
print(str(i*timedur) + "-" + str((i+1)*(timedur)) + ": " + r.recognize_google(audioRec))
#print(r.recognize_google(audioRec))
except:
print(str(i*timedur) + "-" + str((i+1)*(timedur)) + ": " +"...")
#print("...")
command = "rm ./Film/Audio/*"
subprocess.call(command, shell=True)