Loading html/script.js +44 −34 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ var PREFIX = "http://epimetheus3.fi.muni.cz:6030/"; var LANG = "en" var WORD_CONFIDENCE_THRESHOLD = { "en": 0.4, "en": 0.5, "cs": 0.4 } Loading @@ -14,9 +14,8 @@ var element_exit_button = document.getElementById("button-exit"); var element_app_name = document.getElementById("app-name"); var element_element_list_name = document.getElementById("element-list-name"); var combine_words_interval = null; var last_detected_word = null; var last_detected_confidence = null; var detected_word_extracted = null; var combine_words_memory_subscription = null; var ALSpeechRecognitionSubscription = null; Loading Loading @@ -65,42 +64,44 @@ var discovered_elements = []; function robot_element_recognition() { RobotUtils.onService(function(ALSpeechRecognition) { ALSpeechRecognitionSubscription = ALSpeechRecognition; ALSpeechRecognitionSubscription.pause(true).then(function(){ ALSpeechRecognitionSubscription.setLanguage("English").then(function(){ ALSpeechRecognitionSubscription.setVocabulary(discovered_elements, true).then(function(){ ALSpeechRecognitionSubscription.pause(false).then(function(){ ALSpeechRecognitionSubscription.subscribe(AL_SPEACH_RECOGNITION_SUB_NAME); ALSpeechRecognitionSubscription.pause(true); ALSpeechRecognitionSubscription.setVocabulary(discovered_elements, true) ALSpeechRecognitionSubscription.setLanguage("English") ALSpeechRecognitionSubscription.pause(false); }); }); }); }); }); } function robot_set_voice_speed(speed) { RobotUtils.onService(function(ALTextToSpeech) { ALTextToSpeech.setParameter("speed", speed); RobotUtils.onService(function(ALTextToSpeech, ALSpeechRecognition) { ALSpeechRecognition.pause(true).then(function() { ALTextToSpeech.setParameter("speed", speed).then(function(){ ALSpeechRecognition.pause(false); }); }); }); } robot_set_voice_speed(89); function robot_start_voice_word_combining() { if (combine_words_interval == null) { combine_words_interval = setInterval(function() { RobotUtils.onService(function(ALMemory) { ALMemory.getData("WordRecognized").then(function(detected_word) { alert(detected_word); detected_word_extracted = detected_word[0].substr(6, detected_word[0].length - 12); if (WORD_CONFIDENCE_THRESHOLD[LANG] > detected_word[1]) return; if (last_detected_confidence != detected_word[1] || last_detected_word != detected_word_extracted) { function onWordRecognized(value) { detected_word_extracted = value[0].substr(6, value[0].length - 12); if (WORD_CONFIDENCE_THRESHOLD[LANG] > value[1]) return; for (var i = 0; i < discovered_elements.length;i++) { if (detected_word_extracted == discovered_elements[i]) { add_to_combination(detected_word_extracted); } } } last_detected_word = detected_word_extracted; last_detected_confidence = detected_word[1]; }); }); }, 5000); function robot_start_voice_word_combining() { if (combine_words_memory_subscription == null) { combine_words_memory_subscription = RobotUtils.subscribeToALMemoryEvent("WordRecognized", onWordRecognized); } } Loading Loading @@ -147,7 +148,7 @@ function add_to_combination(word) { return } var new_word = j["result"]["combination"] add_element(new_word); add_element(new_word, true); element_element_result.innerText = last_word + " + " + word + " = " + new_word; var text = dialogs[LANG]["word_cration_1"] + new_word + dialogs[LANG]["word_cration_2"] + last_word + dialogs[LANG]["word_cration_3"] + word + dialogs[LANG]["word_cration_4"]; if (j["result"]["is_new_word"]) { Loading @@ -165,11 +166,20 @@ function add_to_combination(word) { }) } function add_element(word) { function add_element(word, is_update) { for (var i = 0;i < discovered_elements.length;i = i + 1) { if (discovered_elements[i] == word) return; } discovered_elements.push(word); if (is_update) { RobotUtils.onService(function(ALSpeechRecognition) { ALSpeechRecognition.pause(true).then(function(){ ALSpeechRecognition.setVocabulary(discovered_elements, true).then(function(){ ALSpeechRecognition.pause(false).then(function(){}); }); }); }); } var new_element = document.createElement('div'); new_element.classList.add('element'); Loading Loading @@ -198,7 +208,7 @@ function robot_get_language() { alert(j["error"]); } for (var i = 0;i < j["result"]["words"].length;i = i + 1) { add_element(j["result"]["words"][i]) add_element(j["result"]["words"][i], false) } robot_element_recognition(); }) Loading manifest.xml +1 −1 Original line number Diff line number Diff line <package uuid="pepper-infinite-craft-pkg" version="0.4.102"> <package uuid="pepper-infinite-craft-pkg" version="0.7.29"> <names> <name lang="en_US">pepper-infinite-craft-pkg</name> <name lang="cs_CZ">pepper-infinite-craft-pkg</name> Loading Loading
html/script.js +44 −34 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ var PREFIX = "http://epimetheus3.fi.muni.cz:6030/"; var LANG = "en" var WORD_CONFIDENCE_THRESHOLD = { "en": 0.4, "en": 0.5, "cs": 0.4 } Loading @@ -14,9 +14,8 @@ var element_exit_button = document.getElementById("button-exit"); var element_app_name = document.getElementById("app-name"); var element_element_list_name = document.getElementById("element-list-name"); var combine_words_interval = null; var last_detected_word = null; var last_detected_confidence = null; var detected_word_extracted = null; var combine_words_memory_subscription = null; var ALSpeechRecognitionSubscription = null; Loading Loading @@ -65,42 +64,44 @@ var discovered_elements = []; function robot_element_recognition() { RobotUtils.onService(function(ALSpeechRecognition) { ALSpeechRecognitionSubscription = ALSpeechRecognition; ALSpeechRecognitionSubscription.pause(true).then(function(){ ALSpeechRecognitionSubscription.setLanguage("English").then(function(){ ALSpeechRecognitionSubscription.setVocabulary(discovered_elements, true).then(function(){ ALSpeechRecognitionSubscription.pause(false).then(function(){ ALSpeechRecognitionSubscription.subscribe(AL_SPEACH_RECOGNITION_SUB_NAME); ALSpeechRecognitionSubscription.pause(true); ALSpeechRecognitionSubscription.setVocabulary(discovered_elements, true) ALSpeechRecognitionSubscription.setLanguage("English") ALSpeechRecognitionSubscription.pause(false); }); }); }); }); }); } function robot_set_voice_speed(speed) { RobotUtils.onService(function(ALTextToSpeech) { ALTextToSpeech.setParameter("speed", speed); RobotUtils.onService(function(ALTextToSpeech, ALSpeechRecognition) { ALSpeechRecognition.pause(true).then(function() { ALTextToSpeech.setParameter("speed", speed).then(function(){ ALSpeechRecognition.pause(false); }); }); }); } robot_set_voice_speed(89); function robot_start_voice_word_combining() { if (combine_words_interval == null) { combine_words_interval = setInterval(function() { RobotUtils.onService(function(ALMemory) { ALMemory.getData("WordRecognized").then(function(detected_word) { alert(detected_word); detected_word_extracted = detected_word[0].substr(6, detected_word[0].length - 12); if (WORD_CONFIDENCE_THRESHOLD[LANG] > detected_word[1]) return; if (last_detected_confidence != detected_word[1] || last_detected_word != detected_word_extracted) { function onWordRecognized(value) { detected_word_extracted = value[0].substr(6, value[0].length - 12); if (WORD_CONFIDENCE_THRESHOLD[LANG] > value[1]) return; for (var i = 0; i < discovered_elements.length;i++) { if (detected_word_extracted == discovered_elements[i]) { add_to_combination(detected_word_extracted); } } } last_detected_word = detected_word_extracted; last_detected_confidence = detected_word[1]; }); }); }, 5000); function robot_start_voice_word_combining() { if (combine_words_memory_subscription == null) { combine_words_memory_subscription = RobotUtils.subscribeToALMemoryEvent("WordRecognized", onWordRecognized); } } Loading Loading @@ -147,7 +148,7 @@ function add_to_combination(word) { return } var new_word = j["result"]["combination"] add_element(new_word); add_element(new_word, true); element_element_result.innerText = last_word + " + " + word + " = " + new_word; var text = dialogs[LANG]["word_cration_1"] + new_word + dialogs[LANG]["word_cration_2"] + last_word + dialogs[LANG]["word_cration_3"] + word + dialogs[LANG]["word_cration_4"]; if (j["result"]["is_new_word"]) { Loading @@ -165,11 +166,20 @@ function add_to_combination(word) { }) } function add_element(word) { function add_element(word, is_update) { for (var i = 0;i < discovered_elements.length;i = i + 1) { if (discovered_elements[i] == word) return; } discovered_elements.push(word); if (is_update) { RobotUtils.onService(function(ALSpeechRecognition) { ALSpeechRecognition.pause(true).then(function(){ ALSpeechRecognition.setVocabulary(discovered_elements, true).then(function(){ ALSpeechRecognition.pause(false).then(function(){}); }); }); }); } var new_element = document.createElement('div'); new_element.classList.add('element'); Loading Loading @@ -198,7 +208,7 @@ function robot_get_language() { alert(j["error"]); } for (var i = 0;i < j["result"]["words"].length;i = i + 1) { add_element(j["result"]["words"][i]) add_element(j["result"]["words"][i], false) } robot_element_recognition(); }) Loading
manifest.xml +1 −1 Original line number Diff line number Diff line <package uuid="pepper-infinite-craft-pkg" version="0.4.102"> <package uuid="pepper-infinite-craft-pkg" version="0.7.29"> <names> <name lang="en_US">pepper-infinite-craft-pkg</name> <name lang="cs_CZ">pepper-infinite-craft-pkg</name> Loading