import wave from io import BytesIO import numpy as np from .np import float_to_int16 from .av import wav2 def pcm_arr_to_mp3_view(wav: np.ndarray): buf = BytesIO() with wave.open(buf, "wb") as wf: wf.setnchannels(1) # Mono channel wf.setsampwidth(2) # Sample width in bytes wf.setframerate(24000) # Sample rate in Hz wf.writeframes(float_to_int16(wav)) buf.seek(0, 0) buf2 = BytesIO() wav2(buf, buf2, "mp3") buf.seek(0, 0) return buf2.getbuffer()