Run the 2to3 utility.  Invocation:  2to3 -w .
Fix dll loading in Python3 without breaking it in Python2
Replace tabs with spaces per:

http://legacy.python.org/dev/peps/pep-0008/#tabs-or-spaces
Handle str being unicode by default in Python3.

TODO:  Is ASCII the correct choice on all systems?
Cleaner checking for Python3
Use sys.getdefaultencoding() instead of "ascii" per David's suggestion.
Aligned constant values
Tests for non ascii filenames
fs encoding instead default and not just for py3
Python3 exception managing in tests as well
extracted _fsencode helper, not changing original
encoded sndfile error messages and text tags
Updated documentation for 1.1
alineation