1
1
import whisper
2
2
import glob , os
3
+ #import torch #uncomment if using torch with cuda, below too
4
+ import datetime
3
5
4
6
def transcribe (path , file_type , model = None , language = None , verbose = False ):
5
7
'''Implementation of OpenAI's whisper model. Downloads model, transcribes audio files in a folder and returns the text files with transcriptions'''
@@ -10,6 +12,11 @@ def transcribe(path, file_type, model=None, language=None, verbose=False):
10
12
pass
11
13
12
14
glob_file = glob .glob (path + '/*{}' .format (file_type ))
15
+
16
+ #if torch.cuda.is_available():
17
+ # generator = torch.Generator('cuda').manual_seed(42)
18
+ #else:
19
+ # generator = torch.Generator().manual_seed(42)
13
20
14
21
print ('Using {} model' .format (model ))
15
22
print ('File type is {}' .format (file_type ))
@@ -34,15 +41,15 @@ def transcribe(path, file_type, model=None, language=None, verbose=False):
34
41
end = []
35
42
text = []
36
43
for i in range (len (result ['segments' ])):
37
- start .append (result ['segments' ][i ]['start' ])
38
- end .append (result ['segments' ][i ]['end' ])
44
+ start .append (str ( datetime . timedelta ( seconds = ( result ['segments' ][i ]['start' ]))) )
45
+ end .append (str ( datetime . timedelta ( seconds = ( result ['segments' ][i ]['end' ]))) )
39
46
text .append (result ['segments' ][i ]['text' ])
40
47
41
48
with open ("{}/transcriptions/{}.txt" .format (path ,title ), 'w' , encoding = 'utf-8' ) as file :
42
49
file .write (title )
43
50
file .write ('\n In seconds:' )
44
51
for i in range (len (result ['segments' ])):
45
- file .writelines ('\n [{:.2f } --> {:.2f }]:{}' .format (start [i ], end [i ], text [i ]))
52
+ file .writelines ('\n [{} --> {}]:{}' .format (start [i ], end [i ], text [i ]))
46
53
47
54
print ('\n Finished file number {}.\n \n \n ' .format (idx + 1 ))
48
55
0 commit comments