Cleaned up logging, cleaned up debug messaging.

This commit is contained in:
McCloudS
2024-03-05 11:11:52 -07:00
committed by GitHub
parent 1f41f12a13
commit de604f40b7

View File

@@ -1,4 +1,4 @@
subgen_version = '2024.3.5.193' subgen_version = '2024.3.5.192'
from datetime import datetime from datetime import datetime
import subprocess import subprocess
@@ -22,6 +22,7 @@ import requests
import av import av
import ffmpeg import ffmpeg
import whisper import whisper
from tqdm.contrib.logging import logging_redirect_tqdm
def convert_to_bool(in_bool): def convert_to_bool(in_bool):
if isinstance(in_bool, bool): if isinstance(in_bool, bool):
@@ -76,7 +77,11 @@ class MultiplePatternsFilter(logging.Filter):
"Compression ratio threshold is not met", "Compression ratio threshold is not met",
"Processing segment at", "Processing segment at",
"Log probability threshold is", "Log probability threshold is",
"Reset prompt" "Reset prompt",
"Attempting to release",
"released on ",
"Attempting to acquire",
"acquired on",
] ]
# Return False if any of the patterns are found, True otherwise # Return False if any of the patterns are found, True otherwise
return not any(pattern in record.getMessage() for pattern in patterns) return not any(pattern in record.getMessage() for pattern in patterns)
@@ -84,10 +89,10 @@ class MultiplePatternsFilter(logging.Filter):
# Configure logging # Configure logging
if debug: if debug:
level = logging.DEBUG level = logging.DEBUG
logging.basicConfig(stream=sys.stdout, level=level, format="%(asctime)s %(levelname)s: %(message)s") logging.basicConfig(stream=sys.stderr, level=level, format="%(asctime)s %(levelname)s: %(message)s")
else: else:
level = logging.INFO level = logging.INFO
logging.basicConfig(stream=sys.stdout, level=level) logging.basicConfig(stream=sys.stderr, level=level)
# Get the root logger # Get the root logger
logger = logging.getLogger() logger = logging.getLogger()
@@ -101,6 +106,11 @@ logging.getLogger("urllib3").setLevel(logging.WARNING)
logging.getLogger("asyncio").setLevel(logging.WARNING) logging.getLogger("asyncio").setLevel(logging.WARNING)
logging.getLogger("watchfiles").setLevel(logging.WARNING) logging.getLogger("watchfiles").setLevel(logging.WARNING)
#This forces a flush to print progress correctly
def progress(seek, total):
sys.stdout.flush()
sys.stderr.flush()
TIME_OFFSET = 5 TIME_OFFSET = 5
def appendLine(result): def appendLine(result):
@@ -250,12 +260,11 @@ def asr(
start_time = time.time() start_time = time.time()
start_model() start_model()
files_to_transcribe.insert(0, f"Bazarr-detect-langauge-{random_name}") files_to_transcribe.insert(0, f"Bazarr-detect-langauge-{random_name}")
if(hf_transformers): if(hf_transformers):
result = model.transcribe(np.frombuffer(audio_file.file.read(), np.int16).flatten().astype(np.float32) / 32768.0, task=task, input_sr=16000, language=language, batch_size=hf_batch_size) result = model.transcribe(np.frombuffer(audio_file.file.read(), np.int16).flatten().astype(np.float32) / 32768.0, task=task, input_sr=16000, language=language, batch_size=hf_batch_size, progress_callback=progress)
else: else:
result = model.transcribe_stable(np.frombuffer(audio_file.file.read(), np.int16).flatten().astype(np.float32) / 32768.0, task=task, input_sr=16000, language=language) result = model.transcribe_stable(np.frombuffer(audio_file.file.read(), np.int16).flatten().astype(np.float32) / 32768.0, task=task, input_sr=16000, language=language, progress_callback=progress)
appendLine(result) appendLine(result)
elapsed_time = time.time() - start_time elapsed_time = time.time() - start_time
minutes, seconds = divmod(int(elapsed_time), 60) minutes, seconds = divmod(int(elapsed_time), 60)
@@ -381,9 +390,9 @@ def gen_subtitles(file_path: str, transcribe_or_translate: str, front=True, forc
forceLanguage = force_detected_language_to forceLanguage = force_detected_language_to
logging.info(f"Forcing language to {forceLanguage}") logging.info(f"Forcing language to {forceLanguage}")
if(hf_transformers): if(hf_transformers):
result = model.transcribe(file_path, language=forceLanguage, batch_size=hf_batch_size, task=transcribe_or_translate) result = model.transcribe(file_path, language=forceLanguage, batch_size=hf_batch_size, task=transcribe_or_translate, progress_callback=progress)
else: else:
result = model.transcribe_stable(file_path, language=forceLanguage, task=transcribe_or_translate) result = model.transcribe_stable(file_path, language=forceLanguage, task=transcribe_or_translate, progress_callback=progress)
appendLine(result) appendLine(result)
result.to_srt_vtt(get_file_name_without_extension(file_path) + subextension, word_level=word_level_highlight) result.to_srt_vtt(get_file_name_without_extension(file_path) + subextension, word_level=word_level_highlight)
elapsed_time = time.time() - start_time elapsed_time = time.time() - start_time