voice-based generic upnp control point andreas bobekuniversity of rostock faculty of computer...
TRANSCRIPT
Voice-based generic UPnP Control Point
Andreas BobekUniversity of Rostock
Faculty of Computer Science and Electrical Engineering
Andreas Bobek, Hendrik Bohn, Frank GolatowskiUniversity of Rostock
Faculty of Computer Science and Electrical Engineering
2nd IEEE International Conference onIndustrial Informatics
INDIN´0424th – 26th June, 2004, Berlin, Germany
Voice-based generic UPnP Control Point
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 1 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
Voice-based generic UPnP Control Point
What is ?
What is an UPnP ?
What is a UPnP Control Point?
How can we make a generic UPnP Control Point ?
1.
2.
3.
4.
Outline
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 2 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
Scenario / Implementation
User Interface
Conclusion
5.
6.
7.
Outline
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 3 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
1. What is UPnP / 2. What is an UPnP Control Point?
- UPnP = Universal Plug and Play
- supports ad-hoc networking of devices and services
- only protocols are defined (UDP, TCP, SOAP, SSDP, GENA, HTTP)
- independent of programming language, operating system and transmission medium
- six phases: addressing, discovery, description, control, eventing, and presentation
- defines three communicating components: device, service, control point
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 4 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
- role: server
- offers services
- may contain other devices
- “root device”
- characterized by properties such as model number, model name, vendor...
- uniquely identifiable by UUID
UPnP Device
UPnP Service
- interface to the device
- offers actions and URLs for controlling, eventing, and presentation
- manages its state in state variables
1. What is UPnP / 2. What is an UPnP Control Point?
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 5 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
- role: client
- searches for devices and/or services
- invokes actions (at services)
- requests state variables
UPnP Control Point
1. What is UPnP / 2. What is an UPnP Control Point?
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 6 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
UPnP Device (Server)
UPnP Service
UPnP Control Point (Client)
1. What is UPnP / 2. What is an UPnP Control Point?
UPnP network
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 6 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
UPnP Device (Server)
UPnP Service
UPnP Control Point (Client)
1. What is UPnP / 2. What is an UPnP Control Point?
UPnP network
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 7 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
3. What is a generic UPnP Control Point?
- Device-specific Control Point
- tailored to special purposes (comfortable user interface is possible)
- usable with according device type only(TV remote control => TV, heating control => heater)
- Generic Control Point
- each UPnP Device is controllable
- less comfortable than specific Control Points
Device-specific Control Point vs. Generic Control Point
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 8 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
3. What is a generic UPnP Control Point?
Example for a generic Control Point
“Test Tool” by Siemens
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 9 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
4. How can we make a generic Control Point voice-based?
what we need:
- speech recognition (Speech Recognition Engine)
- synthesizing of speech (Text-to-Speech Engine)
what we can use:
- VoiceAPI which implements both engines
- VoiceXML Browser which contains the VoiceAPI
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 10 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
4. How can we make a generic Control Point voice-based?
VoiceAPI
VoiceAPI
Speech Recognition
Engine
Text-to-Speech Engine
Voice Recorder
AudioPlayer
VoiceAPI consists of:
- Speech Recognition Engine (for speech recognition)
- Text-to-Speech Engine (for synthesizing speech)
- Voice Recorder (to record audio data)
- Audio Player (to play back existing audio data)
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 11 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
4. How can we make a generic Control Point voice-based?
VoiceXML Browser vs. HTML Browser
Client
Microphone Speaker
VoiceXMLBrowser
Server
VoiceXMLApplication
HTTPREQUEST
VoiceXMLover
HTTP
Client
Keyboard/Mouse Screen
HTMLBrowser
Server
HTMLApplication
HTTPREQUEST
HTMLover
HTTP
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 12 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
UPnP Control Point Component
UPnP Control Point
UDP
SSDP GENA
Discovery Eventing Control Description
SOAP HTTP
TCP
4. How can we make a generic Control Point voice-based?
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 13 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
4. How can we make a generic Control Point voice-based?
Coupled Architecture
Microphone & Speaker
coupledVoice Application
DeviceContainer
ServiceContainer
UPnPControl Point
VoiceAPI
Speech Recognition
Engine
Text-to-Speech Engine
Voice Recorder
AudioPlayer
- Communication between all components is based on programming language specific messages.
- Application has direct access to VoiceAPI.
- VoiceAPI recognizes spoken words and notifies the application.
- Application uses VoiceAPI for speech synthesis.
- for local networks only
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 14 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
4. How can we make a generic Control Point voice-based?
Decoupled Architecture
VoiceXML Browser
VoiceXMLinterpreter
Microphone & Speaker
decoupledVoice Application
DeviceContainer
ServiceContainer
UPnPControl Point
VoiceAPI
Speech Recognition
Engine
Text-to-Speech Engine
Voice Recorder
AudioPlayer
HTTPREQUEST
VoiceXMLover HTTP
- Communication between voice component is based on request-response cycles using VoiceXML over HTTP.
- Every communication process has to be initiated by the VoiceXML browser (client).
- Control in local and remote networks is possible (e.g. remote control of house or car).
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 15 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
Decoupled Architecture
VoiceXML Browser
VoiceXMLinterpreter
Microphone & Speaker
decoupledVoice Application
DeviceContainer
ServiceContainer
UPnPControl Point
VoiceAPI
Speech Recognition
Engine
Text-to-Speech Engine
Voice Recorder
AudioPlayer
HTTPREQUEST
VoiceXMLover HTTP
5. Scenario / Implementation
Siemens UPnP Stack (Java)
Tomcat WebServer
JSP/Servlet application(decoupled Voice Application)
IBM WebSphere Voice Server SDK(VoiceXML Browser)
Microphone & Speaker
HTTPREQUEST
VoiceXMLover
HTTP
Our Implementation
Voice-based generic Control Point
UPnP network
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 16 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
5. Scenario / Implementation
Siemens UPnP Stack (Java)
Tomcat WebServer
JSP/Servlet application(decoupled Voice Application)
UPnP Device (Server)
UPnP Service
UPnP Control Point (Client)
MP3 Player
UPnP network
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 16 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
5. Scenario / Implementation
UPnP Device (Server)
UPnP Service
UPnP Control Point (Client)
Voice-based generic Control Point
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 17 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
5. Scenario / Implementation
UPnP network
Device Description
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 18 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
5. Scenario / Implementation
UPnP network
Service Description
MP3 Player
UPnP network
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 19 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
5. Scenario / Implementation
UPnP Device (Server)
UPnP Service
UPnP Control Point (Client)
1. „New device found:
MP3 Player.“
2. „Do you want to register the device and
to know the services...?“
MP3 Player
UPnP network
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 19 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
5. Scenario / Implementation
UPnP Device (Server)
UPnP Service
UPnP Control Point (Client)
1. „MP3 Player“
2. „play“
3. „nextSong“
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 20 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
6. User Interface
Voice-based generic UPnP Control Point
Andreas Bobek
Slide 21 of 21
University of Rostock
Faculty of Computer Science and Electrical Engineering
7. Conclusion
- The set up of a voice-based generic UPnP Control Point is feasible.
- The generic user interface is based on the standardized UPnP device and service description.
- Our concept works without adaptation of UPnP services.
- Configuration (e.g. additional graphical configuration tool) improves user friendliness.
- The coupled and decoupled architectures meet the needs of local and remote control in UPnP networks.