|
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
if "%~1"=="" (
|
|
echo Usage: %0 ^<input_file^>
|
|
exit /b 1
|
|
)
|
|
|
|
set "input_file=%~1"
|
|
set "file_extension=%~x1"
|
|
set "file_name=%~n1"
|
|
set "file_dir=%~dp1"
|
|
|
|
|
|
if /i "%file_extension%"==".avi" (
|
|
echo Extracting audio from video...
|
|
ffmpeg -i "%input_file%" -q:a 0 "%file_dir%%file_name%.mp3"
|
|
set "audio_file=%file_dir%%file_name%.mp3"
|
|
) else (
|
|
set "audio_file=%input_file%"
|
|
)
|
|
|
|
|
|
echo Running Demucs for vocal extraction...
|
|
demucs -n htdemucs_ft "%audio_file%" --two-stems vocals -o "%file_dir%vocal_extracted" --filename "{track}-{stem}.{ext}"
|
|
|
|
|
|
echo Processing extracted vocals...
|
|
ffmpeg -i "%file_dir%vocal_extracted\htdemucs_ft\%file_name%-vocals.wav" -ar 16000 -ac 1 -acodec pcm_s16le -af "aresample=resampler=soxr, lowpass=f=7500, acompressor=threshold=-12dB:ratio=2:attack=5:release=50, equalizer=f=1000:width_type=o:width=1:g=2, equalizer=f=3000:width_type=o:width=1:g=3" -b:a 128k "%file_dir%%file_name%_vocals_16k_mono_enhanced.wav"
|
|
|
|
|
|
echo Running transcription...
|
|
python "%~dp0transcribe_japanese_with_diarization.py" "%file_dir%%file_name%_vocals_16k_mono_enhanced.wav"
|
|
|
|
|
|
echo Cleaning up temporary files...
|
|
if /i "%file_extension%"==".avi" del "%file_dir%%file_name%.mp3"
|
|
rmdir /s /q "%file_dir%vocal_extracted"
|
|
del "%file_dir%%file_name%_vocals_16k_mono_enhanced.wav"
|
|
|
|
echo Processing complete! |