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,9 +23,14 @@ class AudioChunk:
output=AudioChunk(audio_chunk_list[0].audio,audio_chunk_list[0].word_timestamps) output=AudioChunk(audio_chunk_list[0].audio,audio_chunk_list[0].word_timestamps)
for audio_chunk in audio_chunk_list[1:]: 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: if output.word_timestamps is not None:
output.word_timestamps+=audio_chunk.word_timestamps 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 return output