MCPcopy Create free account
hub / github.com/FunAudioLLM/SenseVoice / model_inference

Function model_inference

webui.py:141–179  ·  view source on GitHub ↗
(input_wav, language, fs=16000)

Source from the content-addressed store, hash-verified

139 return new_s.strip()
140
141def model_inference(input_wav, language, fs=16000):
142 # task_abbr = {"Speech Recognition": "ASR", "Rich Text Transcription": ("ASR", "AED", "SER")}
143 language_abbr = {"auto": "auto", "zh": "zh", "en": "en", "yue": "yue", "ja": "ja", "ko": "ko",
144 "nospeech": "nospeech"}
145
146 # task = "Speech Recognition" if task is None else task
147 language = "auto" if len(language) < 1 else language
148 selected_language = language_abbr[language]
149 # selected_task = task_abbr.get(task)
150
151 # print(f"input_wav: {type(input_wav)}, {input_wav[1].shape}, {input_wav}")
152
153 if isinstance(input_wav, tuple):
154 fs, input_wav = input_wav
155 input_wav = input_wav.astype(np.float32) / np.iinfo(np.int16).max
156 if len(input_wav.shape) > 1:
157 input_wav = input_wav.mean(-1)
158 if fs != 16000:
159 print(f"audio_fs: {fs}")
160 resampler = torchaudio.transforms.Resample(fs, 16000)
161 input_wav_t = torch.from_numpy(input_wav).to(torch.float32)
162 input_wav = resampler(input_wav_t[None, :])[0, :].numpy()
163
164
165 merge_vad = True #False if selected_task == "ASR" else True
166 print(f"language: {language}, merge_vad: {merge_vad}")
167 text = model.generate(input=input_wav,
168 cache={},
169 language=language,
170 use_itn=True,
171 batch_size_s=60, merge_vad=merge_vad)
172
173 print(text)
174 text = text[0]["text"]
175 text = format_str_v3(text)
176
177 print(text)
178
179 return text
180
181
182audio_examples = [

Callers

nothing calls this directly

Calls 1

format_str_v3Function · 0.85

Tested by

no test coverage detected