아래는 `faster-whisper-xxl.exe` 명령어의 옵션들을 한국어로 번역하고, 각 옵션에 대한 상세한 설명을 제공합니다. 각 옵션이 음성 인식 과정에 어떤 영향을 미치는지, 사용법, 주의사항 등을 포함하여 자세하게 설명합니다.
위치 인자 (Positional Arguments)
`audio [audio ...]`
- 한국어: 오디오 파일 [오디오 파일 ...]
- 설명:
- 음성 인식을 수행할 오디오 파일 경로를 지정합니다.
- 필수 인자이며, 하나 이상의 오디오 파일을 입력할 수 있습니다.
- 파일 경로 대신 와일드카드 (예:
*.mp3
), 파일 목록 파일 (txt, m3u, m3u8, lst), 또는 디렉토리 경로를 입력하여 여러 파일을 일괄 처리할 수 있습니다. - 파일 목록 또는 디렉토리 내의 비디오/오디오 파일이 아닌 파일은 확장자를 기준으로 필터링됩니다.
옵션 (Options)
`-h, --help`
- 설명:
- 프로그램의 도움말 메시지를 표시하고 종료합니다.
- 사용 가능한 모든 옵션과 간단한 사용법을 확인할 수 있습니다.
- 명령어를 처음 사용하는 경우나 옵션 사용법이 궁금할 때 유용합니다.
`--model MODEL, -m MODEL`
- 설명:
- 사용할 Whisper 모델의 이름을 지정합니다.
- 기본값:
medium
- 선택 가능한 모델:
tiny
,base
,small
,medium
,large
,large-v2
,large-v3
(faster-whisper XXL은large-v3
또는 XXL 모델 사용을 권장합니다.) - 모델 크기가 클수록 일반적으로 정확도가 높아지지만, 더 많은 컴퓨팅 자원이 필요하고 처리 속도가 느려집니다.
- 예시:
--model large-v3
또는-m large
`--model_dir MODEL_DIR`
- 모델 파일을 저장할 디렉토리 경로를 지정합니다.
- 기본값:
D:\Faster-Whisper-XXL\_models
(실행 파일과 동일한 폴더 내_models
폴더) - 모델 파일이 기본 경로가 아닌 다른 곳에 저장되어 있는 경우 이 옵션을 사용하여 경로를 지정할 수 있습니다.
- 모델 파일이 없으면 자동으로 다운로드됩니다.
- 예시:
--model_dir ./my_models
`--device DEVICE, -d DEVICE`
- 음성 인식 연산에 사용할 장치를 지정합니다.
- 기본값: CUDA 장치가 감지되면
cuda
, 그렇지 않으면cpu
cuda
를 사용하면 GPU를 사용하여 연산을 가속화할 수 있습니다.- CUDA GPU가 여러 개인 경우
cuda:0
,cuda:1
등으로 특정 GPU를 지정할 수 있습니다. - CPU를 사용하려면
cpu
를 입력합니다. - 예시:
--device cuda:1
또는-d cpu
`--output_dir OUTPUT_DIR, -o OUTPUT_DIR`
- 출력 파일 (자막 파일, 텍스트 파일 등)을 저장할 디렉토리 경로를 지정합니다.
- 기본값:
--batch_recursive=True
가 아닌 경우: 실행 파일과 동일한 폴더--batch_recursive=True
인 경우: 입력 미디어 파일이 있는 폴더'.'
: 현재 폴더'source'
: 입력 미디어 파일이 있는 폴더
- 지정된 디렉토리가 없으면 자동으로 생성됩니다.
- 예시:
--output_dir ./subtitles
또는-o source
`--output_format [{json,lrc,txt,text,vtt,srt,tsv,all} ...], -f [{json,lrc,txt,text,vtt,srt,tsv,all} ...]`
- 생성할 출력 파일의 형식을 지정합니다.
- 기본값:
['srt']
(SRT 자막 파일) - 여러 형식을 공백으로 구분하여 지정할 수 있습니다.
-
선택 가능한 형식:
json
: JSON 형식lrc
: LRC 가사 형식txt
,text
: 일반 텍스트 형식vtt
: VTT 자막 형식srt
: SRT 자막 형식tsv
: TSV (탭으로 구분된 값) 형식all
: 모든 형식 (json, lrc, txt, vtt, srt, tsv)
- 예시:
--output_format srt vtt json
또는-f txt
`--compute_type {default,auto,int8,int8_float16,int8_float32,int8_bfloat16,int16,float16,float32,bfloat16}, -ct {default,auto,int8,int8_float16,int8_float32,int8_bfloat16,int16,float16,float32,bfloat16}`
- 모델 연산에 사용할 양자화 유형을 지정합니다. 양자화는 모델 크기를 줄이고 속도를 향상시키는 기술입니다.
- 기본값:
auto
(자동으로 최적의 유형 선택) -
선택 가능한 유형:
default
: 기본 설정auto
: 자동으로 최적의 유형 선택int8
: 8비트 정수 양자화 (가장 작은 모델 크기, 속도 향상, 정확도 약간 감소 가능)int8_float16
,int8_float32
,int8_bfloat16
: 혼합 정밀도 양자화 (int8 연산과 float16/float32/bfloat16 연산 혼합)int16
: 16비트 정수 양자화float16
: 16비트 부동 소수점 (float16 또는 half precision)float32
: 32비트 부동 소수점 (float32 또는 single precision, 최고 정확도, 가장 느림)bfloat16
: BFloat16 부동 소수점 (float16과 유사하지만 다른 범위)
int8
은 메모리 사용량을 줄이고 속도를 높이는 데 효과적이지만, 모델에 따라 정확도가 약간 감소할 수 있습니다.float32
는 가장 높은 정확도를 제공하지만, 속도가 느립니다.auto
또는default
설정을 사용하면 프로그램이 자동으로 최적의 유형을 선택합니다.
`--verbose VERBOSE, -v VERBOSE`
- 디버그 메시지 출력을 활성화할지 여부를 지정합니다.
- 기본값:
False
(비활성화) True
로 설정하면 프로그램 실행 중 발생하는 다양한 디버그 메시지를 콘솔에 출력합니다.- 문제 해결 또는 개발 과정에서 유용하게 사용할 수 있습니다.
`--task {transcribe,translate}`
- 수행할 작업을 지정합니다.
- 기본값:
transcribe
(음성 인식) -
선택 가능한 작업:
transcribe
: 음성을 텍스트로 변환 (X -> X 언어)translate
: 음성을 영어로 번역 (X -> 영어)
transcribe
는 원본 언어와 동일한 언어로 텍스트를 생성하고,translate
는 원본 언어의 음성을 영어로 번역합니다.
`--language {af,am,ar,as,az,ba,be,bg,bn,bo,br,bs,ca,cs,cy,da,de,el,en,es,et,eu,fa,fi,fo,fr,gl,gu,ha,haw,he,hi,hr,ht,hu,hy,id,is,it,ja,jw,ka,kk,km,kn,ko,la,lb,ln,lo,lt,lv,mg,mi,mk,ml,mn,mr,ms,mt,my,ne,nl,nn,no,oc,pa,pl,ps,pt,ro,ru,sa,sd,si,sk,sl,sn,so,sq,sr,su,sv,sw,ta,te,tg,th,tk,tl,tr,tt,uk,ur,uz,vi,yi,yo,yue,zh,Afrikaans,Albanian,Amharic,Arabic,Armenian,Assamese,Azerbaijani,Bashkir,Basque,Belarusian,Bengali,Bosnian,Breton,Bulgarian,Burmese,Cantonese,Castilian,Catalan,Chinese,Croatian,Czech,Danish,Dutch,English,Estonian,Faroese,Finnish,Flemish,French,Galician,Georgian,German,Greek,Gujarati,Haitian,Haitian Creole,Hausa,Hawaiian,Hebrew,Hindi,Hungarian,Icelandic,Indonesian,Italian,Japanese,Javanese,Kannada,Kazakh,Khmer,Korean,Lao,Latin,Latvian,Letzeburgesch,Lingala,Lithuanian,Luxembourgish,Macedonian,Malagasy,Malay,Malayalam,Maltese,Mandarin,Maori,Marathi,Moldavian,Moldovan,Mongolian,Myanmar,Nepali,Norwegian,Nynorsk,Occitan,Panjabi,Pashto,Persian,Polish,Portuguese,Punjabi,Pushto,Romanian,Russian,Sanskrit,Serbian,Shona,Sindhi,Sinhala,Sinhalese,Slovak,Slovenian,Somali,Spanish,Sundanese,Swahili,Swedish,Tagalog,Tajik,Tamil,Tatar,Telugu,Thai,Tibetan,Turkish,Turkmen,Ukrainian,Urdu,Uzbek,Valencian,Vietnamese,Welsh,Yiddish,Yoruba}, -l { ... }`
- 오디오에 사용된 언어를 지정합니다.
- 기본값:
None
(언어 자동 감지) - 특정 언어를 지정하면 해당 언어 모델을 사용하여 음성 인식을 수행합니다.
None
으로 설정하면 언어 감지 기능을 사용하여 자동으로 언어를 감지합니다. (언어 감지 정확도는 모델 크기에 따라 달라질 수 있습니다.)- 지원되는 언어 목록은 옵션 값 목록에 명시되어 있습니다. (ISO 639-1 코드 또는 전체 언어 이름 사용 가능)
- 예시:
--language ko
(한국어) 또는-l English
(영어)
`--language_detection_threshold LANGUAGE_DETECTION_THRESHOLD, -ldt LANGUAGE_DETECTION_THRESHOLD`
- 언어 감지 시 언어를 확정하기 위한 최대 확률 임계값을 설정합니다.
- 기본값:
0.5
- 언어 토큰의 최대 확률이 이 값보다 높으면 해당 언어로 감지합니다.
- 값을 높이면 언어 감지가 더 엄격해지고, 낮추면 더 쉽게 언어를 감지합니다.
`--language_detection_segments LANGUAGE_DETECTION_SEGMENTS, -lds LANGUAGE_DETECTION_SEGMENTS`
- 언어 감지에 사용할 오디오 세그먼트 (청크) 수를 지정합니다.
- 기본값:
1
- 값을 높이면 더 많은 오디오 세그먼트를 사용하여 언어를 감지하므로 정확도가 향상될 수 있지만, 처리 시간이 늘어날 수 있습니다.
`--temperature TEMPERATURE`
- 샘플링에 사용할 온도 값 (Temperature)을 설정합니다.
- 기본값:
0
- 범위: 0.0 이상
- 온도가 높을수록 (예: 1.0) 모델 출력이 더 다양하고 창의적이 되지만, 오류가 발생할 가능성도 높아집니다.
- 온도가 0에 가까울수록 모델은 가장 확률이 높은 토큰을 선택하여 안정적인 출력을 생성합니다.
- 0은 결정론적 (deterministic) 샘플링 (빔 서치와 유사), 0보다 큰 값은 확률적 (probabilistic) 샘플링을 사용합니다.
`--best_of BEST_OF, -bo BEST_OF`
- 0이 아닌 온도 (temperature)로 샘플링할 때 생성할 후보 샘플의 수를 지정합니다.
- 기본값:
5
- 모델은 지정된 수만큼 후보 텍스트를 생성하고, 가장 높은 확률의 텍스트를 최종 결과로 선택합니다.
- 값을 높이면 더 나은 결과를 얻을 수 있지만, 처리 시간이 늘어납니다.
`--beam_size BEAM_SIZE, -bs BEAM_SIZE`
- 빔 서치 (beam search) 디코딩에 사용할 빔 (beam)의 개수를 지정합니다.
- 기본값:
5
- 빔 서치는 온도 (temperature)가 0일 때만 적용됩니다.
- 빔 크기가 클수록 더 넓은 탐색 공간을 고려하여 더 나은 결과를 얻을 수 있지만, 처리 시간이 늘어납니다.
`--patience PATIENCE, -p PATIENCE`
- 빔 디코딩에 사용할 선택적 인내심 (patience) 값을 설정합니다.
- 기본값:
2.0
- 기본값 (1.0)은 기존의 빔 서치와 동일합니다.
- 인내심 값은 빔 서치 과정에서 얼마나 오랫동안 개선이 없더라도 탐색을 계속할지를 결정합니다.
- 높은 인내심 값은 더 나은 결과를 얻을 수 있지만, 처리 시간이 늘어날 수 있습니다. (참고 논문: https://arxiv.org/abs/2204.05424)
`--length_penalty LENGTH_PENALTY`
- 토큰 길이 패널티 계수 (alpha)를 설정합니다. (참고 논문: https://arxiv.org/abs/1609.08144)
- 기본값:
1.0
(단순 길이 정규화 사용) - 길이 패널티는 생성된 텍스트의 길이에 따라 점수를 조정하는 데 사용됩니다.
- 값을 높이면 짧은 텍스트를 선호하고, 낮추면 긴 텍스트를 선호합니다.
`--repetition_penalty REPETITION_PENALTY`
- 이전에 생성된 토큰의 점수에 적용할 패널티를 설정합니다.
- 기본값:
1.0
(패널티 없음) - 1.0보다 큰 값을 설정하면 반복되는 단어 또는 구문에 패널티를 부여하여 반복을 억제합니다.
- 값이 클수록 반복 억제 효과가 강해지지만, 지나치게 높으면 자연스럽지 못한 텍스트가 생성될 수 있습니다.
`--no_repeat_ngram_size NO_REPEAT_NGRAM_SIZE`
- 지정된 크기의 N-gram (연속된 단어 시퀀스)이 반복되는 것을 방지합니다.
- 기본값:
0
(비활성화) - 0보다 큰 값을 설정하면 해당 크기의 N-gram이 텍스트 내에서 반복되는 것을 막습니다.
- 예를 들어,
--no_repeat_ngram_size 4
로 설정하면 4단어 이상의 반복을 방지합니다.
`--suppress_blank SUPPRESS_BLANK`
- 샘플링 시작 시 공백 (blank) 출력을 억제할지 여부를 지정합니다.
- 기본값:
True
(억제) True
로 설정하면 텍스트 시작 부분에 공백 토큰이 생성되는 것을 방지합니다.
`--suppress_tokens SUPPRESS_TOKENS`
- 샘플링 중에 억제할 토큰 ID 목록을 쉼표로 구분하여 지정합니다.
- 기본값:
-1
(대부분의 특수 문자 억제, 일반적인 구두점 제외) None
으로 설정하면 빈 목록을 전달합니다.- 특정 토큰 (예: 특수 기호, 원치 않는 단어 등)이 생성되는 것을 방지할 수 있습니다.
-1
은 대부분의 특수 문자를 억제하지만, 일반적인 구두점 (., ?, !)은 유지합니다.
`--initial_prompt INITIAL_PROMPT, -prompt INITIAL_PROMPT`
- 첫 번째 윈도우 (오디오 청크)에 대한 컨텍스트를 제공하는 선택적 텍스트 프롬프트를 지정합니다.
- 기본값:
auto
(자동 프롬프트) None
으로 설정하면 프롬프트를 비활성화합니다.'auto'
및'default'
는 실험적인 범용 프롬프트 프리셋입니다.task=transcribe
인 경우--language
가 설정되어 있어야 작동합니다.- 초기 프롬프트를 사용하면 모델이 특정 주제나 스타일로 텍스트를 생성하도록 유도할 수 있습니다.
`--prefix PREFIX`
- 첫 번째 윈도우에 대한 접두사로 사용할 선택적 텍스트를 지정합니다.
- 기본값:
None
- 현재 오디오 입력에 대한 부분적인 음성 인식 결과를 접두사로 제공할 수 있습니다.
- 모델이 특정 단어로 시작하는 텍스트를 생성하도록 유도할 수 있습니다.
`--condition_on_previous_text CONDITION_ON_PREVIOUS_TEXT, -condition CONDITION_ON_PREVIOUS_TEXT`
True
로 설정하면 모델의 이전 출력 (이전 윈도우의 텍스트)을 다음 윈도우의 프롬프트로 사용합니다.- 기본값:
True
(활성화) False
로 설정하면 윈도우 간 텍스트 일관성이 떨어질 수 있지만, 모델이 오류 루프에 빠지는 것을 방지할 수 있습니다.False
로 설정하는 경우--reprompt
옵션도 비활성화하는 것이 좋습니다.
`--prompt_reset_on_temperature PROMPT_RESET_ON_TEMPERATURE`
- 온도가 지정된 값보다 높으면 프롬프트를 초기화합니다.
- 기본값:
0.5
condition_on_previous_text
가True
일 때만 효과가 있습니다.- 높은 온도에서 샘플링할 때 프롬프트가 너무 오래 유지되어 일관성이 떨어지는 것을 방지하기 위해 사용될 수 있습니다.
`--without_timestamps WITHOUT_TIMESTAMPS`
<|notimestamps|>
토큰을 사용하여 텍스트 토큰만 샘플링합니다.- 기본값:
None
(타임스탬프 포함) - 30초보다 짧은 오디오에 적합합니다.
- 타임스탬프 생성을 비활성화하여 텍스트만 얻고 싶을 때 사용합니다.
`--max_initial_timestamp MAX_INITIAL_TIMESTAMP`
- 초기 타임스탬프가 이 값보다 늦을 수 없습니다.
- 기본값:
1.0
(초) - 오디오 시작 부분에 불필요한 타임스탬프가 생성되는 것을 방지하기 위해 사용될 수 있습니다.
`--temperature_increment_on_fallback TEMPERATURE_INCREMENT_ON_FALLBACK, -fallback TEMPERATURE_INCREMENT_ON_FALLBACK`
- 디코딩이 아래의 임계값을 충족하지 못하여 폴백 (fallback)할 때 증가시킬 온도 값을 설정합니다.
- 기본값:
0.2
- 폴백을 비활성화하려면
None
으로 설정합니다. - 디코딩 실패 시 온도를 점진적으로 높여 더 다양한 출력을 시도하고, 다시 디코딩을 시도합니다.
`--compression_ratio_threshold COMPRESSION_RATIO_THRESHOLD`
- gzip 압축률이 이 값보다 높으면 디코딩을 실패로 간주합니다.
- 기본값:
2.4
- 생성된 텍스트가 의미 없는 반복적인 내용으로 가득 차 있을 때 압축률이 높아지는 경향이 있습니다. 이러한 경우를 감지하여 디코딩 실패로 처리합니다.
`--logprob_threshold LOGPROB_THRESHOLD`
- 평균 로그 확률이 이 값보다 낮으면 디코딩을 실패로 간주합니다.
- 기본값:
-1.0
- 생성된 텍스트의 평균적인 품질을 평가하는 지표로 사용됩니다. 낮은 로그 확률은 모델이 텍스트 생성에 확신이 없음을 의미할 수 있습니다.
`--no_speech_threshold NO_SPEECH_THRESHOLD`
<|nospeech|>
토큰의 확률이 이 값보다 높고, 디코딩이logprob_threshold
로 인해 실패한 경우 해당 세그먼트를 무음으로 간주합니다.- 기본값:
0.6
- 오디오에 실제 음성이 없는데 모델이 텍스트를 생성하려고 시도하는 경우,
<|nospeech|>
토큰의 확률을 이용하여 무음 구간을 감지하고 텍스트 생성을 중단합니다.
`--word_timestamps WORD_TIMESTAMPS, -wt WORD_TIMESTAMPS`
- 단어 수준 타임스탬프 추출을 활성화하고, 이를 기반으로 결과를 개선합니다.
- 기본값:
True
(활성화) True
로 설정하면 각 단어의 시작 및 종료 시간을 포함하는 타임스탬프를 생성합니다.- 자막 형식 (SRT, VTT) 출력 시 단어 타임스탬프를 활용하여 싱크를 맞출 수 있습니다.
`--highlight_words HIGHLIGHT_WORDS, -hw HIGHLIGHT_WORDS`
- SRT 및 VTT 출력 형식에서 각 단어가 발화되는 시점에 맞춰 단어를 강조 (밑줄) 표시합니다. (คาราโอเก - 가라오케 효과)
- 기본값:
False
(비활성화) --word_timestamps
가True
여야 효과가 있습니다.--sentence
옵션과 함께 사용하면 효과가 없습니다.
`--prepend_punctuations PREPEND_PUNCTUATIONS`
word_timestamps
가True
인 경우, 지정된 구두점 기호를 다음 단어와 병합합니다.- 기본값:
"'“¿([{-
- 문장 시작 부분에 오는 따옴표, 괄호 등의 구두점을 다음 단어와 함께 묶어서 타임스탬프를 생성합니다.
`--append_punctuations APPEND_PUNCTUATIONS`
word_timestamps
가True
인 경우, 지정된 구두점 기호를 이전 단어와 병합합니다.- 기본값:
".。,,!!??::”)]}、"
- 문장 끝 부분에 오는 마침표, 쉼표, 따옴표, 괄호 등의 구두점을 이전 단어와 함께 묶어서 타임스탬프를 생성합니다.
`--threads THREADS`
- CPU 추론에 사용할 스레드 수를 지정합니다.
- 기본값:
0
(기본적으로 실제 코어 수, 최대 4개) - 값을 0으로 설정하면 프로그램이 자동으로 CPU 코어 수를 감지하여 최적의 스레드 수를 사용합니다.
- 멀티 코어 CPU 환경에서 스레드 수를 늘리면 CPU 연산 속도를 향상시킬 수 있습니다.
`--version`
- Faster-Whisper의 버전 번호를 표시하고 종료합니다.
`--vad_filter VAD_FILTER, -vad VAD_FILTER`
- 음성 활동 감지 (VAD - Voice Activity Detection)를 활성화하여 오디오에서 음성이 없는 부분을 필터링합니다.
- 기본값:
True
(활성화) True
로 설정하면 VAD를 사용하여 무음 구간을 제거하고 음성 구간만 음성 인식에 사용합니다.- 배경 소음이 많은 환경에서 음성 인식 정확도를 높이는 데 도움이 될 수 있습니다.
`--vad_threshold VAD_THRESHOLD`
- VAD에서 음성으로 간주하는 확률 임계값을 설정합니다.
- 기본값:
0.45
- 확률이 이 값보다 높으면 음성으로 간주합니다.
- 값을 높이면 VAD가 더 엄격해지고, 낮추면 더 쉽게 음성으로 감지합니다.
`--vad_min_speech_duration_ms VAD_MIN_SPEECH_DURATION_MS`
- 최종 음성 청크 중
vad_min_speech_duration_ms
보다 짧은 청크는 제거됩니다. - 기본값:
250
(ms) - 너무 짧은 음성 구간 (예: 잡음)을 제거하여 음성 인식 품질을 개선할 수 있습니다.
`--vad_max_speech_duration_s VAD_MAX_SPEECH_DURATION_S`
- 음성 청크의 최대 지속 시간 (초)입니다. 이보다 긴 청크는 마지막 무음 타임스탬프에서 분할됩니다.
- 기본값:
None
(제한 없음) - 너무 긴 음성 구간을 분할하여 메모리 사용량을 줄이고 처리 효율성을 높일 수 있습니다.
`--vad_min_silence_duration_ms VAD_MIN_SILENCE_DURATION_MS`
- 각 음성 청크가 끝난 후 분리하기 전에 기다릴 최소 무음 지속 시간 (ms)입니다.
- 기본값:
3000
(ms) (3초) - 연속적인 음성 구간 사이의 최소 무음 간격을 설정하여 음성 청크를 분리하는 기준을 정의합니다.
`--vad_speech_pad_ms VAD_SPEECH_PAD_MS`
- 최종 음성 청크의 양쪽에 추가할 패딩 (padding) 시간 (ms)입니다.
- 기본값:
900
(ms) - 음성 청크의 시작과 끝 부분에 약간의 여유 시간을 추가하여 음성 인식 정확도를 높일 수 있습니다.
`--vad_window_size_samples VAD_WINDOW_SIZE_SAMPLES`
- Silero VAD 모델에 입력될 오디오 청크의 크기 (샘플 수)입니다.
- 기본값:
1536
- 주의: 512, 1024, 1536 이외의 값은 모델 성능에 영향을 미칠 수 있습니다!
- VAD 모델의 성능에 영향을 미치는 중요한 파라미터입니다. 기본값 또는 권장 값 (512, 1024, 1536)을 사용하는 것이 좋습니다.
`--vad_method {silero_v4_fw,silero_v5_fw,silero_v3,silero_v4,silero_v5,pyannote_v3,pyannote_onnx_v3,auditok,webrtc}`
- 사용할 VAD (Voice Activity Detection) 방법을 선택합니다.
- 기본값:
silero_v4_fw
(Silero VAD v4 Framework 버전) -
선택 가능한 방법:
silero_v4_fw
,silero_v5_fw
: Silero VAD Framework 버전 (더 빠르고 가벼움)silero_v3
,silero_v4
,silero_v5
: Silero VAD 모델 버전pyannote_v3
,pyannote_onnx_v3
: pyannote.audio VAD 모델 (화자 분리 기능과 함께 사용 가능)auditok
: auditok VADwebrtc
: WebRTC VAD
- 각 VAD 방법은 성능, 속도, 정확도 면에서 차이가 있습니다. 사용 환경과 목적에 맞는 VAD 방법을 선택해야 합니다.
- 자세한 내용은 다음 링크를 참고하세요: 'https://github.com/Purfview/whisper-standalone-win/discussions/231'
`--vad_dump`
- VAD 타이밍 정보를 자막 파일로 덤프하여 검사할 수 있도록 합니다.
- 기본값:
False
(비활성화) - 또한, 디버깅을 위해 다양한 중간 오디오 파일을 덤프합니다.
- VAD가 오디오를 어떻게 분할하는지 시각적으로 확인하고 싶을 때 유용합니다.
`--vad_dump_aud`
--vad_dump
옵션의 추가 인자로, 수집된 청크를 오디오 파일로 덤프합니다.- 기본값:
False
(비활성화) - VAD에 의해 분리된 각 음성 청크를 별도의 오디오 파일로 저장하여 청취하고 싶을 때 사용합니다.
`--vad_device VAD_DEVICE`
pyannote_v3
또는pyannote_onnx_v3
VAD에 사용할 장치를 지정합니다.- 기본값: CUDA 장치가 감지되면
cuda
, 그렇지 않으면cpu
- CUDA GPU가 여러 개인 경우
cuda:0
,cuda:1
등으로 특정 GPU를 지정할 수 있습니다. - 다른 VAD 방법 (
silero_v*
,auditok
,webrtc
)에는 영향을 미치지 않습니다.
`--hallucination_silence_threshold HALLUCINATION_SILENCE_THRESHOLD, -hst HALLUCINATION_SILENCE_THRESHOLD`
- (실험적 기능)
word_timestamps
가True
일 때, 가능한 환각 (hallucination)이 감지되면 이 임계값 (초)보다 긴 침묵 기간을 건너뜁니다. - 기본값:
None
(비활성화) - 최적 값은 2~8초 사이입니다.
- 모델이 잘못된 내용을 생성하는 환각 현상을 억제하기 위해 사용될 수 있습니다.
- 긴 침묵 구간 이후에 환각이 발생할 가능성이 높다는 가정하에 작동합니다.
`--hallucination_silence_th_temp {0.0,0.2,0.5,0.8,1.0}, -hst_temp {0.0,0.2,0.5,0.8,1.0}`
- (실험적 기능)
--hallucination_silence_threshold
에 대한 추가 휴리스틱 (heuristic)입니다. - 기본값:
1.0
(비활성화) - 온도가 이 임계값보다 높으면 해당 세그먼트를 환각 가능성이 있는 것으로 간주하고
hst
점수를 무시합니다. 1.0
으로 설정하면 비활성화됩니다.- 높은 온도에서 샘플링할 때 환각이 더 자주 발생할 수 있다는 점을 고려하여, 온도 기반으로 환각 감지 기준을 조정합니다.
`--clip_timestamps CLIP_TIMESTAMPS, -clip CLIP_TIMESTAMPS`
- 처리할 클립의 시작 및 종료 타임스탬프 (초) 목록을 쉼표로 구분하여 지정합니다. (예:
start,end,start,end,...
) - 기본값:
0
(전체 오디오 처리) - 마지막 종료 타임스탬프는 기본적으로 파일 끝으로 설정됩니다.
- VAD는 자동으로 비활성화됩니다.
- 오디오 파일의 특정 구간만 음성 인식하고 싶을 때 사용합니다.
`--max_new_tokens MAX_NEW_TOKENS`
- 청크 (chunk) 당 생성할 최대 새 토큰 수를 지정합니다.
- 기본값:
None
(제한 없음) - 생성되는 텍스트의 길이를 제한하고 싶을 때 사용합니다.
`--chunk_length CHUNK_LENGTH`
- 오디오 세그먼트의 길이를 지정합니다.
- 기본값:
None
(FeatureExtractor의 기본 청크 길이 사용) None
이 아니면 FeatureExtractor의 기본chunk_length
를 덮어씁니다.- 오디오를 더 작은 청크로 분할하여 메모리 사용량을 줄이거나, 특정 청크 크기에 맞춰 모델을 최적화하고 싶을 때 사용합니다.
`--hotwords HOTWORDS`
- 모델에 힌트 단어/구 (hotwords/phrases)를 전달합니다.
- 기본값:
None
(힌트 단어 없음) --reprompt
와 유사하지만,reprompt
는 컨텍스트 토큰 공간을 안전하게 자르는 반면,hotwords
는 새 토큰 공간을 안전하지 않게 자릅니다.--prefix
가None
일 때만 효과가 있습니다.- 특정 단어나 구문이 음성 인식 결과에 포함되도록 유도하고 싶을 때 사용합니다. (예: 특정 제품 이름, 고유 명사 등)
`--batched`
- 배치 추론 모드를 활성화합니다.
- 기본값:
False
(비활성화) - VAD 청크를 배치로 묶어 음성 인식을 수행합니다.
- 속도를 2~4배 향상시킬 수 있지만, 음성 인식 품질이 저하될 수 있습니다.
- 많은 옵션이 이 모드에서 작동하지 않습니다.
`--batch_size BATCH_SIZE`
- 배치 추론 모드 (
--batched
)를 사용할 때 모델에 병렬 요청할 최대 요청 수를 설정합니다. - 기본값:
8
- 배치 크기를 늘리면 처리 속도를 향상시킬 수 있지만, 메모리 사용량이 증가합니다.
`--multilingual MULTILINGUAL`
- 모든 세그먼트 (청크)에 대해 언어 감지를 수행합니다.
- 기본값:
False
(비활성화) True
로 설정하면 오디오 내에서 언어가 변경될 때마다 자동으로 감지하여 해당 언어 모델을 적용합니다.- 다국어가 혼용된 오디오 파일 처리 시 유용합니다.
`--model_preload MODEL_PRELOAD`
True
: faster-whisper 모델을 오디오 반복 처리 전에 미리 로드합니다. 하지만--ff_mdx_kim2
모델과 충돌합니다.False
:--ff...
필터 이후 반복 처리 내에서 실행됩니다.None
: 자동 설정 (기본값).--ff_mdx_kim2
또는--diarize_only
가 활성화된 경우False
입니다.- 모델을 미리 로드하면 시작 시간을 단축할 수 있지만, 특정 필터와 호환성 문제가 발생할 수 있습니다.
`--batch_recursive, -br`
- 재귀적인 배치 파일 처리를 활성화합니다.
- 기본값:
False
(비활성화) True
로 설정하면 디렉토리 내의 하위 디렉토리까지 재귀적으로 탐색하여 오디오 파일을 처리합니다.--output_dir
의 기본값이 변경됩니다. (입력 미디어 파일이 있는 폴더)
`--beep_off`
- 작업 완료 시 삐 소리 알림을 비활성화합니다.
- 기본값:
False
(활성화)
`--skip`
- 입력이 와일드카드 또는 디렉토리인 경우, 자막 파일이 이미 존재하면 미디어 파일을 건너뜁니다.
- 기본값:
False
(비활성화) --output_format
목록의 첫 번째 형식의 자막 파일 존재 여부를 확인합니다.- 이미 자막 파일이 생성된 파일은 다시 처리하지 않고 건너뛰고 싶을 때 유용합니다.
`--checkcuda, -cc`
- CUDA 장치 수를 반환합니다. (Subtitle Edit 내부 사용)
- 기본값: 해당 없음
- Subtitle Edit과 같은 외부 프로그램에서 CUDA 장치 정보를 확인하기 위해 사용될 수 있습니다.
`--print_progress, -pp`
- 음성 인식 텍스트 대신 진행률 막대를 출력합니다.
- 기본값:
False
(텍스트 출력) - 콘솔에서 진행 상황을 시각적으로 확인하고 싶을 때 사용합니다.
`--postfix`
- 자막 파일 이름에 언어 코드를 접미사로 추가합니다.
- 기본값:
False
(접미사 없음) - 다국어 오디오 파일을 처리하고 자막 파일을 언어별로 구분하고 싶을 때 유용합니다.
`--check_files`
- 입력이 와일드카드 또는 디렉토리인 경우, 모든 파일을 음성 인식 처리하기 전에 입력 파일의 오류를 확인합니다.
- 기본값:
False
(파일 확인 안 함) - 입력 파일 목록에 오류가 있는 파일을 미리 감지하고 싶을 때 사용합니다.
`--alt_writer_off`
- (개발 실험용) 대체 자막 쓰기 함수를 강제로 비활성화합니다.
- 기본값:
False
(활성화) - 개발 및 디버깅 목적으로 사용되는 옵션입니다.
`--ignore_dupe_prompt IGNORE_DUPE_PROMPT, -idp IGNORE_DUPE_PROMPT`
- PR163 (pull request 163) 기능 활성화, 즉 프롬프트에 중복을 추가하지 않습니다. 환각 루프 가능성을 줄입니다.
- 기본값:
2
(2단계 깊이로 중복 검색) - 세그먼트에서 중복을 검색할 깊이를 설정합니다.
0
으로 설정하면 비활성화됩니다.- 모델이 동일한 내용을 반복적으로 생성하는 환각 현상을 억제하기 위해 사용될 수 있습니다.
`--hallucinations_list_off`
hallucinations_list
를 비활성화합니다. 알려진 환각을 프롬프트에 추가할 수 있습니다.- 기본값:
False
(활성화) - 환각 목록을 비활성화하여 모델이 특정 환각을 억제하는 것을 막고 싶을 때 사용합니다. (일반적인 사용자는 사용할 필요가 없는 옵션입니다.)
`--v3_offsets_off`
- 'large-v3' 모델 사용 시 의사 VAD (pseudo-vad) 임계값의 기본값에 대한 사용자 정의 오프셋을 비활성화합니다.
- 기본값:
False
(활성화) - 'large-v3' 모델의 환각 현상에 대응하기 위해 만들어진 오프셋입니다. 이 옵션을 켜면 해당 오프셋이 적용되지 않습니다.
`--reprompt REPROMPT, --carry_initial_prompt REPROMPT`
initial_prompt
가 모든 윈도우/청크의 프롬프트에 존재하도록 보장합니다.- 기본값:
True
(활성화) initial_prompt
가None
이 아니어야 효과가 있습니다.- 긴 오디오 파일 처리 시 초기 프롬프트가 컨텍스트에서 사라지지 않도록 유지하여 일관성을 높일 수 있습니다.
`--prompt_reset_on_no_end {0,1,2}`
- 윈도우/청크에 문장 끝이 없으면 프롬프트를 초기화합니다.
- 기본값:
2
(마침표 또는 쉼표 검색) -
선택 가능한 값:
0
: 비활성화1
: 마침표 (.) 검색2
: 마침표 (.) 또는 쉼표 (,) 검색
reprompt
가False
이고hotwords
가None
이면 자동으로 비활성화됩니다.- 문장 단위로 텍스트를 생성하고 싶을 때 유용합니다.
`--rehot`
- 개발 실험용 옵션입니다. 자동 프롬프트 프리셋을 핫워드 루틴으로 전송하기 위한 용도입니다.
- 기본값:
False
(비활성화) - 개발 및 디버깅 목적으로 사용되는 옵션입니다. (일반적인 사용자는 사용할 필요가 없는 옵션입니다.)
`--unmerged`
- 배치 추론 (
--batched
)에 대한 실험적 옵션입니다. 병합된 세그먼트 대신 병합되지 않은 세그먼트를 실행합니다. 매우 느립니다. - 기본값:
False
(병합된 세그먼트 사용) -
장점 가능성: 더 정확한 타임스탬프, 환각 감소, 문장 누락 감소,
--multilingual
과 함께 사용할 때 긍정적 효과 - 단점 가능성: 배치 처리 품질 추가 감소
- 배치 추론 시 타임스탬프 정확도를 높이거나 품질 저하를 완화하고 싶을 때 실험적으로 사용할 수 있습니다.
`--japanese {blend,kanji,hiragana,katakana}, -ja {blend,kanji,hiragana,katakana}`
- 일본어 출력 스타일을 지정합니다.
- 기본값:
blend
(혼합) -
선택 가능한 스타일:
blend
: 한자, 히라가나, 가타카나 혼합kanji
: 한자 위주hiragana
: 히라가나 위주katakana
: 가타카나 위주
- 일본어 텍스트 출력 스타일을 선호하는 스타일에 맞게 조정할 수 있습니다.
`--one_word {0,1,2}`
- SRT 및 VTT 자막을 한 줄에 한 단어씩 출력하는 옵션입니다.
- 기본값:
0
(비활성화) -
선택 가능한 값:
0
: 비활성화1
: SRT 및 VTT 자막을 한 줄에 한 단어씩 출력합니다.2
: '1'과 동일하며, 공백을 제거하고 자막 줄의 최소 지속 시간을 50ms 이상으로 보장합니다.
- 주의: VAD는 일부 줄의 타임스탬프 정확도를 약간 감소시킬 수 있습니다.
- 가라오케 스타일의 자막을 만들거나, 단어 단위로 강조 효과를 주고 싶을 때 유용합니다.
`--sentence`
- 줄을 문장 단위로 분할하는 기능을 활성화합니다.
- 기본값:
False
(비활성화) - 모든 문장이 새 세그먼트에서 시작됩니다.
- 기본적으로 더 나은 번역을 위해 문장 전체를 한 줄에 출력하도록 설계되었지만,
--max_...
파라미터와 함께 사용하여 줄바꿈 기준을 조절할 수 있습니다. --language
가 지정되지 않은 경우 제대로 작동하지 않을 수 있습니다.
`--standard`
- 표준적인 줄바꿈 스타일을 위한 빠른 하드코딩 프리셋입니다.
- 기본값:
False
(비활성화) --max_line_width=42
,--max_line_count=2
,--max_comma_cent=70
및--sentence
옵션을 자동으로 활성화합니다.- 일반적으로 사용되는 자막 스타일로 빠르게 설정하고 싶을 때 유용합니다.
`--standard_asia`
- 일부 아시아 언어에 대한 표준적인 줄바꿈 스타일을 위한 빠른 하드코딩 프리셋입니다.
- 기본값:
False
(비활성화) --max_line_width=16
,--max_line_count=2
,--max_comma_cent=80
및--sentence
옵션을 자동으로 활성화합니다.- 아시아 언어 자막에 적합한 스타일로 빠르게 설정하고 싶을 때 유용합니다.
`--max_comma MAX_COMMA`
- (
--sentence
필요) 이 길이 이후에는 쉼표 (,)를 문장의 끝으로 처리합니다. - 기본값:
250
(문자) --max_line_width
보다 크거나 같으면 비활성화됩니다.- 긴 문장에서 쉼표를 기준으로 줄바꿈을 더 적극적으로 수행하고 싶을 때 사용합니다.
`--max_comma_cent {20,30,40,50,60,70,80,90,100}`
- (
--sentence
필요)--max_line_width
의 비율 (%)로, 쉼표 뒤에서 줄바꿈을 시작하는 시점을 결정합니다. - 기본값:
100
(비활성화) 100
은 비활성화 상태입니다.- 값을 낮추면 쉼표가 나타나는 위치가
--max_line_width
의 지정된 비율에 도달했을 때 줄바꿈을 시작합니다.
`--max_gap MAX_GAP`
- (
--sentence
필요) 간격 길이 임계값 (초)입니다. 이보다 긴 간격은 마침표 (.)로 처리됩니다. - 기본값:
3.0
(초) - 긴 무음 구간을 문장 분리의 기준으로 사용하여 줄바꿈을 수행하고 싶을 때 사용합니다.
`--max_line_width MAX_LINE_WIDTH`
- 줄바꿈 전에 한 줄에 포함될 수 있는 최대 문자 수입니다.
- 기본값:
1000
(문자) --sentence
옵션과 함께 작동합니다.- 자막의 가독성을 높이기 위해 한 줄에 표시될 최대 문자 수를 제한합니다.
`--max_line_count MAX_LINE_COUNT`
- 하나의 자막 세그먼트에 포함될 수 있는 최대 줄 수입니다.
- 기본값:
1
(줄) --sentence
옵션과 함께 작동합니다.- 자막 세그먼트가 너무 길어지지 않도록 최대 줄 수를 제한합니다.
`--min_dist_to_end {0,4,5,6,7,8,9,10,11,12}`
- (
--sentence
필요) 'the', 'Mr.'과 같은 단어부터 줄 끝까지의 거리가 설정값보다 작으면 새 줄에서 시작합니다. - 기본값:
0
(비활성화) 0
은 비활성화 상태입니다.- 특정 단어로 끝나는 짧은 줄이 다음 줄로 이어지는 것을 방지하고 싶을 때 사용합니다. (예: "Mr." 다음에 이름이 오는 경우, "Mr."을 새 줄에서 시작하도록 함)
`--ff_dump`
- 필터에 의해 전처리된 오디오를 16000Hz 파일로 덤프하고, 일부 중간 오디오 파일 삭제를 방지합니다.
- 기본값:
False
(비활성화) - 오디오 필터링 과정 (FFmpeg 필터)을 디버깅하거나, 필터링된 오디오를 확인하고 싶을 때 사용합니다.
`--ff_track {1,2,3,4,5,6}`
- 오디오 트랙 선택기입니다.
- 기본값:
1
(첫 번째 오디오 트랙 선택) - 1은 첫 번째 오디오 트랙을 선택합니다.
- 멀티 트랙 오디오 파일에서 특정 트랙만 음성 인식하고 싶을 때 사용합니다.
`--ff_fc`
- 프론트 센터 (FC) 채널만 처리하도록 선택합니다.
- 기본값:
False
(비활성화) - 오디오 파일이 센터 채널에만 음성이 녹음된 경우, 센터 채널만 선택하여 노이즈를 줄이고 음성 인식 정확도를 높일 수 있습니다.
`--ff_lc`
- 왼쪽 채널만 처리하도록 선택합니다.
- 기본값:
False
(비활성화) - 오디오에 반전된 극성 콘텐츠 (예: 나레이션)가 포함된 경우 유용합니다.
- 특정 채널에만 음성이 집중되어 있는 경우, 해당 채널만 선택하여 처리 효율성을 높일 수 있습니다.
`--ff_invert`
- 왼쪽 채널의 극성을 반전하고 오디오를 모노로 믹스합니다. 반전된 극성 콘텐츠를 유지하고 채널에서 동일한 신호를 삭제합니다.
- 기본값:
False
(비활성화) - 오디오에 반전된 극성 콘텐츠가 포함된 경우 유용합니다. (예: 스테레오 오디오에서 좌우 채널의 위상이 반전된 경우)
`--ff_mp3`
- 오디오 필터: MP3로 변환 후 다시 되돌립니다.
- 기본값:
False
(비활성화) - 오디오 코덱 변환 과정에서 발생할 수 있는 문제를 해결하거나, 특정 코덱 관련 문제를 디버깅하고 싶을 때 사용할 수 있습니다.
`--ff_sync`
- 오디오 필터: 샘플을 주어진 타임스탬프에 맞춰 늘리거나 줄입니다. 초당 최대 3600 샘플 보정.
- 기본값:
False
(비활성화) - 입력 파일은 mp4, mkv와 같이 PTS (Presentation Timestamp) 저장을 지원하는 컨테이너 형식이어야 합니다.
- 오디오와 비디오의 싱크가 맞지 않는 경우, 오디오를 타임스탬프에 맞춰 동기화할 수 있습니다.
`--ff_rnndn_sh`
- 오디오 필터: GregorR의 SH 모델을 사용하여 Recurrent Neural Networks로 비음성 부분을 억제합니다.
- 기본값:
False
(비활성화) - 주의: Xiph 모델보다 공격적이며, 노래를 제거할 수 있습니다.
- RNN (Recurrent Neural Network) 기반의 SH 모델을 사용하여 효과적으로 비음성 노이즈를 억제합니다.
`--ff_rnndn_xiph`
- 오디오 필터: Xiph의 원본 모델을 사용하여 Recurrent Neural Networks로 비음성 부분을 억제합니다.
- 기본값:
False
(비활성화) - RNN (Recurrent Neural Network) 기반의 Xiph 모델을 사용하여 비음성 노이즈를 억제합니다.
`--ff_fftdn [0 - 97]`
- 오디오 필터: FFT (Fast Fourier Transform)를 사용한 일반적인 데노이즈 (denoise) 필터입니다.
- 기본값:
0
(비활성화) - 범위: 0 ~ 97 (0: 비활성화, 12: 일반 강도)
- FFT 기반의 데노이즈 필터로, 다양한 강도로 노이즈를 줄일 수 있습니다.
`--ff_tempo [0.5 - 2.0]`
- 오디오 필터: 오디오 템포를 조정합니다.
- 기본값:
1.0
(비활성화) - 범위: 0.5 ~ 2.0 (1.0: 비활성화, 1.0 미만: 속도 느리게, 1.0 초과: 속도 빠르게)
- 오디오 재생 속도를 조절하여 음성 인식 성능을 향상시키거나, 특정 목적 (예: 느린 속도로 듣기)에 맞게 오디오를 조정할 수 있습니다.
`--ff_gate`
- 오디오 필터: 신호의 낮은 부분을 줄입니다. (노이즈 게이트)
- 기본값:
False
(비활성화) - 노이즈 게이트 필터를 사용하여 특정 임계값 이하의 신호를 감쇠시켜 배경 노이즈를 줄일 수 있습니다.
`--ff_speechnorm`
- 오디오 필터: 극단적이고 빠른 음성 증폭 필터입니다. (스피치 노멀라이저)
- 기본값:
False
(비활성화) - 음성의 볼륨을 증폭시켜 작게 녹음된 음성을 더 잘 들리게 만들 수 있습니다.
`--ff_loudnorm`
- 오디오 필터: EBU R128 라우드니스 정규화 필터입니다. (라우드니스 노멀라이저)
- 기본값:
False
(비활성화) - EBU R128 표준에 따라 오디오의 라우드니스를 정규화하여 음량 균형을 맞추고 청취 경험을 향상시킬 수 있습니다.
`--ff_silence_suppress noise duration`
- 오디오 필터: 오디오의 조용한 부분을 억제합니다. 두 개의 값을 입력합니다.
- 기본값:
[0, 3.0]
(비활성화, 최소 무음 지속 시간: 3초) - 첫 번째 값: 노이즈 허용 오차 (데시벨, -70 ~ 0, 0: 비활성화)
- 두 번째 값: 최소 무음 지속 시간 (초, 0.1 ~ 10)
- 지정된 노이즈 허용 오차 이하의 조용한 부분을 억제하여 배경 노이즈를 줄일 수 있습니다.
`--ff_lowhighpass`
- 오디오 필터: 50Hz ~ 7800Hz 대역을 통과시키는 필터입니다. sinc + afir 필터 사용. (대역 통과 필터)
- 기본값:
False
(비활성화) - 음성 인식에 중요한 주파수 대역 (50Hz ~ 7800Hz)만 통과시키고, 불필요한 저주파 및 고주파 노이즈를 제거하여 음성 품질을 개선할 수 있습니다.
`--ff_mdx_kim2`
- 오디오 필터: 고품질 보컬 추출 필터입니다. MDX-Net 'Kim_Vocal_2' 모델 (KimberleyJensen 제작) 사용.
- 기본값:
False
(비활성화) - 주의: 'HT Demucs v4 FT'보다 성능이 뛰어나며, 필터 체인에서 가장 먼저 적용됩니다. 영화 및 시리즈에 사용하는 것을 권장합니다.
- MDX-Net 기반의 고품질 보컬 추출 필터를 사용하여 음악에서 보컬 (목소리) 부분을 분리해낼 수 있습니다.
`--mdx_chunk MDX_CHUNK`
- MDX-Net 필터의 청크 크기 (초)입니다.
- 기본값:
15
(초) - 주의: 작을수록 메모리 사용량은 줄어들지만, 속도가 느려지고 품질이 약간 낮아질 수 있습니다.
- MDX-Net 필터의 메모리 사용량과 처리 속도, 품질 간의 균형을 조절합니다.
`--mdx_device MDX_DEVICE`
- MDX-Net 필터에 사용할 장치를 지정합니다.
- 기본값: CUDA 장치가 감지되면
cuda
, 그렇지 않으면cpu
- CUDA GPU가 여러 개인 경우
cuda:0
,cuda:1
등으로 특정 GPU를 지정할 수 있습니다.
`--diarize {pyannote_v3.0,pyannote_v3.1,reverb_v1,reverb_v2}`
- 사용할 화자 분리 (diarization) 모델을 선택합니다.
- 기본값:
None
(화자 분리 비활성화) -
선택 가능한 모델:
pyannote_v3.0
,pyannote_v3.1
: pyannote.audio v3 모델reverb_v1
,reverb_v2
: Reverb 모델
- 주의:
--diarize
를 활성화하면--sentence
옵션이 자동으로 활성화되며, JSON 형식을 제외한 모든 출력 형식에 영향을 미칩니다. - 자세한 내용은 다음 링크를 참고하세요: 'https://github.com/Purfview/whisper-standalone-win/discussions/322'
- 오디오 파일에서 화자를 분리하고, 각 화자의 발화를 구분하여 자막 또는 텍스트를 생성할 수 있습니다.
`--diarize_device DIARIZE_DEVICE`
--diarize
에 사용할 장치를 지정합니다.- 기본값: CUDA 장치가 감지되면
cuda
, 그렇지 않으면cpu
- CUDA GPU가 여러 개인 경우
cuda:0
,cuda:1
등으로 특정 GPU를 지정할 수 있습니다.
`--diarize_threads DIARIZE_THREADS`
- 화자 분리에 사용할 스레드 수를 지정합니다.
- 기본값:
0
(자동) - 기본적으로 자동으로 최적의 스레드 수를 사용합니다.
`--diarize_dump`
- 화자 분리 출력을 파일로 덤프합니다.
- 기본값:
False
(비활성화) --diarize_only
를 설정한 경우에는 설정할 필요가 없습니다.- 화자 분리 결과를 파일로 저장하여 분석하거나 디버깅하고 싶을 때 사용합니다.
`--speaker SPEAKER`
- 화자 분리 시 'SPEAKER' 문자열을 사용자 정의 단어로 대체합니다.
- 기본값:
SPEAKER
- 자막 또는 텍스트 출력 시 'SPEAKER 1', 'SPEAKER 2' 대신 사용자가 원하는 단어 (예: '화자 1', '참가자 A')로 화자 이름을 표시할 수 있습니다.
`--num_speakers NUM_SPEAKERS`
- 화자 분리 시 알려진 화자 수를 지정합니다.
- 기본값:
None
(자동 감지) - 오디오 파일에 몇 명의 화자가 등장하는지 미리 알고 있는 경우, 화자 수를 지정하여 화자 분리 정확도를 높일 수 있습니다.
`--min_speakers MIN_SPEAKERS`
- 화자 분리 시 최소 화자 수를 지정합니다.
- 기본값:
None
(제한 없음) num_speakers
가 제공되면 효과가 없습니다.- 화자 수가 확실하지 않지만 최소 화자 수를 예상할 수 있는 경우, 최소 화자 수를 지정하여 화자 분리 정확도를 높일 수 있습니다.
`--max_speakers MAX_SPEAKERS`
- 화자 분리 시 최대 화자 수를 지정합니다.
- 기본값:
None
(제한 없음) num_speakers
가 제공되면 효과가 없습니다.- 화자 수가 확실하지 않지만 최대 화자 수를 예상할 수 있는 경우, 최대 화자 수를 지정하여 화자 분리 정확도를 높일 수 있습니다.
`--diarize_ff DIARIZE_FF`
True
:--ff_...
오디오 필터 후 화자 분리를 수행합니다. 하지만 반복 처리 내에서 실행되며,--model_preload
가True
이면 FW 모델과 충돌합니다.False
: 다른 작업 전에 모든 파일에 대해 화자 분리를 먼저 수행합니다.None
: 자동 설정 (기본값). 'ff' 필터가 활성화된 경우True
입니다.- 오디오 필터링 후 화자 분리를 수행할지, 아니면 먼저 화자 분리를 수행할지 선택합니다. 필터링된 오디오에 대해 화자 분리를 수행하는 것이 더 정확한 결과를 얻을 수 있는 경우가 많습니다.
`--return_embeddings, -embeddings`
- 화자 분리 임베딩을 파일로 덤프합니다. 화자당 하나의 임베딩을 얻습니다.
- 기본값:
False
(비활성화) - 화자 분리 모델에서 추출된 임베딩 벡터를 파일로 저장하여 화자 식별 또는 분석에 활용할 수 있습니다.
`--diarize_only`
- 음성 인식 없이 화자 분리만 수행하고 싶을 때 사용합니다.
- 기본값:
False
(음성 인식 및 화자 분리) --diarize_dump
를 설정할 필요가 없습니다.- 오디오 파일에서 화자 분리 결과만 얻고 싶을 때 사용합니다. (자막 또는 텍스트 생성은 생략)
주의:
- 위 옵션들은
faster-whisper-xxl.exe
명령어의 모든 옵션을 포함하며, 각 옵션의 기본값, 선택 가능한 값, 설명 등을 상세하게 제공합니다. - 각 옵션은 명령줄에서
--옵션_이름 값
또는-짧은_옵션 값
형태로 사용합니다. - 옵션 값은 해당 옵션의 데이터 형식에 맞춰 입력해야 합니다. (예: 숫자, 문자열, 선택 목록 등)
- 옵션들을 조합하여 다양한 음성 인식 및 자막 생성 작업을 수행할 수 있습니다.
이 설명이 Faster-Whisper-XXL을 사용하는 데 도움이 되기를 바랍니다!
AI와 함께 성장하는 블로거들의 커뮤니티에 초대합니다!
최신 AI 트렌드부터 실전 활용법까지, 함께 배우고 나누며 성장해요.
지금 참여하시고 새로운 가능성을 발견하세요!
AI를 활용하는 블로거들의 공간