.NET Speech API. Seminar Objektorientiertes Programmieren mit.net und C# Alexander Schubert

Ähnliche Dokumente
Installationsanleitung

WINDOWS 10 Upgrade. Beispiel: Desktop-Ausschnitt von vorhandenem WIN 8.1 (rechte Ecke der Taskleiste)

FrontDoor/Monitor mehr sehen von FrontDoor

Systemvoraussetzungen

1. Melden Sie sich als Administrator an und wechseln Sie zum Desktop

Installationshilfe und Systemanforderungen. Vertriebssoftware für die Praxis

Das mobile Dokumentations- und Analyse-System. AC-STB Technische-Voraussetzungen. Akkaya Consulting GmbH. Robert-Perthel-Straße 3.

PCC Outlook Integration Installationsleitfaden

HighSecurity-Backup Installations-Anleitung. Elabs AG

Alle Jahre wieder... Eckard Brandt. Regionales Rechenzentrum für Niedersachsen Eckard Brandt Gruppe Systemtechnik

XAML Extensible Application Markup Language. Manuel Naujoks (IB3)

ITT WEB-Service DEMO. Kurzbedienungsanleitung

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz.

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

.NET-Networking 2 Windows Communication Foundation

Projekt SBI Benutzeranleitung Remotezugriff. Teilprojekt Standard-Arbeitsplatz Arbeitspaket Basis Applikationen. Kantonsspital St.

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

BERNINA ArtLink V7.0N Installationsanleitung der Sticksoftware

Installationshilfe und Systemanforderungen

Anleitung zur Citrix Anmeldung

Terminabgleich mit Mobiltelefonen

VoiceXML 3.0. Jan Pit Wagner Fachbereich Informatik Seminar Moderne Webtechnologien 25. November 2009

Family Safety (Kinderschutz) einrichten unter Windows 7

Installation und Konfiguration des SQL-Server. Beispiel: SQL-Server 2008 Express. Seite 1 von 20

Von Windows-Forms zu WPF mit Expression Blend? Thomas Müller conplement AG Nürnberg

Eltako-FVS. Lizenzaktivierung ohne Internetverbindung

Zend PHP Cloud Application Platform

Benutzerleitfaden MobDat-CSG (Nutzung des Heimrechners für dienstliche Zwecke)

Systemanforderungen für MuseumPlus und emuseumplus

Die Windows-Installation - Schritt für Schritt

PaintManager TM Update News Seite 1 von 5

16 Sprachsteuerung Möglichkeiten der Sprachsteuerung

Anwenderhandbuch logiware IO-Stick

VSTO Was gibt es Neues in der Office Entwicklung? Lars Keller netcreate OHG

mmone Internet Installation Windows XP

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

GEWAN Anleitung zum Ausschalten der Java- Sicherheitswarnungen unter Windows 7

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Anleitung zur Citrix Anmeldung

Kurzanleitung. SALTO Konfigurator P Version Änderungen vorbehalten

Updatehinweise für die Version forma 5.5.5

Systemvoraussetzungen

Schnelleinstieg Starter System. Version 3.2

BERNINA ArtLink 6 Installationsanleitung der Sticksoftware

Oracle APEX Installer

Update von Campus-Datenbanken (FireBird) mit einer Version kleiner 9.6 auf eine Version größer 9.6

Workflow, Business Process Management, 4.Teil

Einsatzbedingungen FAMOS 3.10

Technische Hinweise zur Installation und Freischaltung von Beck SteuerDirekt mit BeckRecherche 2010

bizsoft Rechner (Server) Wechsel

Databear Software Installer

Anleitung zur Citrix Anmeldung

Elster Software System Installation und Betrieb Rechte / Einstellungen

TX Praxis auf Windows Vista

Anleitung Installation Microsoft SQL-Server 2005 (Express Edition)

Web Engineering.

Hardware- und Softwareanforderungen für die Installation von California.pro

EchoLink und Windows XP SP2

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Anleitung mtan (SMS-Authentisierung) mit Cisco IPSec VPN

Ressourcen schonen mit Windows 7

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Wine - Windows unter Linux

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Installation der kostenlosen Testversion

GUI-Entwicklung 2: Windows Presentation Foundation

KONFIGURATION livecrm 4.0

1 Was ist das Mediencenter?

Installation und erste Schritte laserdesk Version 1.0

Silverlight for Windows Embedded. Martin Straumann / Stv. Business Unit Leiter Microsoft Technologien / Application developer

Kompatibilitätsmodus und UAC

Visual Studio 2012 Windows 8 und.net 4.5. Hans Peter Bornhauser, Noser Engineering AG Fachbereichsleiter.NET, Digicomp AG

Titel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration

Erstellen einer DFÜ-Verbindung unter Windows XP Professional

InfoZoom 8.0 setzt Maßstäbe in Bedienung und Übersichtlichkeit und wird damit noch flexibler. Überzeugen Sie sich jetzt selbst!

KOA Software- Installationsanleitung

Labor - Installation von Drittanbieter-Software in Windows XP

Software Zugang. IT-Kompakt. Rechenzentrum RheinAhrCampus. Remagen. Zugang zum Terminalserver über

TERRA X5.Filialabgleich Client

Podcasts einfügen in OLAT

SFKV MAP Offline-Erfassungstool. Installationsanleitung

SuFlex. (Flex)ibles. Der Käufer eines ERP Systems (oder sonstiger Software) hat kaum Eingriffsmöglichkeiten innerhalb der Software.

Reparaturmodus unter Office und 2013 finden

Systemanforderungen (Mai 2014)

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

PRODUKTINFORMATION LOCKING SYSTEM MANAGEMENT 3.2 SP1

Handbuch Motion: Kinect-Präsentationssoftware

Erforderliche Änderung des Firewire (IEEE1394) Kartentreibers für die Kodak Scanner i600/i700/i1800 unter Microsoft Windows 7

Recall. Recall wurde entwickelt für: Lösung zur Gesprächsaufzeichnung

Datensicherung und Wiederherstellung

Installationsleitfaden zum Fakturierungsprogramm

Transkript:

.NET Speech API Seminar Objektorientiertes Programmieren mit.net und C# Alexander Schubert Institut für Informatik Software & Systems Engineering 24.01.2013

Agenda Überblick über die Microsoft Speech APIs Microsoft Speech API: Voraussetzungen, Zugriff und Namespaces Text-zu-Sprache Codebeispiel Speech Synthesis Markup Language (SSML) 1.0 Weitere Funktionen Asynchrone Sprachausgabe & Events Spracherkennung Modi der Spracherkennung Grammatiken Semantische Werte Speech Recognition Grammar Specification 1.0 (SRGS) Demo 2

Überblick über die Microsoft Speech APIs Microsoft Speech API (SAPI): System.Speech.* Desktop Windows Phone API: Windows.Phone.Speech.* Windows Phone 8 Microsoft Speech Platform: Microsoft.Speech.* Client-Server Kinect 3

Voraussetzungen für die Microsoft Speech API (SAPI) mindestens.net Framework 3.0 (Windows XP, besser Vista) Sprachausgabe: Installierte SAPI 5 kompatible Stimmen/Engine kostenfreie Stimmen aus dem Internet geringe Qualität engl. MS Stimmen in Windows integriert mittlere Qualität verschiedene kostenpflichtige Stimmen gute Qualität Qualität der Sprachausgabe abhängig von der Engine Spracherkennung: Engine aus Windows Sprachpaketen 4

Zugriff auf die Speech API aus.net Managed Application Managed Code API COM Interop sapi.dll Speech Recognition and Synthesis Engine 5

Speech API Namespaces System.Speech AudioFormat Synthesis Recognition TtsEngine SrgsGrammar 6

Text-zu-Sprache 7

Text-zu-Sprache Codebeispiel using System.Speech.Synthesis; //... SpeechSynthesizer tts = new SpeechSynthesizer(); PromptBuilder prompt = new PromptBuilder(new CultureInfo("en-US")); prompt.appendtext("it is now"); prompt.appendtextwithhint(datetime.now.tolongtimestring(), SayAs.Time); tts.speakasync(prompt); // Möglichkeiten für SayAs: Buchstabieren, Zahlen, Uhrzeit, Datum, Telefonnummern 8

Speech Synthesis Markup Language (SSML) 1.0 World Wide Web Consortium (W3C) Recommendation (2004) <?xml version="1.0" encoding="utf-8"?> <speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-us"> It is now <say-as interpret-as="time">11:05</say-as>. </speak> 9

Text-zu-Sprache Weitere Funktionen Auswahl von Stimmen nach Sprache, Geschlecht, Alter und Name tts.selectvoicebyhints(...) prompt.startvoice(...);...; prompt.endvoice(...) Variation von Sprache: Betonungen, Geschwindigkeit, Lautstärke tts.rate, tts.volume prompt.startstyle(...);...; prompt.endstyle(...) Pausen im Text prompt.appendbreak(...) Angabe von phonetischer Aussprache tts.addlexicon(...) prompt.appendtextwithpronunciation(...) Einbinden von Audiodateien prompt.appendaudio(...) 10

Text-zu-Sprache Asynchrone Sprachausgabe & Events Auslöser Start und Ende eines Prompt Status: Ready, Speaking, Paused Markierung Wort Laut Mundbild Event SpeakStarted, SpeakCompleted StateChanged BookmarkReached SpeakProgress PhonemeReached VisemeReached 11

Spracherkennung 12

Spracherkennung Eingebaute Fähigkeiten Die Windows-Spracherkennung übernimmt Interaktion mit Windows Forms oder WPF Controls (Button, Checkbox, ) Diktat von Text Klick mich Der Programmierer schreibt Code für Interaktion über weitere Sprachbefehle speziellere Anwendungen der Spracherkennung 13

Modi der Spracherkennung gemeinsam genutzt: SpeechRecognizer globale Konfiguration (Systemsteuerung) globales Ein-/Ausschalten Integration in den Benutzungsablauf prozessintern: SpeechRecognitionEngine ohne Spracherkennungsleiste Auswahl von Audioquellen programmgesteuertes Ein-/Ausschalten 14

Grammatiken für die Spracherkennung Diktatgrammatik: einfache Grammatik für beliebige Worte DictationGrammar DictationGrammar("grammar:dictation#spelling") Erzeugung zur Laufzeit GrammarBuilder, Choices SrgsDocument XML: W3C Speech Recognition Grammar Specification 1.0 (SRGS) 15

Spracherkennung Ein Codebeispiel using System.Speech.Recognition; //... var recognizer = new SpeechRecognitionEngine(); recognizer.setinputtodefaultaudiodevice(); recognizer.loadgrammar(new DictationGrammar()); recognizer.speechrecognized += (sender, e) => { Console.WriteLine(e.Result.Text); }; recognizer.recognizeasync(recognizemode.multiple); 16

Eine einfache Grammatik rot Setze Hintergrund auf grün Mache Hintergrund blau 17

Eine einfache Grammatik GrammarBuilder gb = new GrammarBuilder(); Choices back = new Choices(); back.add("setze Hintergrund auf"); back.add("mache Hintergrund"); gb.append(back); Choices colors = new Choices(); colors.add("rot"); colors.add("grün"); colors.add("blau"); gb.append(colors); Grammar grammar = new Grammar(gb); 18

Ausgabe der Spracherkennung: RecognitionResult Grammar Text Words Audio Confidence Alternates Homophones Semantics 19

Eine einfache Grammatik GrammarBuilder gb = new GrammarBuilder(); Choices back = new Choices(); back.add("setze Hintergrund auf"); back.add("mache Hintergrund"); gb.append(back); Choices colors = new Choices(); colors.add("rot"); colors.add("grün"); colors.add("blau"); gb.append(colors); Grammar grammar = new Grammar(gb); 20

Eine einfache Grammatik mit semantischen Werten GrammarBuilder gb = new GrammarBuilder(); Choices back = new Choices(); back.add("setze Hintergrund auf"); back.add("mache Hintergrund"); gb.append(back); Choices colors = new Choices(); colors.add(new SemanticResultValue("rot", 1)); colors.add(new SemanticResultValue("grün", 2)); colors.add(new SemanticResultValue("blau", 3)); gb.append(new SemanticResultKey("color", colors)); Grammar grammar = new Grammar(gb); // Zugriff mit e.result.semantics["color"].value // gibt 1, 2 oder 3 21

Speech Recognition Grammar Specification 1.0 (SRGS) <?xml version="1.0" encoding="utf-8"?> <grammar version="1.0" xml:lang="de-de" root="root" tag-format="semantics/1.0" xmlns="http://www.w3.org/2001/06/grammar"> <rule id="root"> <one-of> <item> Setze Hintergrund auf </item> <item> Mache Hintergrund </item> </one-of> <ruleref uri="#color" /> </rule> <rule id="color"> <one-of> <item> rot <tag> out.color = "1"; </tag> </item> <item> grün <tag> out.color = "2"; </tag> </item> <item> blau <tag> out.color = "3"; </tag> </item> </one-of> </rule> </grammar> 22

Frage: Wie oft hat der Vortragende das Wort genau benutzt? oder Demo: Sprachanalyse des Vortrags 23

Noch Fragen? 24