Audio Auswertung vb.net

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von maggusxy.

    Audio Auswertung vb.net

    Hallo Leute,

    gleich vorneweg: Ich habe schon einige Zeit jetzt gegoogelt, bin aber zu keinem zufriedenstellenden Ergebnis gekommen.
    Liegt vielleicht auch daran, dass ich mich jetzt zum ersten mal in der Themen-Richtung beschäftige und ich nicht weiß, nach was ich genau googeln muss.

    Mein Ziel was ich eigentlich erreichen will ist folgendes: Wenn per BOS-Funk unsere Feuerwehr alarmiert wird zu einem Einsatz, soll meine Software über ein Gateway ein paar SMS'e an ein paar Handys versenden. Soweit nicht schwierig, aber das Problem ist die Auswertung des AudioSignals.

    Ich hab es mittlerweile geschafft, ein altes BOS-Funkgerät unserer Feuerwehr an die Soundkarte anzukoppeln. Vom Eingangspegel passt es. Es ist nicht zu leise und es übersteuert nichts.

    Meine Software sollte nun in der Lage sein, von dem andauernden Audio Signal, was per Soundkarte rein kommt, die Alarm-5-Ton-Folge zu erkennen, und dann eine entsprechende Funktion auslösen, was die SMS'e versendet, siehe hier.
    de.wikipedia.org/wiki/5-Ton-Folge


    Meine Google Ergebnisse brachten mich auf eine dll namens Bass.dll mit der es gar nicht mal so schwierig sein sollte das Signal des Audio-Eingangs aufzunehmen uns auszuwerten.


    Ich erwarte jetzt keine fertige Lösung von euch oder dergleichen.
    Ich wäre über ein paar (sinnvolle!) weiterführende Links in Sachen Audioverarbeitung in Sachen vb.net sehr erfreut mit denen so etwas erreichbar wäre.

    Vielen Dank & Gruss
    Markus
    Hi maggusxy

    Habs mal mit der bass.dll probiert.
    BOS-Anwendung_source.zip

    Die ausführbare Geschichte ist im Ordner ...BOS-Anwendung\bin\x86\Release\BOS-Anwendung.exe
    Damit die bass.dll unabhängig von Deiner Architektur läuft. (32/64 bit)
    Wenn Du das Projekt debuggst musst Du das in Deinem Konfigurationsmanager einstellen:
    Konfiguration: Release
    Plattform: x86
    bzw. musst Du sicherstellen, dass "bass.dll", "Bass.Net.dll" und "5-Ton-Folge-88022.ogg" im selben Ordner liegen, wie die BOS-Anwendung.exe.

    Ich hab als Signal-Vorlage mal die 5-Ton-Folge-88022.ogg von de.wikipedia.org/wiki/5-Ton-Folge genommen.
    Kodierung: 88022; Töne: 2000 - 2600 - 2400 - 1160 - 2600 (Angaben in Hertz)

    aktueller Stand:
    Wenn Du BOS-Anwendung.exe startest, erscheint erstmal 'n Fenster von Bass.Net zwecks Registrierung. Das braucht Dich nicht
    zu kümmern. Kannste später mal machen (ist kostenlos), wenn Du's brauchst.

    Stell die Lautstärke ein und drücke "Signal abspielen".
    Die Datei "5-Ton-Folge-88022.ogg" wird nun auf folgende Frequenzen geprüft:
    (1060, 1160, 1270, 1400, 1530, 1670, 1830, 2000, 2200, 2400, 2600) Hz.

    Die 5-Ton-Folge wird 2* wiedergegeben. Deshalb erscheint die Frequenzfolge (2000 - 2600 - 2400 - 1160 - 2600) 2 mal.

    Also, mit der bass.dll kann man schon mal die gewünschten Frequenzen erkennen.
    Die zugehörige Ziffernzuweisung für die Codierung (1 2 3 4 5 6 7 8 9 0 R) ist kein Problem.

    Eine Hürde wäre jetzt noch das Signal zu analysieren wenn es von Deiner Soundkarte wiedergegeben wird (SMS-Empfang oder wie Du das machst) und nicht wie im Beispiel wenn es als Datei abgespielt wird.
    Ist aber auch kein Problem. Ich selber nehme mit der bass.dll auch Sound von Stereomix bzw. Line-In auf.

    Also:
    Wenn Du an dieser Variante interessiert bist, dann könnte ich Dir bei der letzten Hürde helfen. Hab es noch nicht vorbereitet,
    dauert ja doch bissel länger.

    PS: die Links von SystemUnknow sind auch interessant.
    Hallo ihr zwei,

    erstmal allerbesten Dank für eure Mühen. Insbesondere an dich, OnkelR.
    Hattest du das ganze schonmal gemacht oder hatteste das Projekt extra für mich jetzt angefangen?

    Ich hatte heute jetzt leider ziemlich wenig Zeit um mir das anzuschauen. Werde ich aber morgen mittag mal nachholen alles und dann melde ich mich wieder!

    Vielen Dank nochmals & Gute Nacht!
    Markus
    Nix zu danken.
    Naja, Projekt is übertrieben. Es hat mich halt interessiert, zumal ich von diesem BOS-Funk das erste mal gehört habe.
    Es ist ja nur ein Startpunkt. Alles Andere können wir ja erarbeiten. Aber lass Dir Zeit. Ich werde mich auch noch ein wenig
    einarbeiten. Habe bei der Erstellung des Projektes festgestellt, dass es wieder einiges zu lernen gibt. Kann ja nicht schaden.
    Bis denne.


    Hey Markus.
    Habs jetzt mit Sound von Soundkarte hinbekommen.
    Also ich spiele die 5Ton-ogg mit externem Mediaplayer ab und das Proggi zeigt mir die Frequenzen.

    Edit by ~blaze~:
    Doppelpost
    --> *Beiträge zusammengefügt*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()

    Hey OnkelR,

    das ist ja absolut super :)
    Ich frage mich nur wie ich mir das alles nur verdient hab !!

    Ich bin grad noch in der Uni und wollte heute Abend mich selber dran setzen, aber wenn du es schon hast, ist das natürlich umso besser :)

    Schade dass wir uns nicht richtig kennen, du hättest echt fett was bei mir gut ! ;)

    Danke vielmals noch!
    Mann, immer locker bleiben. 8-)

    Form1.zip = 3,93kB

    Das Ding is ja noch nicht fertig, aber ab hier kann man erstmal richtig loslegen, da brauch ich auch Deine Unterstützung.

    Den Code der alten Form1.vb mit dieser Form1.vb ersetzen.
    Beim debuggen oder starten der .exe folgendes Beachten
    1. Combobox Aufnahmequelle: dort musst Du Stereomix, Hauptlautstärke oder oder wählen
    (Ich kenn Deinen Rechner nicht, speziell Audio-Treiber, Betriebssystem)

    2. Button "Aufnahme Bereitschaft herstellen" klicken
    Wenn Deine Hardware kompatibel ist beginnt hier schon mal ein Timer zu laufen, unterhalb der Combobox.
    In den 2 Feldern daneben wird nur der Peaklevel (Geräuschpegel des Eingangssignals) dargestellt.
    Nicht wundern, der Pegel kann auch vorhanden sein, auch wenn alles leise gestellt ist. (Pegelbereich: 0 - 32768)

    3. Button "Signal abspielen" klicken
    Die 5Ton-ogg wird abgespielt, erkannte Freuenzen werden in Textbox oben dargestellt.

    Der Aufnahmetimer liesst nun die Frequenzen nicht aus der 5Ton-ogg, sondern von der Soundkarte.
    Wenn dem so ist, erscheint in der unteren Textbox die Frequenzfolge.

    4. Wenn das alles soweit läuft testen wir die Variante für das Endergebnis. Das heißt:
    Die 5Ton-ogg wird von nem anderen Player abgespielt, VLC, WMP oder oder.

    Jetzt greift das Proggi die Frequenzen ebenfalls von der Soundkarte ab. Beachte, dass keine andern Sounds aktiv sind.
    Ich habe festgestellt, dass VLC die 5Ton-ogg nicht ordentlich abspielt. WMP hab ich deinstralliert, habe nur meinen eigenen
    Player und VLC am laufen. Wenns bei Dir mit VLC och nicht geht, dann kannste ja meinen Player hier im Forum runterladen.
    (MusikstationSP) Bei meinem Proggi habsch keine Probleme mit dem File.



    Das ist der Stand. Es gibt noch'n bissel zu fummeln, die Codierung (Frequenz zu Ziffer), Auswertung der Entschlüsselung usw.
    Du musst mir unbedingt berichten, was läuft, was nicht. Wenn was nicht geht, schreib mir auch Deine Hardware-Daten,
    also eigentlich nur Audio-Treiber und Betriebssystem. Mehr brauchts net.
    Man liesst sich, bis denne.
    Hi Onkel,

    dann aber trotzdem erstmal danke soweit!

    Ich habe das Problem, dass ich im Moment an meinem 2. Wohnsitz bin da ich ja zur Uni muss.. Ich komme aber dann zum Wochenende heim und werde es dort dann mal probieren wie es denn so läuft mit der Erkennung.
    Ist ja wichtig dass es erstmal sicher die Ziffern erkennt und sich nicht von normalen Durchsagen täuschen lässt. Die menschliche Sprache spielt sich ja nämlich auch in dem Frequenzbereich der Töne ab. Dann kann man das ja weiter schreiben dass es Alarm auslöst bei bestimmten Ziffernfolgen.


    Vorerst werde ich das Teil mit nem Zoom H4 zu Hause testen, will es aber dann später an den Server im Feuerwehrhaus hängen. Da läuft im Moment Win Server 2003 R2 drauf und muss eigentlich noch die .net Umgebung nachinstallieren. Soundkarte weiss ich nicht genau was da vorhanden ist. Ich denke irgendein onboard Pups Teil. Man kanns ja damit mal probieren. Aber ne externe USB Soundkarte kostet ja nicht die Welt.


    Ich melde mich dann so bis zur nächsten Woche nochmal!

    Frohe Weihnachten wünsch ich dir!
    Schitt, tut mir leid, haste noch 10 minuten? Ich mach das ganze Projekt in ne zip, dauert nen moment, ok?

    BOS-Anwendung_Source.zip = 431 kB

    Man, voll der Altzheimer. Mit 46 kann das passieren wa?

    PS: Hab vorhin gemerkt, beim abspielen der ogg im Proggi werden manchmal die 2600Hz verschluckt,
    beim externen abspielen der ogg isses bisher nicht passiert. Also wärs jetzt net so schlimm.
    Ist trotzdem mal Wert, dem nachzugehen.

    Ach ja, wegen Stimmen und so. Klar, ich auch andere Files abgespielt und nach den 10 Frequenzen gescannt. Wenn die Freqs auftauchen,
    werden sie auch angezeigt (in der Liste), aber die 5 Ton Folge zweimal hintereinander findest Du ja in keinem Sound.
    So kann man da schon mal schön Filtern. Außerdem haben die Tonfolgen bestimmte Abstände im Milisekundenbereich, gibt
    ja ne Norm dafür, gelle. Und genau das kann man sich ja zu nutzen machen. Na, wird schon.

    Probierst Du heute noch aus? Sonst würde ich mich abmelden und Bier trinken gehen, hätte aber noch Zeit.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „OnkelR“ ()

    OnkelR schrieb:

    Schitt, tut mir leid, haste noch 10 minuten? Ich mach das ganze Projekt in ne zip, dauert nen moment, ok?

    vb-paradise.de/index.php/Attac…2dc7da7e14c5a6eee3a2ddea8 = 431 kB

    Man, voll der Altzheimer. Mit 46 kann das passieren wa?

    PS: Hab vorhin gemerkt, beim abspielen der ogg im Proggi werden manchmal die 2600Hz verschluckt,
    beim externen abspielen der ogg isses bisher nicht passiert. Also wärs jetzt net so schlimm.
    Ist trotzdem mal Wert, dem nachzugehen.

    Ach ja, wegen Stimmen und so. Klar, ich auch andere Files abgespielt und nach den 10 Frequenzen gescannt. Wenn die Freqs auftauchen,
    werden sie auch angezeigt (in der Liste), aber die 5 Ton Folge zweimal hintereinander findest Du ja in keinem Sound.
    So kann man da schon mal schön Filtern. Außerdem haben die Tonfolgen bestimmte Abstände im Milisekundenbereich, gibt
    ja ne Norm dafür, gelle. Und genau das kann man sich ja zu nutzen machen. Na, wird schon.

    Probierst Du heute noch aus? Sonst würde ich mich abmelden und Bier trinken gehen, hätte aber noch Zeit.
    Ja klar schau ich da jetzt mal rein und tüftel das jetzt mal aus Schritt für Schritt!

    Genieß deinen Feierabend ;)

    Besten Dank & Gruß !