CSS3 & HTML5

Einstieg in die neuen Webstandards

Sprech mit deinem Browser: Google Chrome 11 Beta mit Speech Input

Von oli veröffentlicht am Uhr

Ausgerechnet zum Release des Firefox 4 ist nun die Beta-Version von Google Chrome 11 erschienen. Neben einem neuen, vereinfachten und weniger verchromt aussehenden Logo bietet es nun auch Unterstützung für GPU-beschleunigte CSS 3D Transformationen (da kommt es leider zwei Tage zu spät) und hat außerdem die HTML Speech Input API implementiert (siehe Video oben). Mit dieser API können Spracheingaben des Users als Text verarbeitet werden. Wie das funktioniert und wie ohne JavaScript und nur durch ein einziges Attribut die Spracherkennung möglich gemacht wird, erkläre ich hier:

Um einem Eingabefeld die Möglichkeit hinzuzufügen, Sprache entgegen zu nehmen, muss einfach das boolsche Attribut “speech” gesetzt werden: <input speech />
Da die API bisher noch nicht ausgereift und nur in Chrome implementiert ist, muss man jedoch das Anbieter-spezifische Attribut “x-webkit-speech” nutzen. Daraufhin erscheint am Rand des Textfeld ein kleines Mikrofon. Klickt man darauf, wird die Tonaufnahme gestartet und der Nutzer kann sprechen. Es wird automatisch erkannt, wann der Nutzer zuende gesprochen hat. Die Tonaufnahme wird an Server im Internet gesendet, dort verarbeitet und als Text wieder zurück an den Browser gesendet. Ohne jedes JavaScript hat man durch dieses eine Attribut also bereits Spracherkennung verfügbar gemacht.

Die API stellt aber auch einige JavaScript-Methoden zur Verfügung:

  • Sofern der Nutzer bereits einer Webseite seine Erlaubnis für Sprachaufnahmen gegeben hat, startet die startSpeechInput()-Methode eine neue Sprachaufnahme. Lief bereits eine Sprachaufnahme zu diesem Zeitpunkt, wird sie abgebrochen, um die neue anzufangen.
  • Die stopSpeechInput()-Methode bricht momentan laufende Sprachaufnahmen ab. Falls bereits Tonschnipsel aufgenommen wurden, wird die Spracherkennung dafür durchgeführt.
  • Die cancelSpeechInput()-Methode bricht momentan laufende Sprachaufnahmen ab. Falls bereits Tonschnipsel aufgenommen wurden, werden sie verworfen. Es wird keine Spracherkennung durchgeführt.

Auch JavaScript-Events gibt es, die gefeuert werden:

  • oncapturestart Das Event “capturestart” wird ausgelöst, wenn die Aufnahme gestartet wird
  • onspeechstart Das “speechstart”-Event wird gefeuert, wenn erkannt wird, dass der Nutzer anfängt zu sprechen
  • onspeechchange Das Event “speechchange” wird entsandt, wenn erkannt wird, dass der Nutzer aufgehört hat zu sprechen, oder die stopSpeechInput()-Methode aufgerufen wurde
  • onspeechend Das “speechend”-Event wird ausgelöst, wenn erkannt wird, dass der Nutzer aufgehört hat zu sprechen
  • onspeecherror Ein “speecherror”-Event wird gefeuert, wenn ein Fehler aufgetreten ist

Jedoch muss man bedenken, dass diese Informationen allesamt aus der Speech Input API Spezifikation kommen, die momentan noch als “Editor’s Draft” gekennzeichnet ist. Sie ist also noch alles andere als ausgereift. Die JavaScript-Methoden funktionieren in Chrome 11 Beta noch nicht und Events werden auch keine gefeuert.
Der Einsatz der Spracherkennung ist also bisher auf das Attribut x-webkit-speech beschränkt. Außerdem sollte man bedenken, dass Spracherkennung selbst nicht immer hundertprozentig funktioniert, wie am Video oben zu sehen ist.

Mehr Informationen zu Google Chrome 11 Beta und zur Spracherkennung:

3 Responses to “Sprech mit deinem Browser: Google Chrome 11 Beta mit Speech Input”

SebastianFebruar 27th, 2012 at 18:08

Hey,
zwecks eines Assignments arbeiten wir gerade mit speech recognition. Die Methoden gehen immer noch nicht, aber auf das geprefixte event ‘(on)webkitspeechchange’ kann man jetzt Eventhandler ansetzen, immerhin ;)

Leave a Response

Login with Facebook: