chore: backup before migration to new repo

This commit is contained in:
Warren
2026-04-23 16:46:02 +08:00
parent 13dd3b30f3
commit 59809dae1f
40 changed files with 5566 additions and 1783 deletions

View File

@@ -22,6 +22,7 @@ def process_asrx(video_path: str, output_path: str, uuid: str = ""):
try:
import whisperx
import torch
except ImportError:
if publisher:
publisher.error("asrx", "whisperx not installed")
@@ -36,6 +37,14 @@ def process_asrx(video_path: str, output_path: str, uuid: str = ""):
publisher.info("asrx", "ASRX_LOADING_MODEL")
try:
# Fix for PyTorch 2.6+ compatibility
# Allow omegaconf types in torch.load
import omegaconf
torch.serialization.add_safe_globals(
[omegaconf.listconfig.ListConfig, omegaconf.dictconfig.DictConfig]
)
# Load model - using faster-whisper for better performance
# You can also use: "large-v3", "medium", "small", "base", "tiny"
model = whisperx.load_model("base", device="cpu", compute_type="int8")
@@ -54,9 +63,14 @@ def process_asrx(video_path: str, output_path: str, uuid: str = ""):
# Diarization (speaker segmentation)
try:
import whisperx
from whisperx.diarize import DiarizationPipeline
diarize_model = whisperx.DiarizationPipeline(use_auth_token=None)
# DiarizationPipeline parameters: model_name, token, device, cache_dir
diarize_model = DiarizationPipeline(
model_name="pyannote/speaker-diarization",
token=None, # HuggingFace token (None for public models)
device="cpu",
)
diarize_segments = diarize_model(video_path)
# Assign speaker labels