Update modules/whisper/whisper_base.py
Browse files- modules/whisper/whisper_base.py +15 -14
modules/whisper/whisper_base.py
CHANGED
|
@@ -220,6 +220,7 @@ class WhisperBase(ABC):
|
|
| 220 |
model = whisper.load_model("base")
|
| 221 |
|
| 222 |
files_info = {}
|
|
|
|
| 223 |
for file in files:
|
| 224 |
|
| 225 |
## Detect language
|
|
@@ -240,16 +241,16 @@ class WhisperBase(ABC):
|
|
| 240 |
*whisper_params,
|
| 241 |
)
|
| 242 |
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
|
| 254 |
## Add output file as txt
|
| 255 |
file_name, file_ext = os.path.splitext(os.path.basename(file))
|
|
@@ -260,7 +261,7 @@ class WhisperBase(ABC):
|
|
| 260 |
file_format="txt",
|
| 261 |
output_dir=self.output_dir
|
| 262 |
)
|
| 263 |
-
|
| 264 |
|
| 265 |
## Add output file as srt
|
| 266 |
file_name, file_ext = os.path.splitext(os.path.basename(file))
|
|
@@ -271,7 +272,7 @@ class WhisperBase(ABC):
|
|
| 271 |
file_format="srt",
|
| 272 |
output_dir=self.output_dir
|
| 273 |
)
|
| 274 |
-
|
| 275 |
|
| 276 |
total_result = ''
|
| 277 |
total_info = ''
|
|
@@ -282,12 +283,12 @@ class WhisperBase(ABC):
|
|
| 282 |
#total_info += f'{info["lang"]}'
|
| 283 |
total_info += f"Language {info['lang']} detected"
|
| 284 |
# Just get first line:
|
| 285 |
-
break
|
| 286 |
|
| 287 |
#result_str = f"Processing of file '{file_name}{file_ext}' done in {self.format_time(total_time)}:\n\n{total_result}"
|
| 288 |
total_info += f"\nTranscription process done in {self.format_time(total_time)}"
|
| 289 |
result_str = total_result
|
| 290 |
-
result_file_path = [info['path'] for info in
|
| 291 |
|
| 292 |
return [result_str, result_file_path, total_info]
|
| 293 |
|
|
|
|
| 220 |
model = whisper.load_model("base")
|
| 221 |
|
| 222 |
files_info = {}
|
| 223 |
+
files_to_download = {}
|
| 224 |
for file in files:
|
| 225 |
|
| 226 |
## Detect language
|
|
|
|
| 241 |
*whisper_params,
|
| 242 |
)
|
| 243 |
|
| 244 |
+
file_name, file_ext = os.path.splitext(os.path.basename(file))
|
| 245 |
+
subtitle, file_path = self.generate_and_write_file(
|
| 246 |
+
file_name=file_name,
|
| 247 |
+
transcribed_segments=transcribed_segments,
|
| 248 |
+
add_timestamp=add_timestamp,
|
| 249 |
+
file_format=file_format,
|
| 250 |
+
output_dir=self.output_dir
|
| 251 |
+
)
|
| 252 |
+
|
| 253 |
+
files_info[file_name] = {"subtitle": subtitle, "time_for_task": time_for_task, "path": file_path, "lang": file_language}
|
| 254 |
|
| 255 |
## Add output file as txt
|
| 256 |
file_name, file_ext = os.path.splitext(os.path.basename(file))
|
|
|
|
| 261 |
file_format="txt",
|
| 262 |
output_dir=self.output_dir
|
| 263 |
)
|
| 264 |
+
files_to_download[file_name+"_txt"] = {"subtitle": subtitle, "time_for_task": time_for_task, "path": file_path, "lang": file_language}
|
| 265 |
|
| 266 |
## Add output file as srt
|
| 267 |
file_name, file_ext = os.path.splitext(os.path.basename(file))
|
|
|
|
| 272 |
file_format="srt",
|
| 273 |
output_dir=self.output_dir
|
| 274 |
)
|
| 275 |
+
files_to_download[file_name+"_srt"] = {"subtitle": subtitle, "time_for_task": time_for_task, "path": file_path, "lang": file_language}
|
| 276 |
|
| 277 |
total_result = ''
|
| 278 |
total_info = ''
|
|
|
|
| 283 |
#total_info += f'{info["lang"]}'
|
| 284 |
total_info += f"Language {info['lang']} detected"
|
| 285 |
# Just get first line:
|
| 286 |
+
#break
|
| 287 |
|
| 288 |
#result_str = f"Processing of file '{file_name}{file_ext}' done in {self.format_time(total_time)}:\n\n{total_result}"
|
| 289 |
total_info += f"\nTranscription process done in {self.format_time(total_time)}"
|
| 290 |
result_str = total_result
|
| 291 |
+
result_file_path = [info['path'] for info in files_to_download.values()]
|
| 292 |
|
| 293 |
return [result_str, result_file_path, total_info]
|
| 294 |
|