docs: def write(file, data, samplerate, subtype=None, endian=None, format=None,
            closefd=True):
      """Write data to a sound file.
  
      .. note:: If `file` exists, it will be truncated and overwritten!
  
      Parameters
      ----------
      file : str or int or file-like object
          The file to write to.  See :class:`SoundFile` for details.
      data : array_like
          The data to write.  Usually two-dimensional (frames x channels),
          but one-dimensional `data` can be used for mono files.
          Only the data types ``'float64'``, ``'float32'``, ``'int32'``
          and ``'int16'`` are supported.
  
          .. note:: The data type of `data` does **not** select the data
                    type of the written file. Audio data will be
                    converted to the given `subtype`. Writing int values
                    to a float file will *not* scale the values to
                    [-1.0, 1.0). If you write the value ``np.array([42],
                    dtype='int32')``, to a ``subtype='FLOAT'`` file, the
                    file will then contain ``np.array([42.],
                    dtype='float32')``.
  
      samplerate : int
          The sample rate of the audio data.
      subtype : str, optional
          See :func:`default_subtype` for the default value and
          :func:`available_subtypes` for all possible values.
  
      Other Parameters
      ----------------
      format, endian, closefd
          See :class:`SoundFile`.
  
      Examples
      --------
      Write 10 frames of random data to a new file:
  
      >>> import numpy as np
      >>> import soundfile as sf
      >>> sf.write('stereo_file.wav', np.random.randn(10, 2), 44100, 'PCM_24')
  
      """
      import numpy as np
      data = np.asarray(data)
      if data.ndim == 1:
          channels = 1
      else:
          channels = data.shape[1]
      with SoundFile(file, 'w', samplerate, channels,
                     subtype, endian, format, closefd) as f:
          f.write(data)