{"action":"created","issue":{"url":"https://api.github.com/repos/eclipse/smarthome/issues/1021","repository_url":"https://api.github.com/repos/eclipse/smarthome","labels_url":"https://api.github.com/repos/eclipse/smarthome/issues/1021/labels{/name}","comments_url":"https://api.github.com/repos/eclipse/smarthome/issues/1021/comments","events_url":"https://api.github.com/repos/eclipse/smarthome/issues/1021/events","html_url":"https://github.com/eclipse/smarthome/issues/1021","id":132924746,"number":1021,"title":"new Speech-To-Text service interface","user":{"login":"kdavis-mozilla","id":12054740,"avatar_url":"https://avatars.githubusercontent.com/u/12054740?v=3","gravatar_id":"","url":"https://api.github.com/users/kdavis-mozilla","html_url":"https://github.com/kdavis-mozilla","followers_url":"https://api.github.com/users/kdavis-mozilla/followers","following_url":"https://api.github.com/users/kdavis-mozilla/following{/other_user}","gists_url":"https://api.github.com/users/kdavis-mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/kdavis-mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kdavis-mozilla/subscriptions","organizations_url":"https://api.github.com/users/kdavis-mozilla/orgs","repos_url":"https://api.github.com/users/kdavis-mozilla/repos","events_url":"https://api.github.com/users/kdavis-mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/kdavis-mozilla/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":36,"created_at":"2016-02-11T09:25:16Z","updated_at":"2016-02-27T08:30:30Z","closed_at":null,"body":"I wanted to capture here several details related to a new interface for converting speech-to-text that Kai and our group discussed.\r\n\r\n1. A new interface `org.eclipse.smarthome.io.multimedia.stt.STTService` should be introduced that allows one to bind speech-to-text engines. The name and package of the interface may change and is simply a placeholder for now.\r\n2. The interface `STTService` should implement the `AudioSink` interface of Issue #584 \r\n3. The interface `STTService` should expose a method(s) that allow it to be passed an `AudioSource` and return recognition result(s) (Note the details of this are subtle because the `AudioSource` may be of an indefinite length, and recognition results usually have associated confidences, and often partial results are returned when an `AudioSource` of indefinite length is being processed.... So, the details of this must be solidified.)\r\n4. The interface `STTService` should allow for grammars to be specified for speech recognition. The utility of this is that it allows for lower [word error rates](https://en.wikipedia.org/wiki/Word_error_rate) when dealing with systems not requiring large vocabulary continuous speech recognition.\r\n\r\nIf there is anything in the discussion not captured here, please feel free to add it!\r\n"},"comment":{"url":"https://api.github.com/repos/eclipse/smarthome/issues/comments/189604922","html_url":"https://github.com/eclipse/smarthome/issues/1021#issuecomment-189604922","issue_url":"https://api.github.com/repos/eclipse/smarthome/issues/1021","id":189604922,"user":{"login":"kdavis-mozilla","id":12054740,"avatar_url":"https://avatars.githubusercontent.com/u/12054740?v=3","gravatar_id":"","url":"https://api.github.com/users/kdavis-mozilla","html_url":"https://github.com/kdavis-mozilla","followers_url":"https://api.github.com/users/kdavis-mozilla/followers","following_url":"https://api.github.com/users/kdavis-mozilla/following{/other_user}","gists_url":"https://api.github.com/users/kdavis-mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/kdavis-mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kdavis-mozilla/subscriptions","organizations_url":"https://api.github.com/users/kdavis-mozilla/orgs","repos_url":"https://api.github.com/users/kdavis-mozilla/repos","events_url":"https://api.github.com/users/kdavis-mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/kdavis-mozilla/received_events","type":"User","site_admin":false},"created_at":"2016-02-27T08:30:30Z","updated_at":"2016-02-27T08:30:30Z","body":"@hkuhn42 Actually no they will be of use in such an online case.\r\n\r\nIn the online case the `AudioSource` will be of an indefinite length and the `STTService` can use the various events as follows:\r\n\r\n- A `RecognitionStartEvent` is fired when recognition starts\r\n- An `AudioStartEvent` is fired when the `STTService` first starts detecting sound\r\n- A `SpeechStartEvent` is fired when the `STTService` first starts detecting speech\r\n- A `SpeechStopEvent` is fired when the `STTService` [VAD](https://en.wikipedia.org/wiki/Voice_activity_detection) detects a phrase/sentence ending.\r\n- A `SpeechRecognitionEvent` is fired recognizing the speech that occured between the last `SpeechStartEvent` and `SpeechStopEvent` events.\r\n- The previous three steps repeat as often as the user says something\r\n- An `AudioStopEvent` is fired when someone turns off the mic\r\n- A `RecognitionStopEvent` is fired thereafter\r\n- A `SpeechRecognitionErrorEvent` is fired if network access to say a continually listening Bluetooth mic is interrupted\r\n\r\n"}}