.titleBar { margin-bottom: 5px!important; }

Spracherkennung (ASR) für Asterisk

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von tostmann, 11 Okt. 2006.

  1. tostmann

    tostmann Neuer User

    Registriert seit:
    11 Okt. 2006
    Beiträge:
    7
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo!

    Wir haben eine professionelle Spracherkennung an Asterisk angebunden und suchen dafür noch Beta Tester. Es stehen 7 Sprachen zur Auswahl.

    Nach der Installation unseres Moduls steht das neue Kommando ASR() im DialPlan bereit und ermöglicht auf einfachste Weise powervolle Erkennung vordefinierter Wörter oder Phrasen.

    Eine Doku hab ich auch geschrieben, die gibts (in englisch) hier: http://www.voip-info.org/wiki/view/Asterisk+cmd+ASR

    Viel Spaß!
     
  2. foschi

    foschi Guest

    Hinweis: das ganze funktioniert (lt. Doku) mittels eines externen Servers, der die Spracherkennung macht. Der Anbieter stellt diesen als ASP zur Verfügung, und möchte je Spracherkennung abrechnen.
     
  3. TinTin

    TinTin Aktives Mitglied

    Registriert seit:
    6 Mai 2004
    Beiträge:
    1,864
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @tostmann

    Wie sieht es mit der Erkennung von Zahlen/ganzen Rufnummern aus, die gesprochen werden?

    Gruß,
    Tin
     
  4. tostmann

    tostmann Neuer User

    Registriert seit:
    11 Okt. 2006
    Beiträge:
    7
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Der Erkenner arbeitet intern mit XML-Grammatiken. Diese werden bei Aufruf des Befehls automatisch von uns erzeugt. Um Zahlen- oder Zahlenfolgen zu erkennen, müssen speziellere Grammatiken genutzt werden. Zu Gunsten der Einfachheit des Kommandos haben wir das erstmal nicht vorgesehen.

    Natürlich kannst Du auch die komplette Grammatik mit einem zusätzlichen Kommando, was wir dann noch einbauen müßten, übermitteln. Dann wirds nur leider auch mit dem Verzweigen im Dialplan komplizierter.

    Ob sich der Aufwand, gerade bei Ziffern, die jeder per DTMF eingegeben kann, lohnt scheint mir fraglich.

    Aber wieso nicht.... Besteht ernsthaftes Interesse an Support von nativen XML-Grammatiken?

    IDEE: Das derzeitge ASR-Kommando auf "Erkennen von Ziffernkolonnen" und dann Sprung auf erkannte Extension zu erweitern, werde ich mal prüfen.

    Gruß!
     
  5. TinTin

    TinTin Aktives Mitglied

    Registriert seit:
    6 Mai 2004
    Beiträge:
    1,864
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Leider gibt DTMF Erkennung doch immer wieder Probleme auf - manche VoIP Provider unterbinden DTMF sogar komplett, genau deswegen meine Frage ;)

    Gruß,
    Tin
     
  6. tostmann

    tostmann Neuer User

    Registriert seit:
    11 Okt. 2006
    Beiträge:
    7
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #6 tostmann, 16 Okt. 2006
    Zuletzt bearbeitet: 17 Okt. 2006
    Achso?

    Also es ist jetzt implementiert. Zahlen müssen als Ziffern einzeln gesprochen werden.

    Die Option heißt: d

    d - erkennt beliebig lange Ziffernkolonnen (mit dem Timeout aufpassen!)
    d7 - erkennt genau 7 Ziffern
    d3- - drei oder mehr
    d2-4 - Ziffern 2 bis 4 stellig
    usw ...

    Bei Erkennung erfolgt ein Sprung auf Extension digits<ziffern>,1 im aktuellen Context.

    Die zusätzlich angegebenen Token werden weiterhin erkannt und behandelt.
     
  7. Ranise

    Ranise Neuer User

    Registriert seit:
    31 Juli 2005
    Beiträge:
    6
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    Ort:
    Regensburg
    Hallo,

    leider lässt sich das Modul unter Asterisk 1.4.22 nicht kompilieren.

    Code:
    make[1]: Entering directory `/usr/src/asterisk-1.4.22/apps'
       [CC] app_asr.c -> app_asr.o
    app_asr.c:78: Warnung: Datendefinition hat keinen Typ oder Speicherklasse
    app_asr.c:78: Warnung: »int« ist Standardtyp in Deklaration von »STANDARD_LOCAL_USER«
    app_asr.c:80: Warnung: Datendefinition hat keinen Typ oder Speicherklasse
    app_asr.c:80: Warnung: »int« ist Standardtyp in Deklaration von »LOCAL_USER_DECL«
    app_asr.c: In Funktion »asr_loop«:
    app_asr.c:371: Fehler: Inkompatibler Typ für Argument 1 von »ast_inet_ntoa«
    app_asr.c:371: Fehler: zu viele Argumente für Funktion »ast_inet_ntoa«
    app_asr.c: In Funktion »asr_exec«:
    app_asr.c:471: Warnung: Implizite Deklaration der Funktion »LOCAL_USER_ADD«
    app_asr.c:485: Warnung: Implizite Deklaration der Funktion »LOCAL_USER_REMOVE«
    app_asr.c: In Funktion »load_config«:
    app_asr.c:499: Warnung: Zuweisung streicht Qualifizierer von Zeiger-Zieltyp
    app_asr.c:502: Warnung: Zuweisung streicht Qualifizierer von Zeiger-Zieltyp
    app_asr.c:505: Warnung: Zuweisung streicht Qualifizierer von Zeiger-Zieltyp
    app_asr.c:508: Warnung: Zuweisung streicht Qualifizierer von Zeiger-Zieltyp
    app_asr.c: Auf höchster Ebene:
    app_asr.c:519: Warnung: kein vorheriger Prototyp für »reload«
    app_asr.c:523: Warnung: kein vorheriger Prototyp für »unload_module«
    app_asr.c: In Funktion »unload_module«:
    app_asr.c:525: Fehler: »STANDARD_HANGUP_LOCALUSERS« nicht deklariert (erste Benutzung in dieser Funktion)
    app_asr.c:525: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
    app_asr.c:525: Fehler: für jede Funktion in der er auftritt.)
    app_asr.c: Auf höchster Ebene:
    app_asr.c:529: Warnung: kein vorheriger Prototyp für »load_module«
    app_asr.c:540: Warnung: kein vorheriger Prototyp für »description«
    app_asr.c:544: Warnung: kein vorheriger Prototyp für »usecount«
    app_asr.c: In Funktion »usecount«:
    app_asr.c:546: Warnung: Implizite Deklaration der Funktion »STANDARD_USECOUNT«
    app_asr.c: Auf höchster Ebene:
    app_asr.c:550: Warnung: Funktionsdeklaration ist kein Prototyp
    make[1]: *** [app_asr.o] Fehler 1
    make[1]: Leaving directory `/usr/src/asterisk-1.4.22/apps'
    make: *** [apps] Fehler 2
    
    Gibt es dafür eine Lösung?

    Vielen Dank

    Gerd
     
  8. P.Hoffmann

    P.Hoffmann Neuer User

    Registriert seit:
    1 Feb. 2009
    Beiträge:
    179
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich krame mal den Beitrag wieder raus..

    Wie sieht es inzwischen aus?

    - Ist der externe Server noch online, werden Kosten erhoben?
    - Wie lässt sich das Modul bei 1.4.22 einbinden? In dem Makefile vom apps Verzeichnis gibt es kein "APPS=.." mehr.

    Viele Grüße,
    Philipp
     
  9. HobbyStern

    HobbyStern Aktives Mitglied

    Registriert seit:
    5 Dez. 2005
    Beiträge:
    1,837
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    vorhanden
    Ort:
    Ruhrgebiet
    Ich kramel dann auch nochmals.

    Gehe ich recht in der Annahme das der CMD ASR kurz nach seiner Entdeckung eingemottet wurde, bzw. unter 1.4 oder 1.6 nicht mehr zur Verfügung steht.

    Andere ASR Möglichkeiten sind ggf. bekannt?

    LG Stefan