Skip to content

Commit 5182038

Browse files
authored
Merge pull request #27 from SEPIA-Framework/dev
fix for multi-wake-word format + better error output;
2 parents 1092f5e + 5522e9a commit 5182038

File tree

2 files changed

+20
-9
lines changed

2 files changed

+20
-9
lines changed

www/scripts/sepiaFW.wakeTriggers.js

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ function sepiaFW_build_wake_triggers() {
128128
}
129129
//type B: Uint8Array data
130130
}else{
131+
WakeTriggers.setPorcupineLibForVersion(WakeTriggers.porcupineVersion);
131132
ppReloadWakeWords(WakeTriggers.porcupineWakeWords);
132133
loadPpEngine(setupSuccessCallback);
133134
}
@@ -248,6 +249,16 @@ function sepiaFW_build_wake_triggers() {
248249
SepiaFW.wakeWordSettings.refreshUi("Wake-Word");
249250
}
250251

252+
WakeTriggers.setPorcupineLibForVersion = function(version){
253+
if (version == "1.4"){
254+
ppFileUrl = "pv_porcupine.wasm"; //DEFAULT FILE
255+
}else if (WakeTriggers.porcupineVersionsDownloaded){
256+
ppFileUrl = "pv_porcupine_" + version + ".wasm"; //DOWNLOADED
257+
}else{
258+
ppFileUrl = "https://sepia-framework.github.io/files/porcupine/" + version + "/pv_porcupine.wasm"; //ONLINE
259+
}
260+
ppKeywordVersion = version;
261+
}
251262
WakeTriggers.readPorcupineWwFromFile = function(version, name, doApply, customSuccessCallback){
252263
if (ppWwReadRetryCounter > 3){
253264
SepiaFW.debug.error("Wake-word read request failed too often and has been blocked! Please restart client to reset.");
@@ -269,14 +280,7 @@ function sepiaFW_build_wake_triggers() {
269280
SepiaFW.files.fetchLocal(filePath, function(data){
270281
var uint8;
271282
if (doApply){
272-
if (version == "1.4"){
273-
ppFileUrl = "pv_porcupine.wasm"; //DEFAULT FILE
274-
}else if (WakeTriggers.porcupineVersionsDownloaded){
275-
ppFileUrl = "pv_porcupine_" + version + ".wasm"; //DOWNLOADED
276-
}else{
277-
ppFileUrl = "https://sepia-framework.github.io/files/porcupine/" + version + "/pv_porcupine.wasm"; //ONLINE
278-
}
279-
ppKeywordVersion = version;
283+
WakeTriggers.setPorcupineLibForVersion(version);
280284
}
281285
if (!!data.match(/0x..,(\s|)0x..,.*/)){
282286
var strArr = data.split(/,/g);

www/xtensions/picovoice/picovoiceAudioManager.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,14 @@ let PicovoiceAudioManager = (function() {
102102
//Create recorder and start processing
103103
this.start = function(ppKeywordIDs, ppSensitivities, picovoiceProcessCallback, errorCallback){
104104
//create engine - TODO: optimze here
105-
engine = Porcupine.create(Object.values(ppKeywordIDs), ppSensitivities);
105+
try{
106+
engine = Porcupine.create(Object.values(ppKeywordIDs), ppSensitivities);
107+
}catch (error){
108+
console.error(error);
109+
logInfo('ERROR: ' + error + " (Likely a problem with wake-word file or version)");
110+
if (errorCallback) errorCallback(error);
111+
return;
112+
}
106113

107114
processCallback = picovoiceProcessCallback;
108115
isProcessing = true;

0 commit comments

Comments
 (0)