| 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() | |