So mache ich das auch.
Aber mit tee scheint es noch besser zu laufen.
Aber vielleicht findest Du ja auch den Fehler.
Sent from my iPhone using Tapatalk
So mache ich das auch.
Aber mit tee scheint es noch besser zu laufen.
Aber vielleicht findest Du ja auch den Fehler.
Sent from my iPhone using Tapatalk
Also bin leider noch nicht zum testen gekommen, aber hab nachgeschaut, das Loopback Device ist da, von daher gehe ich davon aus das es so gehen würde.
Wie machst du es denn mit tee?
Gruß
So vom Bash:
Das Pythonscript "multimon-filter.py" sieht dann so aus:Code:sudo rtl_fm$ID -d 0 -f XXX.XXXM -M fm -s 22050 -l 15 -p 12 -E DC -F 0 -g 32 | tee >(sudo multimon-ng -a XXXXX -f alpha -t raw - | python /install/py-scripte/raspoc/multimon-filter.py) >(AUDIODEV=plughw:Loopback,0 play -t raw -r 22050 -e signed-integer -b 16 -c1 -V1 -q -) > /dev/null
Du brauchst die ganzen SubProzesse für rtl_fm und multimon-ng nicht starten.Code:import sys reload(sys) sys.setdefaultencoding("UTF-8") try: line = sys.stdin.readline() while line: line = sys.stdin.readline() .......
Der Rest ist dann gleich.
Gruß
Marcel
Hi,
Bei meinen Tests (meist FMS und 5-Ton) hat sich herausgestellt, dass die Dekodierung zuverlässiger wird, wenn man auf das NF (Audio)-Signal noch einen lowpass und highpass-Filter anwendet. Die Frequenzen, die zur Modulation verwendet werden, sind ja bekannt. Muss natürlich noch Rechenleistung dafür übrig sein.
Beispiel für's Dekodieren, wenn die Demodulation von gqrx gemacht wird (und das Audiosignal per UDP weitergegeben wird):
Wenn ihr im Python-Programm eh schon mit tee und virtuellen ALSA-Karten arbeitet, sollte das aber auch einfach in den bestehenden Signalfluß einzubauen sein.Code:nc -l -u -p 7355 | sox -t raw -esigned-integer -b16 -r 48000 - -esigned-integer -b16 -r 22050 -t raw - highpass 1k lowpass 2500 | multimon-ng -t raw -a ZVEI2 -a fmsfsk -
Wie würde das wohl aussehen, wenn man statt Python einfach mal zu C greift?
Kaum Erfahrung mit C unter Linux, aber daran sollte es nicht scheitern.
Hätte echt Lust ne Rahmensoftware um Multimon zu erstellen.
Schön mit übersichtlicher Konfigurationsfile usw.
-variable Datenquelle (rtl_fm, soundkarte, ...)
- Ausgaben Parsen
- diese dann Filtern, nach gewünschten Kriterien
- nach belieben MySQL
- nach belieben Audio Record
- HTTP-Request
- weiß-der-Geier-wohin-mit-den-Daten-Modul
Würde das Performance mäßig überhaupt was bringen?
Gruß
Ich würde keine großen Performanceunterschied erwarten, Python kann auch verdammt performant und effizient sein (siehe https://www.paypal-engineering.com/2...rprise-python/ ). Zugegebenermaßen bin ich eher der C++/Qt4-Typ, Python kann ich nur rudimentär. Aber ich gehen davon aus, dass die meisten Sachen die du beschreibst (MySQL, HTTP, Filtern, Parsen, ...) mit Python einfacher und mit weniger Code zu erreichen sind als in reinem C. Mit Qt sind so Sachen auch nicht kompliziert, ist halt eine andere Philosophie als Python.
Ok, angesichts dessen, macht es wohl der einfachheit halber schon Sinn, bei Python zu bleiben.
Aber die Idee mit der schön zu konfigurierbaren, modularen Rahmen Software würde mir trotzdem schmecken :-D
Aktive Benutzer in diesem Thema: 5 (Registrierte Benutzer: 0, Gäste: 5)