Skip to content

Commit ae7887c

Browse files
authored
Merge pull request #3 from SEPIA-Framework/dev
v0.9.10
2 parents 670110d + 99e565c commit ae7887c

20 files changed

+3342
-80
lines changed

dist/sepia-web-audio.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules-demo.html

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<link rel="stylesheet" href="src/visualization/uPlot.min.css?v=1.5.2">
1313

1414
<!--<script src="src/polyfills/audioworklet-polyfill.js"></script>-->
15-
<script type="text/javascript" src="src/sepia-web-audio.js?v=0.9.7"></script>
15+
<script type="text/javascript" src="src/sepia-web-audio.js?v=0.9.10"></script>
1616
<script>
1717
//set correct modules folder
1818
if (window.SepiaFW) SepiaFW.webAudio.defaultProcessorOptions.moduleFolder = "src/modules";
@@ -104,9 +104,11 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
104104
<div><label>Porcupine Version:</label><select id="porcupineVersionSelect" onchange="setPorcupineVersion(+this.value);">
105105
<option value="14" selected>v1.4</option>
106106
<option value="19">v1.9</option>
107+
<option value="20">v2.0 (en)</option>
107108
</select></div>
108109
<div style="display: inline-flex; align-items: center;"><label>Gate:</label><div id="wakeWordGateState"></div><label></label></div>
109110
<div><label>Control:</label><button onclick="wakeWordSetGate('open');">Listen</button><button onclick="wakeWordSetGate('close');">Stop</button><label></label></div>
111+
<div><label>Key (v2+):</label><input id="porcupineAccessKey" placeholder="access key required for v2+"></div>
110112
</div>
111113
<div id="waveEncoderControls" class="contorlGroup">
112114
<label><b>Wave Encoder</b></label>
@@ -366,7 +368,7 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
366368
name: 'porcupine-wake-word-worker',
367369
type: 'worker',
368370
preLoad: {
369-
wasmFile: ('src/modules/picovoice/porcupine-' + porcupineVersion + '.wasm')
371+
wasmFile: ('src/modules/picovoice/porcupine-' + (porcupineVersion > 19? (porcupineVersion + "_" + porcupineLanguage) : porcupineVersion) + '.wasm')
370372
},
371373
settings: {
372374
onmessage: onWakeWordMessage,
@@ -377,8 +379,12 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
377379
inputSampleSize: resamplerBufferSize, //output bufferSize of previous module
378380
bufferSize: resamplerBufferSize, //TODO: this has no effect yet
379381
version: porcupineVersion,
382+
porcupineLanguage: "en",
383+
porcupineAccessKey: document.getElementById("porcupineAccessKey").value,
380384
keywords: (porcupineVersion == 14? ["Hey SEPIA"] : ["Computer", "Jarvis", "Picovoice"]),
381-
sensitivities: (porcupineVersion == 14? [wakeWordSensitivity] : [wakeWordSensitivity, wakeWordSensitivity, wakeWordSensitivity])
385+
sensitivities: (porcupineVersion == 14? [wakeWordSensitivity] : [wakeWordSensitivity, wakeWordSensitivity, wakeWordSensitivity]),
386+
keywordsRemoteLocation: ""
387+
//can be used in combination with keyword names like ["Server: My Word"] for path like: [keywordsRemoteLocation]/2.0_en/keywords/[my_word]_wasm_20_en.js
382388
}
383389
}
384390
}
@@ -443,7 +449,8 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
443449
startSuspended: true,
444450
debugLog: onDebugLog,
445451
customSourceTest: useWhiteNoiseTest,
446-
customSource: customSource
452+
customSource: customSource,
453+
initializerTimeout: 8000
447454

448455
}, function(msg){
449456
//Init. ready
@@ -552,10 +559,14 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
552559
}else{
553560
fileUrl = "test-sounds/traffic_counting.ogg";
554561
}
555-
showLogMessage("createFileSource", fileUrl);
562+
showLogMessage("createFileSource", fileUrl);
563+
var loop = true; //default is true
564+
var onEndCallback = function(){
565+
console.log("Audio file source stream ended."); //only triggers if loop=false
566+
};
556567
return SepiaFW.webAudio.createFileSource(fileUrl, {
557568
targetSampleRate: targetSampleRate
558-
});
569+
}, loop, onEndCallback);
559570
}
560571

561572
//Audio node data/visualizations:
@@ -842,6 +853,7 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
842853
var wakeWordGateOpen = false;
843854
var wakeWordSensitivity = +document.getElementById("wakeWordSensitivity").value;
844855
var porcupineVersion = +document.getElementById("porcupineVersionSelect").value;
856+
var porcupineLanguage = "en"; //TODO: add more
845857
function setWakeWordSensitivity(sense){
846858
wakeWordSensitivity = sense;
847859
console.log("wakeWordSensitivity", wakeWordSensitivity);

src/modules/example-processor.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class ExampleProcessor extends AudioWorkletProcessor {
3030
that.port.postMessage({
3131
//Default message type is "processing result", but it can be 'moduleState', 'moduleEvent' and 'moduleResponse' ("on-demand" requests) as well
3232
//NOTE: only default processing (no tag) and 'moduleEvent' will be forwarded automatically
33-
moduleState: 1, //1=ready, 2=changed, 9=read for termination
33+
moduleState: 1, //1=ready, 2=changed, 9=ready for termination, 10=custom error
3434
moduleInfo: {
3535
sourceSamplerate: that.sourceSamplerate,
3636
targetSamplerate: that.targetSamplerate,

src/modules/example-worker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ function constructWorker(options) {
4444
postMessage({
4545
//Default message type is "processing result", but it can be 'moduleState', 'moduleEvent' and 'moduleResponse' ("on-demand" requests) as well
4646
//NOTE: only default processing (no tag) and 'moduleEvent' will be forwarded automatically
47-
moduleState: 1, //1=ready, 2=changed, 9=read for termination -- for "on-demand" requests outside of normal processing sequence use 'moduleResponse: true'
47+
moduleState: 1, //1=ready, 2=changed, 9=ready for termination, 10=custom error -- for "on-demand" requests outside of normal processing sequence use 'moduleResponse: true'
4848
moduleInfo: {
4949
hello: "world"
5050
}
1.04 MB
Binary file not shown.

src/modules/picovoice/porcupine-keywords/computer_wasm_20_en.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)