
Pixelle-Video 聲音克隆實戰指南基于參考音頻與 Index-TTS 工作流的完整配置【免費下載鏈接】Pixelle-Video AI 全自動短視頻引擎 | AI Fully Automated Short Video Engine項目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video聲音克隆Voice Cloning是 Pixelle-Video 中讓短視頻配音擁有專屬音色的核心能力只需一段 1030 秒的參考音頻即可讓 TTS 合成語音在音色、語氣上貼近參考人聲。本文圍繞 docs/zh/tutorials/voice-cloning.md 的完整使用流程結合倉庫中 TTS 服務源碼、ComfyUI 工作流定義與 REST API 實現講解參考音頻的準備規范、啟用聲音克隆的配置與操作步驟、不同 TTS 工作流的克隆能力差異以及常見坑位的排查思路。讀完本文你將能獨立完成準備參考音頻 → 選擇克隆工作流 → 預覽效果 → 生成帶專屬音色的視頻的完整鏈路。一、聲音克隆在 Pixelle-Video 中的定位Pixelle-Video 是一套 AI 全自動短視頻引擎TTS語音合成是其生成口播、旁白的關鍵環節。聲音克隆屬于 TTS 能力的一個進階分支不是在所有 TTS 工作流上都可用而是依賴底層工作流是否內置參考音頻reference audio輸入節點。從 TTSService 的源碼可以看到語音合成統一走pixelle_video.tts(text..., workflow..., ref_audio...)這一入口它支持兩種推理模式local 模式調用本地 Edge TTS免 API Key但不支持聲音克隆comfyui 模式將text、voice、speed以及ref_audio等參數注入指定工作流執行聲音克隆正是通過給工作流傳入參考音頻實現。因此在動手之前務必先確認你選擇的 TTS 工作流是否包含參考音頻輸入否則克隆不會生效。二、準備參考音頻格式、時長與音質要求根據原文檔參考音頻需滿足以下三個基本條件文件格式MP3 / WAV / FLAC 均可推薦使用 WAV無損、兼容性最好建議時長1030 秒音質要求避免背景噪音人聲清晰。從工作流定義可以印證參考音頻的載體形態selfhost/tts_index2.json 中使用VHS_LoadAudioUpload節點加載參考音頻reference_audio該節點支持上傳音頻文件并指定start_time與duration0 表示讀取完整文件。這意味著參考音頻可以是本地文件路徑也可以是上傳后返回的路徑見下文 API 一節若參考音頻較長可在工作流節點中通過start_time/duration截取最干凈的人聲片段用于克隆。實操建議結合源碼邏輯錄制或剪輯時盡量保證單一人聲、無背景音樂、無回聲長度落在 1030 秒區間過短會導致音色特征提取不充分過長則引入多余噪聲。參考音頻的路徑需要在后續步驟中提供給工作流建議將音頻文件放在項目可訪問的路徑下并記錄好相對路徑。三、啟用聲音克隆的完整步驟原文檔給出了四步操作流程下面逐一步驟結合界面與配置展開步驟 1在語音設置中選擇支持聲音克隆的 TTS 工作流如 Index-TTSPixelle-Video 的 TTS 工作流按運行環境分為兩類目錄workflows/runninghub/云端 RunningHub 工作流需在 config.example.yaml 中配置runninghub_api_keyworkflows/selfhost/本地 ComfyUI 工作流需在 config.example.yaml 中配置comfyui_url默認http://127.0.0.1:8188。倉庫內置的 TTS 工作流包括工作流文件運行環境是否支持聲音克隆runninghub/tts_index2.jsonRunningHub? 支持Index-TTSselfhost/tts_index2.json本地 ComfyUI? 支持Index-TTSrunninghub/tts_edge.jsonRunningHub? 不支持runninghub/tts_spark.jsonRunningHub取決于云端工作流節點selfhost/tts_edge.json本地 ComfyUI? 不支持其中 selfhost/tts_index2.json 的IndexTTS2BaseNode節點包含reference_audio輸入正是聲音克隆能力的實現載體而 selfhost/tts_edge.json 的EdgeTTS節點只有text、voice、speed、pitch輸入不含參考音頻節點因此不支持克隆。默認工作流通過配置文件指定config.example.yaml 中comfyui: tts: default_workflow: selfhost/tts_edge.json # TTS workflow to use需要啟用聲音克隆時應將默認工作流改為selfhost/tts_index2.json本地或runninghub/tts_index2.json云端或在調用時顯式傳入workflow參數。步驟 2上傳參考音頻文件參考音頻通過 TTS 請求中的ref_audio字段傳入。在 REST API 層TTSSynthesizeRequest 定義了該字段ref_audio: Optional[str] Field( None, descriptionReference audio path for voice cloning (optional). Can be a local file path or URL. )即ref_audio支持本地文件路徑或URL兩種形式由 tts.py 原樣透傳給 TTS 服務最終注入工作流的reference_audio節點。若通過 Web UI 操作對應上傳參考音頻文件的交互若通過 API 調用則直接指定音頻路徑見下文第四節的完整請求示例。步驟 3使用「預覽語音」測試效果合成前先用預覽功能驗證克隆效果。在 tts.py 的POST /tts/synthesize接口中合成成功后會自動調用 get_audio_duration 返回音頻時長{ success: true, message: Success, audio_path: output/xxxx.mp3, duration: 12.34 }預覽的核心價值在于快速驗證參考音頻是否被正確識別、克隆音色是否符合預期而無需等待完整視頻渲染。若預覽音色偏差較大應回到步驟 2 更換或重錄參考音頻。步驟 4生成視頻確認預覽效果后即可在視頻生成流程中復用該 TTS 工作流與參考音頻讓最終成片使用克隆音色。至此參考音頻 → 克隆音色 → 視頻配音的鏈路閉環。四、通過 REST API 使用聲音克隆源碼級示例除了 Web UIPixelle-Video 提供完整的 REST API。啟用聲音克隆的請求示例如下對應 tts.py 中給出的官方示例{ text: Hello, this is a cloned voice, workflow: runninghub/tts_index2.json, ref_audio: path/to/reference.wav }請求字段說明字段類型必填說明textstring?要合成的文本workflowstring可選TTS 工作流 key如runninghub/tts_index2.json缺省時使用配置文件中的default_workflowref_audiostring可選聲音克隆參考音頻路徑本地路徑或 URLvoice_idstring可選已廢棄deprecated建議改用workflow指定需要注意的兩點來自 tts.py 的兼容邏輯voice_id僅在未指定workflow時才會被當作voice參數使用且會輸出 deprecation 警告新代碼不應依賴它ref_audio只在workflow本身支持參考音頻節點時才會生效——若給tts_edge.json傳ref_audio該參數會被透傳但 Edge 工作流中沒有對應節點消費它克隆不會發生。響應體TTSSynthesizeResponse見 api/schemas/tts.py返回合成音頻路徑與時長可用于后續視頻合成流程。五、工作流層面的實現原理參考音頻如何驅動克隆聲音克隆能否生效取決于工作流圖中是否存在參考音頻 → 合成模型的連線。以 selfhost/tts_index2.json 為例其關鍵結構為{ 5: { inputs: { text: [3, 0], mode: Auto, temperature: 0.8, top_p: 0.9, top_k: 30, num_beams: 3, repetition_penalty: 10, max_mel_tokens: 1815, max_tokens_per_sentence: 120, reference_audio: [12, 0] }, class_type: IndexTTS2BaseNode }, 12: { inputs: { audio: 小裴錢.wav, start_time: 0, duration: 0 }, class_type: VHS_LoadAudioUpload } }要點拆解IndexTTS2BaseNodeIndex-TTS 系列模型的工作流入口節點其reference_audio輸入即音色參考VHS_LoadAudioUpload負責加載上傳的音頻文件可通過start_time/duration截取片段audio字段在 tts_service.py 中會被請求參數覆蓋即你傳入的ref_audio路徑會替換這里的默認值SaveAudioMP3將合成結果保存為 MP3filename_prefix為audio/ComfyUI。在服務層TTSService.call會根據推理模式路由local 模式直接調用 Edge TTSedge_tts含 5 次指數退避重試與并發限流comfyui 模式則調用 ComfyBaseService._resolve_workflow 解析工作流再通過共享 ComfyKit 實例執行并解析返回的音頻文件tts_service.py 依次檢查result.audios、result.files、result.outputs中的音頻擴展名。若工作流返回的是 URL 且指定了output_path服務會自動下載到本地。六、注意事項與常見坑位原文檔明確指出三點限制結合源碼可進一步給出排查建議不是所有 TTS 工作流都支持聲音克隆判斷標準是工作流是否包含參考音頻輸入節點。Edge 系列工作流runninghub/tts_edge.json、selfhost/tts_edge.json的節點只有text/voice/speed/pitch不支持克隆Index-TTS 系列tts_index2.json支持。選擇工作流前可先打開對應 JSON 檢查是否存在reference_audio輸入。參考音頻質量會影響克隆效果背景噪音、多說話人混音、壓縮過度的低碼率音頻都會污染音色特征提取。建議使用 1030 秒、單一人聲、無背景音樂的高質量片段必要時用start_time/duration截取最干凈的段落。Edge-TTS 不支持聲音克隆在 pixelle_video/utils/tts_util.py 的本地 Edge TTS 實現中參數僅有voice音色 ID、rate、volume、pitch其音色由微軟云端預置角色決定無法通過參考音頻自定義。本地模式inference_modelocal同樣無法克隆。其他實操提醒本地 ComfyUI 模式運行tts_index2.json前需確認 ComfyUI 已安裝 Index-TTS 相關自定義節點IndexTTS2BaseNode、VHS_LoadAudioUpload、SaveAudioMP3等否則工作流執行會失敗RunningHub 云端模式無需本地節點但需在配置中填入有效的runninghub_api_key并注意 config.example.yaml 中runninghub_concurrent_limit默認 1的并發限制合成失敗時可查看服務日志本地模式關注 Edge TTS 的 401/NoAudioReceived 重試信息工作流模式關注 tts_service.py 打印的result.audios / result.files / result.outputs診斷信息據此判斷是工作流節點缺失還是音頻解析失敗。七、小結聲音克隆在 Pixelle-Video 中的完整鏈路可概括為準備1030 秒、無噪、單人聲的 MP3/WAV/FLAC 參考音頻選型在語音設置或 API 中指定支持克隆的 TTS 工作流如tts_index2.jsonEdge-TTS 與本地模式不支持克隆注入通過ref_audio字段傳入參考音頻路徑本地或 URL工作流的reference_audio節點消費該輸入驗證用「預覽語音」/POST /tts/synthesize檢查合成音頻的audio_path與duration確認音色符合預期成片在視頻生成流程中復用該工作流與參考音頻產出帶專屬音色的短視頻。如需進一步了解 TTS 工作流的配置項default_workflow、runninghub_api_key、comfyui_url等可查閱 config.example.yaml 與 docs/zh/getting-started/configuration.md更完整的聲音克隆進階教程多說話人、情感控制等已在規劃中可先基于本倉庫的 Index-TTS 工作流自行探索采樣參數temperature、top_p、num_beams等對克隆音色的影響。【免費下載鏈接】Pixelle-Video AI 全自動短視頻引擎 | AI Fully Automated Short Video Engine項目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考