llinkz / directkiwi Goto Github PK
View Code? Open in Web Editor NEWa Python 2/3 GUI for fast connect to KiwiSDR around the world (audio only)
a Python 2/3 GUI for fast connect to KiwiSDR around the world (audio only)
I use pipewire as my audio backend, which supports ALSA with pipewire-alsa. Using python3.11 on ArchLinux, I get this error while trying to play anything:
Traceback (most recent call last):
File "/home/tlh/myownstuff/directcheck/kiwiclient/kiwirecorder.py", line 10, in <module>
from kiwi import KiwiSDRStream, KiwiWorker
File "/home/tlh/myownstuff/directcheck/kiwiclient/kiwi/__init__.py", line 8, in <module>
from .wavreader import *
File "/home/tlh/myownstuff/directcheck/kiwiclient/kiwi/wavreader.py", line 11, in <module>
class KiwiIQWavReader(collections.Iterator):
^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'collections' has no attribute 'Iterator'
I fixed it by updating the code to use collections.abc, however, now I get yet another error, this time because of python-sounddevice.
Expression 'paInvalidSampleRate' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2050
Expression 'PaAlsaStreamComponent_InitialConfigure( &self->playback, outParams, self->primeBuffers, hwParamsPlayback, &realSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2724
Expression 'PaAlsaStream_Configure( stream, inputParameters, outputParameters, sampleRate, framesPerBuffer, &inputLatency, &outputLatency, &hostBufferSizeMode )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2845
Traceback (most recent call last):
File "/home/tlh/myownstuff/directcheck/kiwiclient/kiwirecorder.py", line 15, in <module>
stream = sounddevice.OutputStream(12000, 2048, channels=1, dtype='int16')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/tlh/myownstuff/directcheck/.venv/lib/python3.11/site-packages/sounddevice.py", line 1494, in __init__
_StreamBase.__init__(self, kind='output', wrap_callback='array',
File "/home/tlh/myownstuff/directcheck/.venv/lib/python3.11/site-packages/sounddevice.py", line 898, in __init__
_check(_lib.Pa_OpenStream(self._ptr, iparameters, oparameters,
File "/home/tlh/myownstuff/directcheck/.venv/lib/python3.11/site-packages/sounddevice.py", line 2747, in _check
raise PortAudioError(errormsg, err)
sounddevice.PortAudioError: Error opening OutputStream: Invalid sample rate [PaErrorCode -9997]
This seems to be a error because portaudio isn't able to find the right devices.
I'm not completely sure how to fix it, but directKiwi continues to run at 12000 samples / sec when connecting to servers running at 20250 samples / sec. It probably needs to pull status data from the server and use the reported sample rate.
For example, connect to the KiwiSDR at k3fef.com. Audio sounds like a "slow record" because of the rate mismatch.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.