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

Method _make_wav

IPython/lib/display.py:131–151  ·  view source on GitHub ↗

Transform a numpy array to a PCM bytestring

(data, rate, normalize)

Source from the content-addressed store, hash-verified

129
130 @staticmethod
131 def _make_wav(data, rate, normalize):
132 """ Transform a numpy array to a PCM bytestring """
133 from io import BytesIO
134 import wave
135
136 try:
137 scaled, nchan = Audio._validate_and_normalize_with_numpy(data, normalize)
138 except ImportError:
139 scaled, nchan = Audio._validate_and_normalize_without_numpy(data, normalize)
140
141 fp = BytesIO()
142 waveobj = wave.open(fp,mode='wb')
143 waveobj.setnchannels(nchan)
144 waveobj.setframerate(rate)
145 waveobj.setsampwidth(2)
146 waveobj.setcomptype('NONE','NONE')
147 waveobj.writeframes(scaled)
148 val = fp.getvalue()
149 waveobj.close()
150
151 return val
152
153 @staticmethod
154 def _validate_and_normalize_with_numpy(data, normalize):

Callers 1

__init__Method · 0.80

Tested by

no test coverage detected