(audio, headroom_db=0.5)
| 111 | |
| 112 | |
| 113 | def normalize_per_channel(audio, headroom_db=0.5): |
| 114 | peaks = np.max(np.abs(audio), axis=0) |
| 115 | peaks[peaks == 0.0] = 1.0 |
| 116 | target = 10.0 ** (-headroom_db / 20.0) |
| 117 | scale = target / peaks |
| 118 | return audio * scale |
| 119 | |
| 120 | |
| 121 | def float_to_int16(x, dither=False, rng=None): |