summaryrefslogtreecommitdiff
path: root/client/speaker.py
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2014-09-19 15:17:44 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2014-09-26 13:34:47 +0200
commitd71c77460f8eb2564189b4695f4d1187beb8a8b2 (patch)
treeda930753c6050f24b859d4d3e6cc8edf8e8c486a /client/speaker.py
parent8a396c3cc0b94adfb448bcc407011481adcb2b20 (diff)
downloadjasper-client-d71c77460f8eb2564189b4695f4d1187beb8a8b2.tar.gz
jasper-client-d71c77460f8eb2564189b4695f4d1187beb8a8b2.zip
Change AbstractSpeaker.play() to use aplay due to issues with PyAudio playback
see jasperproject/jasper-client#188 for more info
Diffstat (limited to 'client/speaker.py')
-rw-r--r--client/speaker.py21
1 files changed, 5 insertions, 16 deletions
diff --git a/client/speaker.py b/client/speaker.py
index df63eee..54a039f 100644
--- a/client/speaker.py
+++ b/client/speaker.py
@@ -40,22 +40,11 @@ class AbstractSpeaker(object):
def say(self, phrase, *args):
pass
- def play(self, filename, chunksize=1024):
- f = wave.open(filename, 'rb')
- p = pyaudio.PyAudio()
- stream = p.open(format=p.get_format_from_width(f.getsampwidth()),
- channels=f.getnchannels(),
- rate=f.getframerate(),
- output=True)
-
- data = f.readframes(chunksize)
- while data:
- stream.write(data)
- data = f.readframes(chunksize)
-
- stream.stop_stream()
- stream.close()
- p.terminate()
+ def play(self, filename):
+ # FIXME: Use platform-independent audio-output here
+ # See issue jasperproject/jasper-client#188
+ cmd = ['aplay', str(filename)]
+ subprocess.call(cmd)
class AbstractMp3Speaker(AbstractSpeaker):
"""