daihui.zhang
commited on
Commit
·
1c6c20c
1
Parent(s):
996895d
fix 'transcrible' named error
Browse files- api_model.py +2 -2
- transcribe/translatepipes.py +2 -2
- transcribe/utils.py +2 -2
- transcribe/whisper_llm_serve.py +6 -7
api_model.py
CHANGED
@@ -18,9 +18,9 @@ class TransResult(BaseModel):
|
|
18 |
class DebugResult(BaseModel):
|
19 |
# trans_pattern: str
|
20 |
seg_id: int
|
21 |
-
|
22 |
translate_time:float
|
23 |
-
context: str = Field(alias="
|
24 |
from_: str = Field(alias="from")
|
25 |
to: str
|
26 |
tran_content: str = Field(alias="translateContent")
|
|
|
18 |
class DebugResult(BaseModel):
|
19 |
# trans_pattern: str
|
20 |
seg_id: int
|
21 |
+
transcribe_time: float
|
22 |
translate_time:float
|
23 |
+
context: str = Field(alias="transcribeContent")
|
24 |
from_: str = Field(alias="from")
|
25 |
to: str
|
26 |
tran_content: str = Field(alias="translateContent")
|
transcribe/translatepipes.py
CHANGED
@@ -47,7 +47,7 @@ class TranslatePipes:
|
|
47 |
return self._funasr_pipe
|
48 |
return self._whisper_pipe_en
|
49 |
|
50 |
-
def
|
51 |
transcription_model = self.get_transcription_model(src_lang)
|
52 |
item = MetaItem(audio=audio_buffer, source_language=src_lang)
|
53 |
transcription_model.input_queue.put(item)
|
@@ -65,6 +65,6 @@ if __name__ == "__main__":
|
|
65 |
tp = TranslatePipes()
|
66 |
# result = tp.translate("你好,今天天气怎么样?", src_lang="zh", dst_lang="en")
|
67 |
mel, _, = soundfile.read("assets/jfk.flac")
|
68 |
-
# result = tp.
|
69 |
result = tp.voice_detect(mel)
|
70 |
print(result)
|
|
|
47 |
return self._funasr_pipe
|
48 |
return self._whisper_pipe_en
|
49 |
|
50 |
+
def transcribe(self, audio_buffer: bytes, src_lang: str) -> MetaItem:
|
51 |
transcription_model = self.get_transcription_model(src_lang)
|
52 |
item = MetaItem(audio=audio_buffer, source_language=src_lang)
|
53 |
transcription_model.input_queue.put(item)
|
|
|
65 |
tp = TranslatePipes()
|
66 |
# result = tp.translate("你好,今天天气怎么样?", src_lang="zh", dst_lang="en")
|
67 |
mel, _, = soundfile.read("assets/jfk.flac")
|
68 |
+
# result = tp.transcribe(mel, 'en')
|
69 |
result = tp.voice_detect(mel)
|
70 |
print(result)
|
transcribe/utils.py
CHANGED
@@ -157,8 +157,8 @@ class TestDataWriter:
|
|
157 |
def __init__(self, file_path='test_data.csv'):
|
158 |
self.file_path = file_path
|
159 |
self.fieldnames = [
|
160 |
-
'seg_id', '
|
161 |
-
'
|
162 |
]
|
163 |
self._ensure_file_has_header()
|
164 |
|
|
|
157 |
def __init__(self, file_path='test_data.csv'):
|
158 |
self.file_path = file_path
|
159 |
self.fieldnames = [
|
160 |
+
'seg_id', 'transcribe_time', 'translate_time',
|
161 |
+
'transcribeContent', 'from', 'to', 'translateContent', 'partial'
|
162 |
]
|
163 |
self._ensure_file_has_header()
|
164 |
|
transcribe/whisper_llm_serve.py
CHANGED
@@ -56,7 +56,6 @@ class WhisperTranscriptionService:
|
|
56 |
# 文本分隔符,根据语言设置
|
57 |
self.text_separator = _get_text_separator(language)
|
58 |
self.loop = asyncio.get_event_loop()
|
59 |
-
# 发送就绪状态
|
60 |
# 原始音频队列
|
61 |
self._frame_queue = queue.Queue()
|
62 |
# 音频队列缓冲区
|
@@ -72,7 +71,7 @@ class WhisperTranscriptionService:
|
|
72 |
self.frame_processing_thread = _start_thread(self._frame_processing_loop)
|
73 |
self.row_number = 0
|
74 |
# for test
|
75 |
-
self.
|
76 |
self._translate_time_cost = 0.
|
77 |
|
78 |
if config.SAVE_DATA_SAVE:
|
@@ -187,13 +186,13 @@ class WhisperTranscriptionService:
|
|
187 |
log_block("Audio buffer length", f"{audio_buffer.shape[0]/self.sample_rate:.2f}", "s")
|
188 |
start_time = time.perf_counter()
|
189 |
|
190 |
-
result = self._translate_pipe.
|
191 |
segments = result.segments
|
192 |
time_diff = (time.perf_counter() - start_time)
|
193 |
-
logger.debug(f"📝
|
194 |
-
log_block("📝
|
195 |
-
log_block("📝
|
196 |
-
self.
|
197 |
return result
|
198 |
|
199 |
def _translate_text(self, text: str) -> str:
|
|
|
56 |
# 文本分隔符,根据语言设置
|
57 |
self.text_separator = _get_text_separator(language)
|
58 |
self.loop = asyncio.get_event_loop()
|
|
|
59 |
# 原始音频队列
|
60 |
self._frame_queue = queue.Queue()
|
61 |
# 音频队列缓冲区
|
|
|
71 |
self.frame_processing_thread = _start_thread(self._frame_processing_loop)
|
72 |
self.row_number = 0
|
73 |
# for test
|
74 |
+
self._transcribe_time_cost = 0.
|
75 |
self._translate_time_cost = 0.
|
76 |
|
77 |
if config.SAVE_DATA_SAVE:
|
|
|
186 |
log_block("Audio buffer length", f"{audio_buffer.shape[0]/self.sample_rate:.2f}", "s")
|
187 |
start_time = time.perf_counter()
|
188 |
|
189 |
+
result = self._translate_pipe.transcribe(audio_buffer.tobytes(), self.source_language)
|
190 |
segments = result.segments
|
191 |
time_diff = (time.perf_counter() - start_time)
|
192 |
+
logger.debug(f"📝 transcribe Segments: {segments} ")
|
193 |
+
log_block("📝 transcribe output", f"{self.text_separator.join(seg.text for seg in segments)}", "")
|
194 |
+
log_block("📝 transcribe time", f"{time_diff:.3f}", "s")
|
195 |
+
self._transcribe_time_cost = round(time_diff, 3)
|
196 |
return result
|
197 |
|
198 |
def _translate_text(self, text: str) -> str:
|