MCPcopy Index your code
hub / github.com/ipython/ipython / _make_wav

Method _make_wav

IPython/lib/display.py:147–167  ·  view source on GitHub ↗

Transform a numpy array to a PCM bytestring

(data, rate, normalize)

Source from the content-addressed store, hash-verified

145
146 @staticmethod
147 def _make_wav(data, rate, normalize):
148 """ Transform a numpy array to a PCM bytestring """
149 from io import BytesIO
150 import wave
151
152 try:
153 scaled, nchan = Audio._validate_and_normalize_with_numpy(data, normalize)
154 except ImportError:
155 scaled, nchan = Audio._validate_and_normalize_without_numpy(data, normalize)
156
157 fp = BytesIO()
158 waveobj = wave.open(fp,mode='wb')
159 waveobj.setnchannels(nchan)
160 waveobj.setframerate(rate)
161 waveobj.setsampwidth(2)
162 waveobj.setcomptype('NONE','NONE')
163 waveobj.writeframes(scaled)
164 val = fp.getvalue()
165 waveobj.close()
166
167 return val
168
169 @staticmethod
170 def _validate_and_normalize_with_numpy(data, normalize) -> Tuple[bytes, int]:

Callers 1

__init__Method · 0.80

Tested by

no test coverage detected