old_contents: import sys
  import warnings
  
  if sys.platform[:5] == 'linux':
      BACKEND = 'ALSA'
  else:
      BACKEND = None
  
  if BACKEND == 'ALSA':
      try:
          from scikits.audiolab.soundio._alsa_backend import AlsaDevice
      except ImportError, e:
          warnings.warn("Could not import alsa backend; most probably, you did not have alsa headers when building audiolab")
  
      def _play(input, rate):
          nc = input.shape[0]
          dev = AlsaDevice(rate=rate, nchannels=nc)
          dev.play(input)
  else:
      def _play(input, rate):
          raise NotImplementedError("No Backend implemented for you platform %s"
                                    % os.name)
  
  def play(input, rate=44100):
      """Play the signal in vector input to the default output device.
  
      Only floating point input are supported for now: input is assumed to be in
      the -1..1 range. Any values outside this range will be clipped by the
      device.
  
      Parameters
      ----------
          input: array
              input signal of rank 2. Each row is assumed to be one channel.
          rate: int
              sampling rate (in Hz)
      """
      return _play(input, rate)
  
new_contents: import sys
  import warnings
  
  import numpy as np
  
  if sys.platform[:5] == 'linux':
      BACKEND = 'ALSA'
  else:
      BACKEND = None
  
  if BACKEND == 'ALSA':
      try:
          from scikits.audiolab.soundio._alsa_backend import AlsaDevice
      except ImportError, e:
          warnings.warn("Could not import alsa backend; most probably, you did not have alsa headers when building audiolab")
  
      def _play(input, rate):
          if input.ndim == 1:
              input = input[np.newaxis, :]
              nc = 1
          elif input.ndim == 2:
              nc = input.shape[0]
          else:
              raise ValueError, \
                    "Only input of rank 1 and 2 supported for now."
  
          dev = AlsaDevice(rate=rate, nchannels=nc)
          dev.play(input)
  else:
      def _play(input, rate):
          raise NotImplementedError("No Backend implemented for you platform %s"
                                    % os.name)
  
  def play(input, rate=44100):
      """Play the signal in vector input to the default output device.
  
      Only floating point input are supported for now: input is assumed to be in
      the -1..1 range. Any values outside this range will be clipped by the
      device.
  
      Parameters
      ----------
          input: array
              input signal of rank 2. Each row is assumed to be one channel.
          rate: int
              sampling rate (in Hz)
      """
      return _play(input, rate)
  
subject: Support rank 1 array for soundio.play.