scipy.io.wavfile.read¶
- 
scipy.io.wavfile.read(filename, mmap=False)[source]¶
- Open a WAV file - Return the sample rate (in samples/sec) and data from a WAV file. - Parameters
- filenamestring or open file handle
- Input wav file. 
- mmapbool, optional
- Whether to read data as memory-mapped. Only to be used on real files (Default: False). - New in version 0.12.0. 
 
- Returns
- rateint
- Sample rate of wav file. 
- datanumpy array
- Data read from wav file. Data-type is determined from the file; see Notes. 
 
 - Notes - This function cannot read wav files with 24-bit data. - 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 - 1
- IBM Corporation and Microsoft Corporation, “Multimedia Programming Interface and Data Specifications 1.0”, section “Data Format of the Samples”, August 1991 http://www.tactilemedia.com/info/MCI_Control_Info.html 
 - Examples - >>> from os.path import dirname, join as pjoin >>> import scipy.io as sio - Get the filename for an example .wav file from the tests/data directory. - >>> data_dir = pjoin(dirname(sio.__file__), 'tests', 'data') >>> wav_fname = pjoin(data_dir, 'test-44100Hz-2ch-32bit-float-be.wav') - Load the .wav file contents. - >>> samplerate, data = sio.wavfile.read(wav_fname) >>> print(f"number of channels = {data.shape[1]}") number of channels = 2 >>> length = data.shape[0] / samplerate >>> print(f"length = {length}s") length = 0.01s - Plot the waveform. - >>> import matplotlib.pyplot as plt >>> import numpy as np >>> time = np.linspace(0., length, data.shape[0]) >>> plt.plot(time, data[:, 0], label="Left channel") >>> plt.plot(time, data[:, 1], label="Right channel") >>> plt.legend() >>> plt.xlabel("Time [s]") >>> plt.ylabel("Amplitude") >>> plt.show()   
