title: PyAudio 'utf8' error when listing devices
body: <p>When using PyAudio (Portaudio binding) with ASIO+DirectSound support, this code :</p>
  
  <pre><code>import pyaudio
  
  p = pyaudio.PyAudio()
  for i in range(p.get_device_count()):
      print p.get_device_info_by_index(i)
  </code></pre>
  
  <p>... produces this error :</p>
  
  <pre><code>UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 1: invalid continuation byte
  </code></pre>
  
  <p><strong>How can we solve this problem ?</strong></p>
  
  <hr>
  
  <p>The problem may come from "pyaudio.py", line 990, because of an unsucessful utf8 decoding :</p>
  
  <pre><code>           return {'index' : index,
                      'structVersion' : device_info.structVersion,
                      'name' : device_info.name,
  </code></pre>
  
  <hr>
  
  <p>This answer here <a href="https://stackoverflow.com/questions/15878370/special-characters-in-audio-devices-name-pyaudio">Special characters in audio devices name : Pyaudio</a> ("don't use PyAudio") is not satisfactory.</p>
  
  <hr>
  
  <p><strong>Traceback</strong></p>
  
  <pre><code>...
  {'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.0, 'defaultLowInputLatency': 0.12, 'maxInputChannels': 2L, 'structVersion': 2L, 'hostApi': 1L, 'index': 8, 'defaultHighOutputLatency': 0.0, 'maxOutputChannels': 0L, 'name': u'Microphone interne (Conexant 20672 SmartAudio HD)', 'defaultHighInputLatency': 0.24}
  Traceback (most recent call last):
    File "D:\test\test.py", line 5, in &lt;module&gt;
      print p.get_device_info_by_index(i)
    File "C:\ProgramData\Anaconda\lib\site-packages\pyaudio.py", line 977, in get_device_info_by_index
      pa.get_device_info(device_index)
    File "C:\ProgramData\Anaconda\lib\site-packages\pyaudio.py", line 990, in _make_device_info_dictionary
      'name' : device_info.name,
  UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 1: invalid continuation byte
  </code></pre>