From e4aa1b653c8f1bf8d018caba5d6aff219f79f341 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 6 Nov 2025 14:33:51 +0800 Subject: [PATCH] bugfix --- app/fastwhisper.py | 7 ------- fw/fw.py | 9 ++++++++- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/fastwhisper.py b/app/fastwhisper.py index a4a3df6..4284ab9 100644 --- a/app/fastwhisper.py +++ b/app/fastwhisper.py @@ -1,5 +1,4 @@ import asyncio -import json from appPublic.worker import get_event_loop from appPublic.log import debug from fw.init import load_fastwhisper @@ -17,8 +16,6 @@ async def get_status(request, *args, **kw): env = request._run_ns debug(f'get_status():{env.params_kw.task_id=}') data = await env.fastwhisper.get_status(env.params_kw.task_id) - if data['status'] == 'SUCCEEDED' and isinstance(data['result'], str): - data['result'] = json.loads(data['result']) return data async def asr(request, *args, **kw): @@ -30,10 +27,6 @@ async def asr(request, *args, **kw): if data['status'] in ['SUCCEEDED', 'FAILED']: break await asyncio.sleep(0.2) - if data['status'] == 'SUCCEEDED': - s = data.get('result') - if s: - data['result'] = json.loads(s) return data async def start_fw_server(*args, **kw): diff --git a/fw/fw.py b/fw/fw.py index 31afef1..70a96a1 100644 --- a/fw/fw.py +++ b/fw/fw.py @@ -42,9 +42,16 @@ class MyLongTask(LongTasks): def transcribe(self, model, fpath): segments, info = model.transcribe(fpath, beam_size=5) debug(f'{segments=}, {info=}') + segments = list(segments) return { 'language': info.language, 'language_probability': info.language_probability, - 'segments': [[segment.start, segment.end, segment.text] for segment in segments] + 'content': ' '.join([s.text for s in segments]), + 'segments': [[segment.start, + segment.end, + segment.text, + [[word.start, word.end, word.word] for word in segment.words ] + + ] for segment in segments] }