summaryrefslogtreecommitdiff
path: root/async_fm_demod.py
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-04-22 19:17:35 +0300
committerYuval Adam <_@yuv.al>2018-04-22 19:17:35 +0300
commitd1769d1c8a83ef9354f55a46ac64f57ded091faa (patch)
tree181c656002ad9e5548344523dbd8484f4215b2e0 /async_fm_demod.py
parent6b2baa71b1a49e8e542db55f27943a25c5529090 (diff)
Pyaudio buffer underrunspyaudio
Diffstat (limited to 'async_fm_demod.py')
-rw-r--r--async_fm_demod.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/async_fm_demod.py b/async_fm_demod.py
index e1f4640..3d46a9e 100644
--- a/async_fm_demod.py
+++ b/async_fm_demod.py
@@ -1,17 +1,14 @@
import asyncio
-import alsaaudio
+import pyaudio
import numpy as np
import scipy.signal as signal
from rtlsdr import RtlSdr
-device = alsaaudio.PCM(alsaaudio.PCM_PLAYBACK, device='default')
-device.setchannels(1)
-device.setrate(50000)
-device.setformat(alsaaudio.PCM_FORMAT_S16_LE)
-device.setperiodsize(520)
+pa = pyaudio.PyAudio()
+stream = pa.open(format=pyaudio.paInt16, channels=1, rate=50000, output=True)
async def streaming():
sdr = RtlSdr()
@@ -20,7 +17,8 @@ async def streaming():
prev = None
- device.write(np.array([0] * 100000).astype('int16'))
+ stream.write(np.array([0] * 100000).astype('int16'))
+ stream.start_stream()
async for samples in sdr.stream():
samples = np.array(samples).astype('complex64')
@@ -37,7 +35,7 @@ async def streaming():
samples = signal.decimate(samples, int(200e3 / 50e3))
samples *= 10000
- device.write(samples.astype('int16'))
+ stream.write(samples.astype('int16'))
await sdr.stop()
sdr.close()