diff --git a/Doc/library/wave.rst b/Doc/library/wave.rst
index 794559b..a79489c 100644
--- a/Doc/library/wave.rst
+++ b/Doc/library/wave.rst
@@ -157,6 +157,10 @@
 
    Set the frame rate to *n*.
 
+   .. versionchanged:: 3.2
+      A non-integral input to this method is rounded to the nearest
+      integer.
+
 
 .. method:: Wave_write.setnframes(n)
 
diff --git a/Lib/test/test_wave.py b/Lib/test/test_wave.py
index 1bcaa242..e0aace4 100644
--- a/Lib/test/test_wave.py
+++ b/Lib/test/test_wave.py
@@ -22,11 +22,14 @@
         except OSError:
             pass
 
-    def test_it(self):
+    def test_it(self, test_rounding=False):
         self.f = wave.open(TESTFN, 'wb')
         self.f.setnchannels(nchannels)
         self.f.setsampwidth(sampwidth)
-        self.f.setframerate(framerate)
+        if test_rounding:
+            self.f.setframerate(framerate - 0.1)
+        else:
+            self.f.setframerate(framerate)
         self.f.setnframes(nframes)
         output = b'\0' * nframes * nchannels * sampwidth
         self.f.writeframes(output)
@@ -39,6 +42,13 @@
         self.assertEqual(nframes, self.f.getnframes())
         self.assertEqual(self.f.readframes(nframes), output)
 
+    def test_fractional_framerate(self):
+        """
+        Addresses [ 1512791 ] module wave does no rounding
+        Floating point framerates should be rounded, rather than truncated.
+        """
+        self.test_it(test_rounding=True)
+
     def test_issue7681(self):
         self.f = wave.open(TESTFN, 'wb')
         self.f.setnchannels(nchannels)
diff --git a/Lib/wave.py b/Lib/wave.py
index 2fa9b6b..950d8e2 100644
--- a/Lib/wave.py
+++ b/Lib/wave.py
@@ -355,7 +355,7 @@
             raise Error('cannot change parameters after starting to write')
         if framerate <= 0:
             raise Error('bad frame rate')
-        self._framerate = framerate
+        self._framerate = int(round(framerate))
 
     def getframerate(self):
         if not self._framerate:
diff --git a/Misc/ACKS b/Misc/ACKS
index ef92941..0ab67dd 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -792,6 +792,7 @@
 Thenault Sylvain
 Péter Szabó
 Arfrever Frehtes Taifersar Arahesis
+Neil Tallim
 Geoff Talvola
 Musashi Tamura
 William Tanksley
diff --git a/Misc/NEWS b/Misc/NEWS
index 7ef147d..1179c9f 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -132,6 +132,9 @@
 Library
 -------
 
+- Issue #1512791: In setframerate() in the wave module, non-integral
+  frame rates are rounded to the nearest integer.
+
 - Issue #8797: urllib2 does a retry for Basic Authentication failure instead of
   falling into recursion.
 
