Spectrum-Analyser ?

  • Hi,


    nach langer Zeit der Untätigkeit habe ich nun mal erste Ansätze gebastelt, allerdings nur mit Verwendung der Soundkarte und mit ein paar Macken, die noch zu beseitigen wären.


    - wie erwähnt müssen die Daten erst zur Soundkarte "FF"->"Line in" o.s.ä.
    - dann ins Plugin, derzeit über "sox" und popen, da gibts aber paar probleme, da vdr zb. bei Kanalumschaltung dann Probleme bereitet
    (bräuchte eine einfache Alternative zu popen()) , direkter Zugriff auf /dev/dsp stellt sich für mich momentan noch als zu schwierig dar.
    - soundkarte muß entsprechend eingestellt werden, benutze dazu im Moment den "aumixer" von der Konsole aus


    Das angehängte Bild beinhaltet mal die Anzeige von 2 Kanälen mit einem Testton welcher von einem anderen Rechner erzeugt wurde, wobei die Daten von sox mit 22095 samples/sec und 8 bit Auflösung geliefert wurden (weiß nicht, wieso sox die eingegebenen 22050 nicht akzeptiert). Wobei noch anzumerken ist, daß auf dem 1. Kanal nichts ausgegeben wurde, kommt also irgendwo zum Übersprechen der Kanäle.

  • Hi,


    So, nun mal zu ersten Ausgabe, hab die Ausgabe auf dem OSD jedoch gegenüber dem Bild im vorherigen Posting etwas abgeändert.
    Soll auch nicht endgültig so sein.
    Vorrangig wäre allerdings eine Änderung der Übernahme der Sounddaten ins Plugin, popen() scheint keine gute Lösung zu sein und das gesamte Händling im Plugin müßte auch umgestaellt werden.


    Soweit ist's aber mal ein Anfang.


    Gruß
    Frank

  • Hallo,


    der 2. Versuch.


    Änderungen:


    - es wird nicht mehr sox, sondern die library von sox benutzt
    (z.B. sox-dev sollte also vorhanden sein, evtl. auch weitere Pakete)


    - Daten werden jetzt ständig gelesen, natürlich nicht alle angezeigt/ausgewertet, aber der "Überlauf" des Puffers von sox sollte damit weg sein. Es wird nun auch mit den "letzten" verfügbaren Werten gerechnet, womit die Verzögerung "weggefallen" ist.



    - evtl muß das Eingabe-Device in soundtest.c, bei mir "/dev/dsp", angepaßt werden
    (device darf auch nicht schon verwendet werden)


    Würde mich über Rückmeldungen freuen, auch zu Tips zu den Parametern fürs öffnen des devices.


    Gruß
    Frank

  • Moin,


    es gibt Compilefehler:


    Offenbar braucht soundtest sox 12.17.9; in Sarge ist aber "nur" 12.17.7 ...


    Gruss,
    Walter

    --seit 2010 kein vdr mehr in Betrieb--
    vdr 1.6.0 + eigene Patchkombination
    GNU/Linux 2.6.23.14 (Debian)
    DVB-S-Karte TT 1.6 (FF, Tuner defekt)
    DVB-S-Karte TT Budget (seit 4/09)
    DVB-T-Karte TT 1300
    DVB-T-USB-StickTerratec Cinergy T USB XE Rev. 2
    PC-Hauptplatine: MSI K8N Neo4-F, AMD 64 (seit 1/07)

  • Hallo Walter,


    sieht so aus, als ob Du recht hast, habe selbst nur sox-12.17.9 benutzt.


    Denke aber mal, daß das zu Aktualisieren darauf kein Problem darstellen sollte, benutzte selbst noch ein auf Woddy basierendes System.


    Gruß
    Frank

  • Hi,


    nun der 3. Versuch:


    -paar Setup-Optionen hinzugefügt
    -alternativ für das Eingabedevice eine Kommandozeilenoption
    -CXXFLAGS im Makefile ergänzt, weiß aber nicht, ob das so ok ist,
    mir ist's derzeit "schnell genug"


    bekannte Probleme:


    - Eingabedevice muß verfügbar sein, bei mir "/dev/dsp"
    - als "Filetype" funktioniert bei mir nur "ossdsp" zufriedenstellend,
    "alsa" "crasht", bei "sb" wäre die werte-umrechnung anders und
    bei "raw" sowie "sb" "kommen die werte zu langsam"
    - Bei Verwendung von nur einem Kanal ist's auch irgendwie langsamer,
    hab die Ursache aber noch nicht gefunden.
    <edit>
    - Crash im Setup bei "Down" bzw. Löschen des falschen Eintrages bei "Up" nach Direkteingabe der Sample-Rate. Fix im nächsten Posting.
    </edit>


    Gruß
    Frank

  • Zitat

    Original von Morone
    Sollte ne Headerdatei von Sox sein. ;)


    Schon fast gedacht, selbst Schuld wenn man sich auf irgend welche Schnürer verlässt....


    http://crux.nu/portdb/?command=viewfile&repo=opt&port=sox&file=Pkgfile


    Haben, was vergessen.


    Code
    1. make install-lib


    ----------------


    Schade eigentlich.


    ERROR: /usr/local/src/VDR/PLUGINS/lib/libvdr-soundtest.so.1.3.44: undefined symbol: snd_pcm_resume


    MFG Ronny

  • Hi,


    hat sich zwar nicht wirklich viel geändert und ist schon eine Weile her, daß ich was daran getan habe, möchte es aber trotzdem nochmal veröffentlichen, vielleicht hat noch jemand Ideen.


    Änderungen:


    - paar Einstellungen sind dazugekommen


    Noch nicht getan:


    - Anpassungen an vdr > 1.3.43 (bin selbst noch bei 1.3.43 hängen geblieben)


    Gruß
    Frank