SYMBOL INDEX (205 symbols across 66 files) FILE: batch/utils/batch_processor.py function record_and_update_config (line 14) | def record_and_update_config(source_language, target_language): function process_batch (line 25) | def process_batch(): FILE: batch/utils/settings_check.py function check_settings (line 13) | def check_settings(): FILE: batch/utils/video_processor.py function process_video (line 19) | def process_video(file, dubbing=False, is_retry=False): function prepare_output_folder (line 74) | def prepare_output_folder(output_folder): function process_input_file (line 79) | def process_input_file(file): function split_sentences (line 90) | def split_sentences(): function summarize_and_translate (line 94) | def summarize_and_translate(): function process_and_align_subtitles (line 98) | def process_and_align_subtitles(): function gen_audio_tasks (line 102) | def gen_audio_tasks(): FILE: core/_10_gen_audio.py function parse_df_srt_time (line 24) | def parse_df_srt_time(time_str: str) -> float: function adjust_audio_speed (line 30) | def adjust_audio_speed(input_file: str, output_file: str, speed_factor: ... function process_row (line 65) | def process_row(row: pd.Series, tasks_df: pd.DataFrame) -> Tuple[int, fl... function generate_tts_audio (line 76) | def generate_tts_audio(tasks_df: pd.DataFrame) -> pd.DataFrame: function process_chunk (line 118) | def process_chunk(chunk_df: pd.DataFrame, accept: float, min_speed: floa... function merge_chunks (line 141) | def merge_chunks(tasks_df: pd.DataFrame) -> pd.DataFrame: function gen_audio (line 209) | def gen_audio() -> None: FILE: core/_11_merge_audio.py function load_and_flatten_data (line 16) | def load_and_flatten_data(excel_file): function get_audio_files (line 27) | def get_audio_files(df): function process_audio_segment (line 38) | def process_audio_segment(audio_file): function merge_audio_segments (line 54) | def merge_audio_segments(audios, new_sub_times, sample_rate): function create_srt_subtitle (line 85) | def create_srt_subtitle(): function merge_full_audio (line 99) | def merge_full_audio(): FILE: core/_12_dub_to_vid.py function merge_video_audio (line 31) | def merge_video_audio(): FILE: core/_1_ytdlp.py function sanitize_filename (line 7) | def sanitize_filename(filename): function update_ytdlp (line 15) | def update_ytdlp(): function download_video_ytdlp (line 26) | def download_video_ytdlp(url, save_path='output', resolution='1080'): function find_video_files (line 54) | def find_video_files(save_path='output'): FILE: core/_2_asr.py function transcribe (line 8) | def transcribe(): FILE: core/_3_1_split_nlp.py function split_by_spacy (line 6) | def split_by_spacy(): FILE: core/_3_2_split_meaning.py function tokenize_sentence (line 12) | def tokenize_sentence(sentence, nlp): function find_split_positions (line 16) | def find_split_positions(original, modified): function split_sentence (line 48) | def split_sentence(sentence, num_parts, word_limit=20, index=-1, retry_a... function parallel_split_sentences (line 83) | def parallel_split_sentences(sentences, max_length, max_workers, nlp, re... function split_sentences_by_meaning (line 111) | def split_sentences_by_meaning(): FILE: core/_4_1_summarize.py function combine_chunks (line 9) | def combine_chunks(): function search_things_to_note_in_prompt (line 17) | def search_things_to_note_in_prompt(sentence): function get_summary (line 33) | def get_summary(): FILE: core/_4_2_translate.py function split_chunks_by_chars (line 16) | def split_chunks_by_chars(chunk_size, max_i): function get_previous_content (line 36) | def get_previous_content(chunks, chunk_index): function get_after_content (line 38) | def get_after_content(chunks, chunk_index): function translate_chunk (line 42) | def translate_chunk(chunk, chunks, theme_prompt, i): function similar (line 50) | def similar(a, b): function translate_all (line 55) | def translate_all(): FILE: core/_5_split_sub.py function calc_len (line 16) | def calc_len(text: str) -> float: function align_subs (line 33) | def align_subs(src_sub: str, tr_sub: str, src_part: str) -> Tuple[List[s... function split_align_subs (line 61) | def split_align_subs(src_lines: List[str], tr_lines: List[str]): function split_for_sub_main (line 96) | def split_for_sub_main(): FILE: core/_6_gen_sub.py function convert_to_srt_format (line 23) | def convert_to_srt_format(start_time, end_time): function remove_punctuation (line 36) | def remove_punctuation(text): function show_difference (line 41) | def show_difference(str1, str2): function get_sentence_timestamps (line 59) | def get_sentence_timestamps(df_words, df_sentences): function align_timestamp (line 103) | def align_timestamp(df_text, df_translate, subtitle_output_configs: list... function clean_translation (line 144) | def clean_translation(x): function align_timestamp_main (line 150) | def align_timestamp_main(): FILE: core/_7_sub_into_vid.py function check_gpu_available (line 36) | def check_gpu_available(): function merge_subtitles_to_video (line 43) | def merge_subtitles_to_video(): FILE: core/_8_1_audio_task.py function check_len_then_trim (line 18) | def check_len_then_trim(text, duration): function time_diff_seconds (line 46) | def time_diff_seconds(t1, t2, base_date): function process_srt (line 52) | def process_srt(): function gen_audio_task_main (line 136) | def gen_audio_task_main(): FILE: core/_8_2_dub_chunks.py function calc_if_too_fast (line 15) | def calc_if_too_fast(est_dur, tol_dur, duration, tolerance): function merge_rows (line 26) | def merge_rows(df, start_idx, merge_count): function analyze_subtitle_timing_and_speed (line 58) | def analyze_subtitle_timing_and_speed(df): function process_cutoffs (line 101) | def process_cutoffs(df): function gen_dub_chunks (line 132) | def gen_dub_chunks(): FILE: core/_9_refer_audio.py function time_to_samples (line 13) | def time_to_samples(time_str, sr): function extract_audio (line 20) | def extract_audio(audio_data, sr, start_time, end_time, out_file): function extract_refer_audio_main (line 26) | def extract_refer_audio_main(): FILE: core/asr_backend/audio_preprocess.py function _ffmpeg_has_encoder (line 12) | def _ffmpeg_has_encoder(encoder_name: str) -> bool: function normalize_audio_volume (line 22) | def normalize_audio_volume(audio_path, output_path, target_db = -20.0, f... function convert_video_to_audio (line 30) | def convert_video_to_audio(video_file: str): function get_audio_duration (line 55) | def get_audio_duration(audio_file: str) -> float: function split_audio (line 71) | def split_audio(audio_file: str, target_len: float = 30*60, win: float =... function process_transcription (line 109) | def process_transcription(result: Dict) -> pd.DataFrame: function save_results (line 160) | def save_results(df: pd.DataFrame): function save_language (line 180) | def save_language(language: str): FILE: core/asr_backend/demucs_vl.py class PreloadedSeparator (line 14) | class PreloadedSeparator(Separator): method __init__ (line 15) | def __init__(self, model: BagOfModels, shifts: int = 1, overlap: float... function demucs_audio (line 22) | def demucs_audio(): FILE: core/asr_backend/elevenlabs_asr.py function elev2whisper (line 33) | def elev2whisper(elev_json, word_level_timestamp = False): function transcribe_audio_elevenlabs (line 67) | def transcribe_audio_elevenlabs(raw_audio_path, vocal_audio_path, start ... FILE: core/asr_backend/whisperX_302.py function transcribe_audio_302 (line 13) | def transcribe_audio_302(raw_audio_path: str, vocal_audio_path: str, sta... FILE: core/asr_backend/whisperX_local.py function _patched_torch_load (line 22) | def _patched_torch_load(*args, **kwargs): function check_hf_mirror (line 38) | def check_hf_mirror(): function transcribe_audio (line 62) | def transcribe_audio(raw_audio_file, vocal_audio_file, start, end): FILE: core/prompts.py function get_split_prompt (line 6) | def get_split_prompt(sentence, num_parts = 2, word_limit = 20): function get_summary_prompt (line 53) | def get_summary_prompt(source_content, custom_terms_json=None): function generate_shared_prompt (line 128) | def generate_shared_prompt(previous_content_prompt, after_content_prompt... function get_prompt_faithfulness (line 144) | def get_prompt_faithfulness(lines, shared_prompt): function get_prompt_expressiveness (line 190) | def get_prompt_expressiveness(faithfulness_result, lines, shared_prompt): function get_align_prompt (line 252) | def get_align_prompt(src_sub, tr_sub, src_part): function get_subtitle_trim_prompt (line 302) | def get_subtitle_trim_prompt(text, duration): function get_correct_text_prompt (line 343) | def get_correct_text_prompt(text): FILE: core/spacy_utils/load_nlp_model.py function get_spacy_model (line 7) | def get_spacy_model(language: str): function init_nlp (line 14) | def init_nlp(): FILE: core/spacy_utils/split_by_comma.py function is_valid_phrase (line 9) | def is_valid_phrase(phrase): function analyze_comma (line 15) | def analyze_comma(start, doc, token): function split_by_comma (line 30) | def split_by_comma(text, nlp): function split_by_comma_main (line 47) | def split_by_comma_main(nlp): FILE: core/spacy_utils/split_by_connector.py function analyze_connectors (line 8) | def analyze_connectors(doc, token): function split_by_connectors (line 84) | def split_by_connectors(text, context_words=5, nlp=None): function split_sentences_main (line 127) | def split_sentences_main(nlp): FILE: core/spacy_utils/split_by_mark.py function split_by_mark (line 10) | def split_by_mark(nlp): FILE: core/spacy_utils/split_long_by_root.py function split_long_sentence (line 10) | def split_long_sentence(doc): function split_extremely_long_sentence (line 43) | def split_extremely_long_sentence(doc): function split_long_by_root_main (line 64) | def split_long_by_root_main(nlp): FILE: core/st_utils/download_video_section.py function download_video_section (line 14) | def download_video_section(): function convert_audio_to_video (line 67) | def convert_audio_to_video(audio_file: str) -> str: FILE: core/st_utils/imports_and_utils.py function download_subtitle_zip_button (line 8) | def download_subtitle_zip_button(text: str): FILE: core/st_utils/sidebar_setting.py function config_input (line 6) | def config_input(label, key, help=None): function page_setting (line 13) | def page_setting(): function check_api (line 155) | def check_api(): FILE: core/translate_lines.py function valid_translate_result (line 9) | def valid_translate_result(result: dict, required_keys: list, required_s... function translate_lines (line 21) | def translate_lines(lines, previous_content_prompt, after_cotent_prompt,... FILE: core/tts_backend/_302_f5tts.py function upload_file_to_302 (line 13) | def upload_file_to_302(file_path): function _f5_tts (line 29) | def _f5_tts(text: str, refer_url: str, save_path: str) -> bool: function _merge_audio (line 53) | def _merge_audio(files, output: str) -> bool: function _get_ref_audio (line 78) | def _get_ref_audio(task_df, min_duration=8, max_duration=14.5) -> str: function f5_tts_for_videolingo (line 120) | def f5_tts_for_videolingo(text: str, save_as: str, number: int, task_df): FILE: core/tts_backend/azure_tts.py function azure_tts (line 4) | def azure_tts(text: str, save_path: str) -> None: FILE: core/tts_backend/custom_tts.py function custom_tts (line 3) | def custom_tts(text, save_path): FILE: core/tts_backend/edge_tts.py function edge_tts (line 15) | def edge_tts(text, save_path): FILE: core/tts_backend/estimate_duration.py class AdvancedSyllableEstimator (line 7) | class AdvancedSyllableEstimator: method __init__ (line 8) | def __init__(self): method estimate_duration (line 20) | def estimate_duration(self, text: str, lang: Optional[str] = None) -> ... method count_syllables (line 24) | def count_syllables(self, text: str, lang: Optional[str] = None) -> int: method _count_english_syllables (line 49) | def _count_english_syllables(self, text: str) -> int: method _detect_language (line 59) | def _detect_language(self, text: str) -> str: method process_mixed_text (line 64) | def process_mixed_text(self, text: str) -> dict: function init_estimator (line 106) | def init_estimator(): function estimate_duration (line 109) | def estimate_duration(text: str, estimator: AdvancedSyllableEstimator): FILE: core/tts_backend/fish_tts.py function fish_tts (line 6) | def fish_tts(text: str, save_as: str) -> bool: FILE: core/tts_backend/gpt_sovits_tts.py function check_lang (line 9) | def check_lang(text_lang, prompt_lang): function gpt_sovits_tts (line 27) | def gpt_sovits_tts(text, text_lang, save_path, ref_audio_path, prompt_la... function gpt_sovits_tts_for_videolingo (line 56) | def gpt_sovits_tts_for_videolingo(text, save_as, number, task_df): function find_and_check_config_path (line 109) | def find_and_check_config_path(dubbing_character): function start_gpt_sovits_server (line 125) | def start_gpt_sovits_server(): FILE: core/tts_backend/openai_tts.py function openai_tts (line 11) | def openai_tts(text, save_path): FILE: core/tts_backend/sf_cosyvoice2.py function wav_to_base64 (line 6) | def wav_to_base64(wav_file_path): function cosyvoice_tts_for_videolingo (line 13) | def cosyvoice_tts_for_videolingo(text, save_as, number, task_df): FILE: core/tts_backend/sf_fishtts.py function siliconflow_fish_tts (line 23) | def siliconflow_fish_tts(text, save_path, mode="preset", voice_id=None, ... function create_custom_voice (line 66) | def create_custom_voice(audio_path, text, custom_name=None): function merge_audio (line 101) | def merge_audio(files, output): function get_ref_audio (line 122) | def get_ref_audio(task_df): function siliconflow_fish_tts_for_videolingo (line 180) | def siliconflow_fish_tts_for_videolingo(text, save_as, number, task_df): FILE: core/tts_backend/tts_main.py function clean_text_for_tts (line 18) | def clean_text_for_tts(text): function tts_main (line 25) | def tts_main(text, save_as, number, task_df): FILE: core/utils/ask_gpt.py function _save_cache (line 17) | def _save_cache(model, prompt, resp_content, resp_type, resp, message=No... function _load_cache (line 29) | def _load_cache(prompt, resp_type, log_title): function ask_gpt (line 44) | def ask_gpt(prompt, resp_type=None, valid_def=None, log_title="default"): FILE: core/utils/config_utils.py function load_key (line 14) | def load_key(key): function update_key (line 28) | def update_key(key, new_value): function get_joiner (line 50) | def get_joiner(language): FILE: core/utils/decorator.py function except_handler (line 10) | def except_handler(error_msg, retry=0, delay=1, default_return=None): function check_file_exists (line 34) | def check_file_exists(file_path): function test_function (line 47) | def test_function(): FILE: core/utils/delete_retry_dubbing.py function delete_dubbing_files (line 4) | def delete_dubbing_files(): FILE: core/utils/onekeycleanup.py function cleanup (line 6) | def cleanup(history_dir="history"): function move_file (line 42) | def move_file(src, dst): function sanitize_filename (line 72) | def sanitize_filename(filename): FILE: core/utils/pypi_autochoose.py function get_optimal_thread_count (line 22) | def get_optimal_thread_count(): function test_mirror_speed (line 29) | def test_mirror_speed(name, url): function set_pip_mirror (line 42) | def set_pip_mirror(url): function get_current_pip_mirror (line 52) | def get_current_pip_mirror(): function main (line 60) | def main(): FILE: docs/components/landing/comments.tsx type Comment (line 3) | type Comment = { type Props (line 9) | type Props = { function Comments (line 14) | function Comments({ items, title }: Props) { FILE: docs/components/landing/faq.tsx type FAQItem (line 3) | interface FAQItem { type FAQProps (line 8) | interface FAQProps { function FAQ (line 13) | function FAQ({ items, title }: FAQProps) { FILE: docs/components/landing/features.tsx type Feature (line 5) | type Feature = { type FeaturesProps (line 12) | type FeaturesProps = { function Features (line 18) | function Features({ items, title }: FeaturesProps) { FILE: docs/components/landing/github-stats.tsx function GitHubStats (line 5) | function GitHubStats({ stars, recentStargazers }) { FILE: docs/components/landing/hero.tsx type HeroProps (line 6) | interface HeroProps { function Hero (line 12) | function Hero({ title, description, videoSrc }: HeroProps) { FILE: docs/components/landing/index.tsx function Landing (line 18) | function Landing({ data }) { FILE: docs/components/ui/badge.tsx type BadgeProps (line 26) | interface BadgeProps function Badge (line 30) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: docs/components/ui/button.tsx type ButtonProps (line 37) | interface ButtonProps FILE: docs/components/ui/hero-video-dialog.tsx type AnimationStyle (line 9) | type AnimationStyle = type HeroVideoProps (line 19) | interface HeroVideoProps { function HeroVideoDialog (line 70) | function HeroVideoDialog({ FILE: docs/components/ui/rainbow-button.tsx type RainbowButtonProps (line 5) | interface RainbowButtonProps function RainbowButton (line 8) | function RainbowButton({ children, ...props }: RainbowButtonProps) { FILE: docs/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: docs/theme.config.jsx method useNextSeoProps (line 40) | useNextSeoProps() { FILE: install.py function install_package (line 15) | def install_package(*packages): function check_nvidia_gpu (line 18) | def check_nvidia_gpu(): function check_ffmpeg (line 44) | def check_ffmpeg(): function _detect_cuda_version_from_smi (line 96) | def _detect_cuda_version_from_smi(): function _detect_cuda_index (line 111) | def _detect_cuda_index(): function main (line 143) | def main(): FILE: launch.py function log (line 11) | def log(msg): function check_package (line 16) | def check_package(name, import_name=None): function main (line 24) | def main(): FILE: st.py function text_processing_section (line 16) | def text_processing_section(): function process_text (line 45) | def process_text(): function audio_processing_section (line 65) | def audio_processing_section(): function process_audio (line 92) | def process_audio(): function main (line 108) | def main(): FILE: translations/translations.py function load_translations (line 14) | def load_translations(language="en"): function translate (line 19) | def translate(key):