write — SciPy v1.15.3 Manual (original) (raw)

scipy.io.wavfile.

scipy.io.wavfile.write(filename, rate, data)[source]#

Write a NumPy array as a WAV file.

Parameters:

filenamestring or open file handle

Output wav file.

rateint

The sample rate (in samples/sec).

datandarray

A 1-D or 2-D NumPy array of either integer or float data-type.

Notes

Common data types: [1]

WAV format Min Max NumPy dtype
32-bit floating-point -1.0 +1.0 float32
32-bit PCM -2147483648 +2147483647 int32
16-bit PCM -32768 +32767 int16
8-bit PCM 0 255 uint8

Note that 8-bit PCM is unsigned.

References

Examples

Create a 100Hz sine wave, sampled at 44100Hz. Write to 16-bit PCM, Mono.

from scipy.io.wavfile import write import numpy as np samplerate = 44100; fs = 100 t = np.linspace(0., 1., samplerate) amplitude = np.iinfo(np.int16).max data = amplitude * np.sin(2. * np.pi * fs * t) write("example.wav", samplerate, data.astype(np.int16))