182 lines
4.6 KiB
YAML
182 lines
4.6 KiB
YAML
# * Settings marked with * are advanced settings that won't appear in the Streamlit page and can only be modified manually in config.py
|
|
# recommend to set in streamlit page
|
|
# -------------------
|
|
# version: "3.0.0"
|
|
# author: "Huanshere"
|
|
# -------------------
|
|
|
|
## ======================== Basic Settings ======================== ##
|
|
|
|
display_language: "zh-CN"
|
|
|
|
# API settings
|
|
api:
|
|
key: 'sk-bd5ee62703bc41fc9b8a55d748dc1eb8'
|
|
base_url: 'https://dashscope.aliyuncs.com/compatible-mode/v1'
|
|
model: 'qwen-plus'
|
|
llm_support_json: false
|
|
# *Number of LLM multi-threaded accesses, set to 1 if using local LLM
|
|
max_workers: 4
|
|
|
|
# Language settings, written into the prompt, can be described in natural language
|
|
target_language: 'English'
|
|
|
|
# Whether to use Demucs for vocal separation before transcription
|
|
demucs: true
|
|
|
|
whisper:
|
|
# ["large-v3", "large-v3-turbo"]. Note: for zh model will force to use Belle/large-v3
|
|
model: 'large-v3'
|
|
# Whisper specified recognition language ISO 639-1
|
|
language: 'zh'
|
|
detected_language: 'en'
|
|
# Whisper running mode ["local", "cloud", "elevenlabs"]. Specifies where to run, cloud uses 302.ai API
|
|
runtime: 'local'
|
|
# 302.ai API key
|
|
whisperX_302_api_key: 'your_302_api_key'
|
|
# ElevenLabs API key (experimental)
|
|
elevenlabs_api_key: 'your_elevenlabs_api_key'
|
|
|
|
# Whether to burn subtitles into the video
|
|
burn_subtitles: true
|
|
|
|
## ======================== Advanced Settings ======================== ##
|
|
# *🔬 h264_nvenc GPU acceleration for ffmpeg, make sure your GPU supports it
|
|
ffmpeg_gpu: false
|
|
|
|
# *Youtube settings
|
|
youtube:
|
|
cookies_path: ''
|
|
|
|
# *Default resolution for downloading YouTube videos [360, 1080, best]
|
|
ytb_resolution: '1080'
|
|
|
|
subtitle:
|
|
# *Maximum length of each subtitle line in characters
|
|
max_length: 40
|
|
# *Translated subtitles are slightly larger than source subtitles, affecting the reference length for subtitle splitting
|
|
target_multiplier: 1.2
|
|
|
|
# *Summary length, set low to 2k if using local LLM
|
|
summary_length: 8000
|
|
|
|
# *Maximum number of words for the first rough cut, below 18 will cut too finely affecting translation, above 22 is too long and will make subsequent subtitle splitting difficult to align
|
|
max_split_length: 20
|
|
|
|
# *Whether to reflect the translation result in the original text
|
|
reflect_translate: true
|
|
|
|
# *Whether to pause after extracting professional terms and before translation, allowing users to manually adjust the terminology table output\log\terminology.json
|
|
pause_before_translate: false
|
|
|
|
## ======================== Dubbing Settings ======================== ##
|
|
# TTS selection [sf_fish_tts, openai_tts, gpt_sovits, azure_tts, fish_tts, edge_tts, custom_tts]
|
|
tts_method: 'edge_tts'
|
|
|
|
# SiliconFlow FishTTS
|
|
sf_fish_tts:
|
|
# SiliconFlow API key
|
|
api_key: 'YOUR_API_KEY'
|
|
# only for mode "preset"
|
|
voice: 'anna'
|
|
# *only for mode "custom", dont set manually
|
|
custom_name: ''
|
|
voice_id: ''
|
|
# preset, custom, dynamic
|
|
mode: "preset"
|
|
|
|
# OpenAI TTS-1 API configuration, 302.ai API only
|
|
openai_tts:
|
|
api_key: 'YOUR_302_API_KEY'
|
|
voice: 'alloy'
|
|
|
|
# Azure configuration, 302.ai API only
|
|
azure_tts:
|
|
api_key: 'YOUR_302_API_KEY'
|
|
voice: 'zh-CN-YunfengNeural'
|
|
|
|
# FishTTS configuration, 302.ai API only
|
|
fish_tts:
|
|
api_key: 'YOUR_302_API_KEY'
|
|
character: 'AD学姐'
|
|
character_id_dict:
|
|
'AD学姐': '7f92f8afb8ec43bf81429cc1c9199cb1'
|
|
'丁真': '54a5170264694bfc8e9ad98df7bd89c3'
|
|
|
|
# SiliconFlow CosyVoice2 Clone
|
|
sf_cosyvoice2:
|
|
api_key: 'YOUR_SF_KEY'
|
|
|
|
# Edge TTS configuration
|
|
edge_tts:
|
|
voice: 'zh-CN-XiaoxiaoNeural'
|
|
|
|
# SoVITS configuration
|
|
gpt_sovits:
|
|
character: 'Huanyuv2'
|
|
refer_mode: 3
|
|
|
|
f5tts:
|
|
302_api: 'YOUR_302_API_KEY'
|
|
|
|
# *Audio speed range
|
|
speed_factor:
|
|
min: 1
|
|
accept: 4 # Maximum acceptable speed
|
|
max: 5
|
|
|
|
# *Merge audio configuration
|
|
min_subtitle_duration: 0.2 # Minimum subtitle duration, will be forcibly extended
|
|
min_trim_duration: 3.5 # Subtitles shorter than this value won't be split
|
|
tolerance: 1.5 # Allowed extension time to the next subtitle
|
|
|
|
|
|
|
|
|
|
|
|
## ======================== Additional settings ======================== ##
|
|
|
|
# Whisper model directory
|
|
model_dir: './_model_cache'
|
|
|
|
# Supported upload video formats
|
|
allowed_video_formats:
|
|
- 'mp4'
|
|
- 'mov'
|
|
- 'avi'
|
|
- 'mkv'
|
|
- 'flv'
|
|
- 'wmv'
|
|
- 'webm'
|
|
|
|
allowed_audio_formats:
|
|
- 'wav'
|
|
- 'mp3'
|
|
- 'flac'
|
|
- 'm4a'
|
|
|
|
# Spacy models
|
|
spacy_model_map:
|
|
en: 'en_core_web_md'
|
|
ru: 'ru_core_news_md'
|
|
fr: 'fr_core_news_md'
|
|
ja: 'ja_core_news_md'
|
|
es: 'es_core_news_md'
|
|
de: 'de_core_news_md'
|
|
it: 'it_core_news_md'
|
|
zh: 'zh_core_web_md'
|
|
|
|
# Languages that use space as separator
|
|
language_split_with_space:
|
|
- 'en'
|
|
- 'es'
|
|
- 'fr'
|
|
- 'de'
|
|
- 'it'
|
|
- 'ru'
|
|
|
|
# Languages that do not use space as separator
|
|
language_split_without_space:
|
|
- 'zh'
|
|
- 'ja'
|