MCPcopy Create free account
hub / github.com/ipython/ipython / _validate_and_normalize_with_numpy

Method _validate_and_normalize_with_numpy

IPython/lib/display.py:154–173  ·  view source on GitHub ↗
(data, normalize)

Source from the content-addressed store, hash-verified

152
153 @staticmethod
154 def _validate_and_normalize_with_numpy(data, normalize):
155 import numpy as np
156
157 data = np.array(data, dtype=float)
158 if len(data.shape) == 1:
159 nchan = 1
160 elif len(data.shape) == 2:
161 # In wave files,channels are interleaved. E.g.,
162 # "L1R1L2R2..." for stereo. See
163 # http://msdn.microsoft.com/en-us/library/windows/hardware/dn653308(v=vs.85).aspx
164 # for channel ordering
165 nchan = data.shape[0]
166 data = data.T.ravel()
167 else:
168 raise ValueError('Array audio input must be a 1D or 2D array')
169
170 max_abs_value = np.max(np.abs(data))
171 normalization_factor = Audio._get_normalization_factor(max_abs_value, normalize)
172 scaled = data / normalization_factor * 32767
173 return scaled.astype('<h').tostring(), nchan
174
175
176 @staticmethod

Callers 1

_make_wavMethod · 0.80

Calls 1

Tested by

no test coverage detected