diff --git a/apps/web/src/pages/ai-avatar/types.ts b/apps/web/src/pages/ai-avatar/types.ts index 16384007a..bed6e439e 100644 --- a/apps/web/src/pages/ai-avatar/types.ts +++ b/apps/web/src/pages/ai-avatar/types.ts @@ -6,25 +6,42 @@ import type { AssetItem } from "@/api/assets" /* ── 音色来源切换 ── */ export type VoiceSource = "preset" | "clone" -/* ── 情绪 ── */ -export type VoiceEmotion = "natural" | "excited" | "calm" | "friendly" +/* ── 情绪(对齐 CosyVoice 7 种情绪) ── */ +export type VoiceEmotion = + "neutral" | "happy" | "sad" | "angry" | "surprised" | "fearful" | "disgusted" export const VOICE_EMOTION_OPTIONS: { value: VoiceEmotion; label: string }[] = [ - { value: "natural", label: "自然" }, - { value: "excited", label: "兴奋" }, - { value: "calm", label: "沉稳" }, - { value: "friendly", label: "亲切" }, + { value: "neutral", label: "自然" }, + { value: "happy", label: "开心" }, + { value: "sad", label: "难过" }, + { value: "angry", label: "生气" }, + { value: "surprised", label: "惊讶" }, + { value: "fearful", label: "恐惧" }, + { value: "disgusted", label: "厌恶" }, ] /* ── 语言 ── */ -export type VoiceLanguage = "mandarin" | "english" | "cantonese" +/** 系统预置音色支持的语言(zh/en) */ +export type PresetVoiceLanguage = "zh" | "en" +/** 克隆音色支持的完整语言列表 */ +export type CloneVoiceLanguage = "zh" | "en" | "ja" | "ko" +export type VoiceLanguage = PresetVoiceLanguage | CloneVoiceLanguage -export const VOICE_LANGUAGE_OPTIONS: { value: VoiceLanguage; label: string }[] = [ - { value: "mandarin", label: "普通话" }, - { value: "english", label: "English" }, - { value: "cantonese", label: "粤语" }, +export const PRESET_VOICE_LANGUAGE_OPTIONS: { value: PresetVoiceLanguage; label: string }[] = [ + { value: "zh", label: "中文" }, + { value: "en", label: "English" }, ] +export const CLONE_VOICE_LANGUAGE_OPTIONS: { value: CloneVoiceLanguage; label: string }[] = [ + { value: "zh", label: "中文" }, + { value: "en", label: "English" }, + { value: "ja", label: "日本語" }, + { value: "ko", label: "한국어" }, +] + +/** 默认(预置音色)语言选项 */ +export const VOICE_LANGUAGE_OPTIONS = PRESET_VOICE_LANGUAGE_OPTIONS + /* ── 对口型任务状态 ── */ export type LipsyncStatus = "idle" | "pending" | "processing" | "completed" | "failed"