This commit is contained in:
jeremygan2021
2026-03-03 22:45:09 +08:00
parent 700bc55657
commit 05f02a1454
14 changed files with 574 additions and 149 deletions

View File

@@ -444,16 +444,39 @@ class MyRecognitionCallback(RecognitionCallback):
def on_event(self, result: RecognitionResult) -> None:
if result.get_sentence():
text = result.get_sentence()['text']
print(f"ASR Result: {text}")
# 累积每一句识别结果
self.sentence_list.append(text)
# 获取当前句子的结束状态
# 注意DashScope Python SDK 的 Result 结构可能需要根据版本调整
# 这里假设我们只关心文本内容的变化
# 简单的去重逻辑:如果新来的文本比上一句长且包含上一句,则认为是同一句的更新
if self.sentence_list:
last_sentence = self.sentence_list[-1]
# 去掉句尾标点进行比较,因为流式结果可能标点不稳定
last_clean = last_sentence.rstrip('。,?!')
text_clean = text.rstrip('。,?!')
if text_clean.startswith(last_clean):
# 更新当前句子
self.sentence_list[-1] = text
elif last_clean.startswith(text_clean):
# 如果新来的比旧的短但也是前缀(不太可能发生,除非回溯),忽略或更新
pass
else:
# 新的句子
self.sentence_list.append(text)
else:
self.sentence_list.append(text)
# 同时更新 final_text 以便 Stop 时获取
self.final_text = "".join(self.sentence_list)
print(f"ASR Update: {self.final_text}")
# 将识别结果发送回客户端
try:
if self.loop.is_running():
asyncio.run_coroutine_threadsafe(
self.websocket.send_text(f"ASR:{text}"),
self.websocket.send_text(f"ASR:{self.final_text}"),
self.loop
)
except Exception as e:
@@ -559,12 +582,24 @@ def generate_image(prompt, progress_callback=None, retry_count=0, max_retries=2)
progress_callback(35, "正在请求AI生成图片...")
try:
if not prompt:
print("Error: prompt is empty")
if progress_callback:
progress_callback(0, "提示词为空")
return None
response = ImageSynthesis.call(
model='wanx2.0-t2i-turbo',
prompt=prompt
)
if response.status_code == 200:
if not response.output:
print("Error: response.output is None")
if progress_callback:
progress_callback(0, "API响应无效")
return None
task_status = response.output.get('task_status')
if task_status == 'PENDING' or task_status == 'RUNNING':
@@ -631,9 +666,9 @@ def generate_image(prompt, progress_callback=None, retry_count=0, max_retries=2)
g6 = (g >> 2) & 0x3F
b5 = (b >> 3) & 0x1F
# 端模式:字节在前
# 端模式:字节在前 (符合ST7789默认配置)
rgb565 = (r5 << 11) | (g6 << 5) | b5
rgb565_data.extend(struct.pack('<H', rgb565))
rgb565_data.extend(struct.pack('>H', rgb565))
# 保存为.bin文件
with open(GENERATED_THUMB_FILE, 'wb') as f: