Sprache zu Text

Automatische Spracherkennung (ASR) ermöglicht es Anwendungen, Spracheingabe für Anwendungsfälle wie IVR, Identifizierung und verschiedene Arten von Sprachbots/-assistenten zu unterstützen. Mit dieser Funktion erhält die App die transkribierte Sprache des Benutzers (in Textform), sobald sie erwartet, dass der Benutzer eine Frage durch Sprechen und nicht durch die Eingabe von Ziffern (DTMF) beantwortet, und kann dann den Anruffluss gemäß ihrer Geschäftslogik auf der Grundlage der Aussagen des Benutzers fortsetzen.

Hinweis: Dies ist eine kostenpflichtige Funktion. Genaue Preise finden Sie auf der Seite Voice API-Preise Seite unter 'Programmierbare Funktionen'.

Wie es funktioniert

AppVonageUserAppVonageUsertalk/stream\ninputnext action(s)phone callanswer callbackNCCOaudio messagespeechtextNCCOnext action(s)

In der Regel wird ASR in Verbindung mit einer Audionachricht verwendet, die dem Benutzer vorgespielt wird. Bei der Nachricht kann es sich um eine Audiodatei oder Text-to-Speechoder eine Kombination aus beiden, die nacheinander abgespielt werden. Um die ASR zu aktivieren, sollte NCCO ein input Aktion mit angegebenen Sprachparametern.

NCCO-Beispiel

[
  {
    "action": "talk",
    "text": "Hello!"
  },
  {
    "action": "talk",
    "text": "Please tell us, how can we help you today?",
    "bargeIn": true
  },
  {
    "eventUrl": [
      "https://api.example.com/callbacks/events"
    ],
    "eventMethod": "POST",
    "action": "input",
    "type": [ "speech" ],
    "speech": {
      "language": "en-gb",
      "context": [
        "support",
        "buy",
        "credit",
        "account"
      ],
      "endOnSilence": 0.5,
      "saveAudio": true,
      "sensitivity": "90"
    }
  }
]

Die NCCO-Referenzhandbuch enthält Informationen über alle möglichen Parameter, die in Verbindung mit dem ASR verwendet werden können input NCCO-Aktion.

Eingabe Typ

Satz type als speech nur für Spracheingabe, oder [ "dtmf", "speech" ] sowohl die Rede als auch die DTMF.

Sprache

Die erwartete Sprache der Benutzersprache sollte als language Parameter (en-US standardmäßig).

Unterstützte Sprachen

Sprache Code
Afrikaans (Südafrika) af-ZA
Albanisch (Albanien) sq-AL
Amharisch (Äthiopien) am-ET
Arabisch (Algerien) ar-DZ
Arabisch (Bahrain) ar-BH
Arabisch (Ägypten) ar-EG
Arabisch (Irak) ar-IQ
Arabisch (Israel) ar-IL
Arabisch (Jordanien) ar-JO
Arabisch (Kuwait) ar-KW
Arabisch (Libanon) ar-LB
Arabisch (Marokko) ar-MA
Arabisch (Oman) ar-OM
Arabisch (Katar) ar-QA
Arabisch (Saudi-Arabien) ar-SA
Arabisch (Staat Palästina) ar-PS
Arabisch (Tunesien) ar-TN
Arabisch (Vereinigte Arabische Emirate) ar-AE
Armenisch (Armenien) hy-AM
Aserbaidschanisch (Aserbaidschan) az-AZ
Baskisch (Spanien) eu-ES
Bengalisch (Bangladesch) bn-BD
Bengalisch (Indien) bn-IN
Bulgarisch (Bulgarien) bg-BG
Birmanisch (Myanmar) my-MM
Katalanisch (Spanien) ca-ES
Chinesisch, Kantonesisch (traditionell, Hongkong) yue-hant-HK
Chinesisch, Mandarin (vereinfacht, China) zh (cmn-hans-cn)
Chinesisch, Mandarin (traditionell, Taiwan) zh-TW (cmn-hant-TW)
Kroatisch (Kroatien) hr-HR
Tschechisch (Tschechische Republik) cs-CZ
Dänisch (Dänemark) da-DK
Niederländisch (Belgien) nl-BE
Niederländisch (Niederlande) nl-NL
Englisch (Australien) en-AU
Englisch (Kanada) en-CA
Englisch (Ghana) en-GH
Englisch (Indien) en-IN
Englisch (Irland) en-IE
Englisch (Kenia) en-KE
Englisch (Neuseeland) en-NZ
Englisch (Nigeria) en-NG
Englisch (Philippinen) en-PH
Englisch (Singapur) en-SG
Englisch (Südafrika) en-ZA
Englisch (Tansania) en-TZ
Englisch (Vereinigtes Königreich) en-GB
Englisch (Vereinigte Staaten) en-US
Estnisch (Estland) et-EE
Filipino fil-PH
Finnisch (Finnland) fi-FI
Französisch (Kanada) fr-CA
Französisch (Frankreich) fr-FR
Galicisch (Spanien) gl-ES
Georgisch (Georgien) ka-GE
Deutsch (Deutschland) de-DE
Griechisch (Griechenland) el-GR
Gujarati (Indien) gu-IN
Hebräisch (Israel) he-IL
Hindi (Indien) hi-IN
Ungarisch (Ungarn) hu-HU
Isländisch (Island) is-IS
Indonesisch (Indonesien) id-ID
Italienisch (Italien) it-IT
Japanisch (Japan) ja-JP
Javanisch (Indonesien) jv-ID
Kannada (Indien) kn-IN
Khmer (Kambodscha) km-KH
Koreanisch (Südkorea) ko-KR
Lao (Laos) lo-LA
Lettisch (Lettland) lv-LV
Litauisch (Litauen) lt-LT
Mazedonisch (Nordmazedonien) mk-MK
Malaiisch (Malaysia) ms-MY
Malayalam (Indien) ml-IN
Marathi (Indien) mr-IN
Mongolisch (Mongolei) mn-MN
Nepali (Nepal) ne-NP
Norwegisch Bokmål (Norwegen) nb-NO
Persisch (Iran) fa-IR
Polnisch (Polen) pl-PL
Portugiesisch (Brasilien) pt-BR
Portugiesisch (Portugal) pt-PT
Punjabi (Gurmukhi, Indien) pa-guru-IN
Rumänisch (Rumänien) ro-RO
Russisch (Russland) ru-RU
Serbisch (Serbien) sr-RS
Singhalesisch (Sri Lanka) si-LK
Slowakisch (Slowakei) sk-SK
Slowenisch (Slowenien) sl-SI
Spanisch (Argentinien) es-AR
Spanisch (Bolivien) es-BO
Spanisch (Chile) es-CL
Spanisch (Kolumbien) es-CO
Spanisch (Costa Rica) es-CR
Spanisch (Dominikanische Republik) es-DO
Spanisch (Ecuador) es-EC
Spanisch (El Salvador) es-SV
Spanisch (Guatemala) es-GT
Spanisch (Honduras) es-HN
Spanisch (Mexiko) es-MX
Spanisch (Nicaragua) es-NI
Spanisch (Panama) es-PA
Spanisch (Paraguay) es-PY
Spanisch (Peru) es-PE
Spanisch (Puerto Rico) es-PR
Spanisch (Spanien) es-ES
Spanisch (Vereinigte Staaten) es-US
Spanisch (Uruguay) es-UY
Spanisch (Venezuela) es-VE
Sundanisch (Indonesien) su-ID
Suaheli (Kenia) sw-KE
Suaheli (Tansania) sw-TZ
Schwedisch (Schweden) sv-SE
Tamilisch (Indien) ta-IN
Tamilisch (Malaysia) ta-MY
Tamilisch (Singapur) ta-SG
Tamilisch (Sri Lanka) ta-LK
Telugu (Indien) te-IN
Thailändisch (Thailand) th-TH
Türkisch (Türkei) tr-TR
Ukrainisch (Ukraine) uk-UA
Urdu (Indien) ur-IN
Urdu (Pakistan) ur-PK
Usbekisch (Usbekistan) uz-UZ
Vietnamesisch (Vietnam) vi-VN
Zulu (Südafrika) zu-ZA

Kontext

Einige Hinweise können mit der Funktion context Array-Parameter, um die Erkennungsqualität zu verbessern. Die eingestellten Werte können z. B. die vom Benutzer erwarteten Wörter oder Sätze sein, ['one', 'two', 'three'] oder ['support', 'order starship'].

Hereinspaziert

Wenn der Benutzer nicht zum ersten Mal anruft, kennt er vielleicht schon die Frage, die gestellt werden soll, so dass er schon zu sprechen beginnt, bevor die Audionachricht beendet ist. Um dies zu unterstützen, bargeIn Parameter des TTS (oder stream - welche Aktion auch immer für die Nachricht verwendet wird) sollte aktiviert werden.

Es wird empfohlen, die erste TTS-/Audio-Nachricht als kurze Begrüßung ohne Aktivierung der bargeIn Option zur Verbesserung der Benutzerfreundlichkeit. Wenn bargeIn für die erste Begrüßung eingeschaltet ist, kann der Benutzer sie versehentlich unterbrechen, ohne die Aufforderung überhaupt zu hören, da Hintergrundgeräusche von der Anwendung in diesen ersten Momenten als aktive Interaktion interpretiert werden können.

Audio speichern

Der Sprachton kann optional gespeichert werden. Um die Aufzeichnung zu erhalten, muss die saveAudio gesetzt sein sollte, dann wird der Parameter recording_url wird in die Nutzlast der Rückrufanforderung aufgenommen. Dies kann nützlich sein, um die Transkription mit dem Originalton zu vergleichen. Verwenden Sie die Eine Aufnahme herunterladen Codefragment zum Herunterladen der Audiodaten.

Beispiel für Ereignis-Payloads

Sobald der NCCO input Aktion abgeschlossen ist, wird der Eingabe-Callback gesendet:

{
  "speech": {
    "recording_url": "https://api-us.nexmo.com/v1/files/ee94a327-ab6b-4bef-86bf-cadca33343e9",
    "timeout_reason": "end_on_silence_timeout",
    "results": [
      {
        "confidence": "0.9405097",
        "text": "Support"
      },
      {
        "confidence": "0.70543784",
        "text": "Supper"
      },
      {
        "confidence": "0.5949854",
        "text": "Puppy"
      }
    ]
  },
  "dtmf": {
    "digits": null,
    "timed_out": false
  },
  "uuid": "529aa8f0-0ad8-42b0-ad61-b76dca18bb52",
  "conversation_uuid": "CON-7347b08d-5f51-478f-bfb2-e8c3fd39509f",
  "timestamp": "2020-02-07T11:42:40.933Z"
}

Im Antwortkörper wird ein neuer NCCO erwartet, der die nächsten Aktionen des Anrufablaufs auf der Grundlage der Anwendungslogik und der Benutzereingaben enthält (speech.results.text). Siehe auch Webhook-Referenz für Einzelheiten.