Spaces:
Runtime error
Runtime error
| export default function float32To16BitPCM( | |
| float32Arr: Float32Array, | |
| ): Int16Array { | |
| const pcm16bit = new Int16Array(float32Arr.length); | |
| for (let i = 0; i < float32Arr.length; ++i) { | |
| // force number in [-1,1] | |
| const s = Math.max(-1, Math.min(1, float32Arr[i])); | |
| /** | |
| * convert 32 bit float to 16 bit int pcm audio | |
| * 0x8000 = minimum int16 value, 0x7fff = maximum int16 value | |
| */ | |
| pcm16bit[i] = s < 0 ? s * 0x8000 : s * 0x7fff; | |
| } | |
| return pcm16bit; | |
| } | |