diff --git a/Lib/aifc.py b/Lib/aifc.py
index ea4f600..0c62f8d 100644
--- a/Lib/aifc.py
+++ b/Lib/aifc.py
@@ -102,7 +102,7 @@
 #	setcomptype(type, name)
 #			-- set the compression type and the
 #			   human-readable compression type
-#	setparams(nchannels, sampwidth, framerate, nframes, comptype, compname)
+#	setparams(tuple)
 #			-- set all parameters at once
 #	setmark(id, pos, name)
 #			-- add specified mark to the list of marks
diff --git a/Lib/sunau.py b/Lib/sunau.py
index aeac20e..02c13f5 100644
--- a/Lib/sunau.py
+++ b/Lib/sunau.py
@@ -48,9 +48,9 @@
 #	getsampwidth()	-- returns sample width in bytes
 #	getframerate()	-- returns sampling frequency
 #	getnframes()	-- returns number of audio frames
-#	getcomptype()	-- returns compression type ('NONE' for AIFF files)
+#	getcomptype()	-- returns compression type ('NONE' or 'ULAW')
 #	getcompname()	-- returns human-readable version of
-#			   compression type ('not compressed' for AIFF files)
+#			   compression type ('not compressed' matches 'NONE')
 #	getparams()	-- returns a tuple consisting of all of the
 #			   above in the above order
 #	getmarkers()	-- returns None (for compatibility with the
@@ -82,8 +82,7 @@
 #	setcomptype(type, name)
 #			-- set the compression type and the
 #			   human-readable compression type
-#	setparams(nchannels, sampwidth, framerate, nframes, comptype, compname)
-#			-- set all parameters at once
+#	setparams(tuple)-- set all parameters at once
 #	tell()		-- return current position in output file
 #	writeframesraw(data)
 #			-- write audio frames without pathing up the
diff --git a/Lib/wave.py b/Lib/wave.py
index 365bbf9..35e3b6b 100644
--- a/Lib/wave.py
+++ b/Lib/wave.py
@@ -15,9 +15,9 @@
 #	getsampwidth()	-- returns sample width in bytes
 #	getframerate()	-- returns sampling frequency
 #	getnframes()	-- returns number of audio frames
-#	getcomptype()	-- returns compression type ('NONE' for AIFF files)
+#	getcomptype()	-- returns compression type ('NONE' for linear samples)
 #	getcompname()	-- returns human-readable version of
-#			   compression type ('not compressed' for AIFF files)
+#			   compression type ('not compressed' linear samples)
 #	getparams()	-- returns a tuple consisting of all of the
 #			   above in the above order
 #	getmarkers()	-- returns None (for compatibility with the
@@ -49,7 +49,7 @@
 #	setcomptype(type, name)
 #			-- set the compression type and the
 #			   human-readable compression type
-#	setparams(nchannels, sampwidth, framerate, nframes, comptype, compname)
+#	setparams(tuple)
 #			-- set all parameters at once
 #	tell()		-- return current position in output file
 #	writeframesraw(data)
@@ -332,7 +332,7 @@
 		if wFormatTag == WAVE_FORMAT_PCM:
 			self._sampwidth = (_read_short(chunk) + 7) / 8
 		else:
-			raise Error, 'unknown format'
+			raise Error, 'unknown format: ' + `wFormatTag`
 		self._framesize = self._nchannels * self._sampwidth
 		self._comptype = 'NONE'
 		self._compname = 'not compressed'
