From 526054dac80595304f89c5721e974a548006abbb Mon Sep 17 00:00:00 2001 From: bielie Date: Wed, 25 Feb 2026 01:46:51 +0800 Subject: [PATCH] feat(tts): expand free voice set with HK/TW and curated EN voices --- modules/tts/tts-api.js | 8 ++++++++ modules/tts/tts-overlay.html | 8 ++++++++ modules/tts/tts.js | 4 +++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/tts/tts-api.js b/modules/tts/tts-api.js index 3ba7f6c..0943f41 100644 --- a/modules/tts/tts-api.js +++ b/modules/tts/tts-api.js @@ -11,13 +11,21 @@ export const FREE_VOICES = [ { key: 'female_2', name: '晓伊', tag: '清冷知性', gender: 'female' }, { key: 'female_3', name: '小北', tag: '东北甜妹', gender: 'female' }, { key: 'female_4', name: '小妮', tag: '陕西姑娘', gender: 'female' }, + { key: 'hk_female_1', name: '曉佳', tag: '粤语女声', gender: 'female' }, + { key: 'hk_female_2', name: '曉曼', tag: '粤语温柔', gender: 'female' }, + { key: 'hk_male_1', name: '雲龍', tag: '粤语男声', gender: 'male' }, + { key: 'tw_female_1', name: '曉臻', tag: '台灣女聲', gender: 'female' }, + { key: 'tw_female_2', name: '曉雨', tag: '台灣温柔', gender: 'female' }, + { key: 'tw_male_1', name: '雲哲', tag: '台灣男聲', gender: 'male' }, { key: 'male_1', name: '云希', tag: '少年温暖', gender: 'male' }, { key: 'male_2', name: '云健', tag: '阳刚有力', gender: 'male' }, { key: 'male_3', name: '云扬', tag: '专业播报', gender: 'male' }, { key: 'male_4', name: '云夏', tag: '少年活力', gender: 'male' }, { key: 'en_female_1', name: 'Jenny', tag: '美式甜美', gender: 'female' }, { key: 'en_female_2', name: 'Aria', tag: '美式知性', gender: 'female' }, + { key: 'en_female_3', name: 'Sonia', tag: '英式优雅', gender: 'female' }, { key: 'en_male_1', name: 'Guy', tag: '美式磁性', gender: 'male' }, + { key: 'en_male_2', name: 'Ryan', tag: '英式绅士', gender: 'male' }, { key: 'ja_female_1', name: '七海', tag: '日式温柔', gender: 'female' }, { key: 'ja_male_1', name: '圭太', tag: '日式少年', gender: 'male' }, ]; diff --git a/modules/tts/tts-overlay.html b/modules/tts/tts-overlay.html index f4a7095..839b821 100644 --- a/modules/tts/tts-overlay.html +++ b/modules/tts/tts-overlay.html @@ -1725,13 +1725,21 @@ const TRIAL_VOICES = [ { key: 'female_2', name: '晓伊', tag: '清冷知性', gender: 'female' }, { key: 'female_3', name: '小北', tag: '东北甜妹', gender: 'female' }, { key: 'female_4', name: '小妮', tag: '陕西姑娘', gender: 'female' }, + { key: 'hk_female_1', name: '曉佳', tag: '粤语女声', gender: 'female' }, + { key: 'hk_female_2', name: '曉曼', tag: '粤语温柔', gender: 'female' }, + { key: 'hk_male_1', name: '雲龍', tag: '粤语男声', gender: 'male' }, + { key: 'tw_female_1', name: '曉臻', tag: '台灣女聲', gender: 'female' }, + { key: 'tw_female_2', name: '曉雨', tag: '台灣温柔', gender: 'female' }, + { key: 'tw_male_1', name: '雲哲', tag: '台灣男聲', gender: 'male' }, { key: 'male_1', name: '云希', tag: '少年温暖', gender: 'male' }, { key: 'male_2', name: '云健', tag: '阳刚有力', gender: 'male' }, { key: 'male_3', name: '云扬', tag: '专业播报', gender: 'male' }, { key: 'male_4', name: '云夏', tag: '少年活力', gender: 'male' }, { key: 'en_female_1', name: 'Jenny', tag: '美式甜美', gender: 'female' }, { key: 'en_female_2', name: 'Aria', tag: '美式知性', gender: 'female' }, + { key: 'en_female_3', name: 'Sonia', tag: '英式优雅', gender: 'female' }, { key: 'en_male_1', name: 'Guy', tag: '美式磁性', gender: 'male' }, + { key: 'en_male_2', name: 'Ryan', tag: '英式绅士', gender: 'male' }, { key: 'ja_female_1', name: '七海', tag: '日式温柔', gender: 'female' }, { key: 'ja_male_1', name: '圭太', tag: '日式少年', gender: 'male' }, ]; diff --git a/modules/tts/tts.js b/modules/tts/tts.js index c64e4da..8415337 100644 --- a/modules/tts/tts.js +++ b/modules/tts/tts.js @@ -43,8 +43,10 @@ const TTS_DIRECTIVE_REGEX = /\[tts:([^\]]*)\]/gi; const FREE_VOICE_KEYS = new Set([ 'female_1', 'female_2', 'female_3', 'female_4', + 'hk_female_1', 'hk_female_2', 'hk_male_1', + 'tw_female_1', 'tw_female_2', 'tw_male_1', 'male_1', 'male_2', 'male_3', 'male_4', - 'en_female_1', 'en_female_2', 'en_male_1', + 'en_female_1', 'en_female_2', 'en_female_3', 'en_male_1', 'en_male_2', 'ja_female_1', 'ja_male_1', ]);