Fix audio chunk concatenation and dtype conversion confliction

- Modify audio chunk concatenation to handle float32 audio data
- Add explicit conversion from float32 to int16 using amplitude scaling
- Remove unnecessary dtype specification in np.concatenate
This commit is contained in:
CodePothunter 2025-03-07 20:17:35 +08:00
parent 5c8f941f06
commit 2dc9b81ad5

View file

@ -23,10 +23,15 @@ class AudioChunk:
output=AudioChunk(audio_chunk_list[0].audio,audio_chunk_list[0].word_timestamps)
for audio_chunk in audio_chunk_list[1:]:
output.audio=np.concatenate((output.audio,audio_chunk.audio),dtype=np.int16)
output.audio=np.concatenate((output.audio, audio_chunk.audio))
if output.word_timestamps is not None:
output.word_timestamps+=audio_chunk.word_timestamps
# 从float32转换为int16使用音频的方式
if output.audio.dtype == np.float32:
output.audio = (output.audio * 32767).astype(np.int16)
return output
class ModelBackend(ABC):