Skip to content

Commit dbd2ade

Browse files
authored
Merge pull request #420 from LlmKira/dev
Normal maintenance
2 parents 39e38be + 65d0591 commit dbd2ade

File tree

3 files changed

+477
-427
lines changed

3 files changed

+477
-427
lines changed

.nerve.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
contributor = "e35facd9-3bfa-48cd-9a95-ce72d24c3fcf"
1+
contributor = "b4e0cd99-289b-4586-992c-6f159c436101"
22
# https://github.com/LlmKira/contributor/blob/main/.nerve.toml
33

44
language = "English"

llmkira/extra/voice_hook.py

+7-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import List
22

3-
from fast_langdetect import parse_sentence
3+
from fast_langdetect import detect_multilingual
44
from loguru import logger
55

66
from llmkira.extra.voice import request_cn, request_en
@@ -13,21 +13,19 @@
1313

1414
def check_string(text):
1515
"""
16-
检查字符串是否符合要求
16+
检查字符串是否 TTS 可以处理
1717
:param text: 字符串
1818
:return: 是否符合要求
1919
"""
20-
parsed_text = parse_sentence(text)
20+
parsed_text = detect_multilingual(text)
2121
if not parsed_text:
2222
return False
2323
lang_kinds = []
2424
for lang in parsed_text:
25-
if lang.get("lang", "RU") not in ["ZH", "EN"]:
26-
return False
27-
lang_kinds.append(lang.get("lang"))
25+
lang_kinds.append(lang.get("lang", "ru"))
2826
limit = 200
2927
if len(set(lang_kinds)) == 1:
30-
if lang_kinds[0] in ["EN"]:
28+
if lang_kinds[0] in ["en"]:
3129
limit = 500
3230
if "\n\n" in text or text.count("\n") > 3 or len(text) > limit or "```" in text:
3331
return False
@@ -59,7 +57,7 @@ async def hook_run(self, *args, **kwargs):
5957
for message in messages:
6058
if not check_string(message.text):
6159
return args, kwargs
62-
parsed_text = parse_sentence(message.text)
60+
parsed_text = detect_multilingual(message.text)
6361
if not parsed_text:
6462
return args, kwargs
6563
lang_kinds = []
@@ -68,7 +66,7 @@ async def hook_run(self, *args, **kwargs):
6866
reecho_api_key = await EnvManager(locate.uid).get_env(
6967
"REECHO_VOICE_KEY", None
7068
)
71-
if (len(set(lang_kinds)) == 1) and (lang_kinds[0] in ["EN"]):
69+
if (len(set(lang_kinds)) == 1) and (lang_kinds[0] in ["en"]):
7270
voice_data = await request_en(message.text)
7371
else:
7472
voice_data = await request_cn(

0 commit comments

Comments
 (0)