Simple Subtitling: 영상作品용 자동 자막 생성 도구
Simple Subtitling이란 무엇인가요?
Simple Subtitling은 영화 및 TV 작품의 자막을 자동으로 생성할 수 있는 AI도구입니다. WhisperX 기술을 사용하여 오디오 파일을 타임스탬프와 화자 ID가 포함된 자막 파일(SRT)로 변환합니다. 그런 다음 화자 임베딩 추출 및 클러스터링을 통해 화자 ID를 할당하며, 오디오 샘플이 있을 경우 정확한 화자 이름을 할당할 수도 있습니다. 구체적으로, 먼저 오디오를 텍스트로 변환하고 타임스탬프를 추가합니다. 그런 다음 각 화자의 특징을 추출하고 응집형 계층적 클러스터링(AHC)을 사용하여 특징을 그룹화한 후 마지막으로 화자에게 ID를 할당합니다. 사용자가 배우의 음성 샘플을 제공하는 경우 화자에게 이름을 지정할 수도 있습니다. 이 도구는 자막 생성을 더 간단하게 만들어 영화 및 TV 작품을 더 편리하게 시청할 수 있도록 하는 것을 목표로 합니다.

Simple Subtitling 기능 특징
음성 인식 및 타임스탬프 생성: WhisperX 기술을 사용하여 오디오 콘텐츠를 단어 단위로 정확하게 인식하고 타임스탬프가 포함된 음성 텍스트를 생성합니다.
화자 인식: 문장 수준의 화자 임베딩을 추출하고 응집형 계층적 클러스터링(AHC)을 적용하여 임베딩을 그룹화함으로써 화자 ID를 할당합니다.
다국어 지원: 다양한 언어의 오디오 입력을 지원하며 해당 자막을 생성할 수 있습니다.
사용자 정의 설정: 사용자는 오디오 샘플 디렉터리를 지정하여 화자에게 정확한 이름을 할당할 수 있습니다.
고정밀 음성 인식 및 클러스터링: 고정밀 음성 인식 및 클러스터링을 구현하여 음성을 정확하게 텍스트로 변환하고 다양한 화자의 음성을 분류하여 자막의 정확성과 가독성을 향상시킵니다.
Simple Subtitling 설치 및 사용 방법
설치 단계
simplesub이라는 이름의 conda 환경을 생성하고 활성화하며 Python 버전을 3.11로 지정합니다.
해당 환경에서 프로젝트에 필요한 Python 패키지를 pip install -r requirements.txt 명령을 통해 설치합니다.
ffmpeg도 설치해야 하며 구체적인 설치 방법은 관련 문서를 참조할 수 있습니다.
사용 방법
기본 사용법
python main.py --input_file [INPUT_FILE_PATH] --output_file [OUTPUT_SRT_PATH]를 실행합니다. 예를 들어 python main.py --input_file data/friends.wav --output_file result/friends.srt이며, 이는 입력된 오디오 파일에 따라 자막 파일을 생성합니다.
오디오 샘플을 사용하여 화자 이름 지정
먼저 특정 구조에 따라 --exemplar_dir 디렉터리를 구성합니다. 각 하위 폴더는 한 명의 화자를 나타내며 그 안에 해당 화자의 오디오 샘플이 포함됩니다.
그런 다음 python main.py --input_file [INPUT_FILE_PATH] --output_file [OUTPUT_SRT_PATH] --exemplar_dir [PATH_OF_EXEMPLARS]를 실행합니다. 예를 들어 python main.py --input_file data/friends.wav --output_file result/friends_exemplars.srt --exemplars exemplars입니다.
매개변수 설명
input_file: 입력 오디오 파일의 경로입니다.
output_file: 출력 자막 파일(SRT 형식)의 경로입니다.
whisper_model_type: Whisper 모델의 유형이며 기본값은 'medium'이고 관련 문서에서 선택 가능한 유형을 확인할 수 있습니다.
language: 언어 코드(두 글자, 예: 영어는 'en')이며 None인 경우 Whisper는 처음 30초 동안 언어를 감지하고 기본값은 None입니다.
embedding_model: 화자 임베딩 추출기이며 'ecapatdnn' 또는 'wespeaker'를 선택할 수 있고 기본값은 'wespeaker'입니다.
n_cluster: 화자 수를 알고 있는 경우 이 매개변수를 지정할 수 있으며 기본값은 None입니다.
distance_threshold: n_cluster가 지정되지 않은 경우 이는 AHC(응집형 계층적 클러스터링)의 거리 임계값이며 기본값은 0.8입니다.
exemplar_dir: 오디오 샘플이 포함된 디렉터리 경로이며 기본값은 None입니다.
exemplar_threshold: "알 수 없음" 화자를 결정하는 데 사용되는 코사인 유사도 임계값이며 기본값은 0.2입니다.
Github:https://github.com/JaesungHuh/simple-subtitling
대본 기획 도우미▸
AI 앱
AI 뉴스 