Skip to content

Commit 36a910b

Browse files
committed
updated test pages and README
1 parent 87313ee commit 36a910b

File tree

7 files changed

+384
-32
lines changed

7 files changed

+384
-32
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ Available modules:
1010

1111
- Resampler using Speex codec (WASM module)
1212
- Voice-Activity-Detection (VAD) via WebRTC-VAD
13-
- Custom SEPIA VAD module using Meyda to analyze bark-scale, MFCC and more
13+
- Custom SEPIA VAD module using Meyda to analyze bark-scale, **MFCC** and more
1414
- Wave Encoder with lookback-buffer
15-
- Porcupine Wake-Word detector
15+
- Porcupine Wake-Word detector (including: "Computer", "Jarvis", "Hey SEPIA" and more)
1616
- [SEPIA STT Server](https://github.com/SEPIA-Framework/sepia-stt-server) WebSocket module for speech recognition
1717
- more to come ...
1818

1919
## Tutorial
2020

21-
UNDER CONSTRUCTION - Please check out the demo and test pages for more examples.
21+
UNDER CONSTRUCTION - Please check out the modules demo and test pages for more examples.
2222

2323
Full tutorial code can be found at: [tutorial-test-page.html](tutorial-test-page.html)
2424

modules-demo.html

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,16 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
6161
<div><label>Volume-proc.:</label><input type="checkbox" id="useVolumeProcessor" checked onchange="useVolumeProcessor(this.checked);"></div>
6262
<div><label>Resampler:</label><input type="checkbox" id="useResampler" checked onchange="useResampler(this.checked);"></div>
6363
<div><label>Wave-encoder:</label><input type="checkbox" id="useWaveEncoder" checked onchange="useWaveEncoder(this.checked);"></div>
64-
<div><label>VAD (SEPIA):</label><input type="checkbox" id="useVadWorker" checked onchange="useVadWorker(this.checked);"></div>
64+
<div><label>VAD:</label><select id="vadWorkerSelect" onchange="setVadWorker(this.value);">
65+
<option value="">off</option><option value="webrtc-vad-worker">WebRTC</option><option value="sepia-vad-worker" selected>SEPIA + MFCC (Beta)</option>
66+
</select></div>
6567
<div><label>Wake-Word:</label><input type="checkbox" id="useWakeWordWorker" onchange="useWakeWordWorker(this.checked);"></div>
6668
</div>
67-
<div id="logMessages">- Log -</div>
69+
<div style="position: relative;">
70+
<div onclick="document.getElementById('logMessages').textContent='- Log -'"
71+
style="position:absolute; right:0; top:0; padding:0 3px; border-radius:0 0 0 3px; border:1px solid #000; background:#f1f1f1; cursor:pointer; font-size:12px;">x</div>
72+
<div id="logMessages">- Log -</div>
73+
</div>
6874
<div id="volumeMeterControls" class="contorlGroup">
6975
<label><b>Volume-Processor</b></label>
7076
<div><label>Gain:</label><input id="volumeMeterGain" class="small" type="number" value="1.0" onchange="setVolumeGain(+this.value);"></div>
@@ -124,7 +130,7 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
124130
<div><label>Volume RMS:</label><input type="checkbox" id="usePlot2" checked onchange="usePlot(2, this);"></div>
125131
<div><label>VAD:</label><input type="checkbox" id="usePlot3" onchange="usePlot(3, this);"></div>
126132
<div><label>VAD Energy:</label><input type="checkbox" id="usePlot4" checked onchange="usePlot(4, this);"></div>
127-
<div><label>VAD Mfcc:</label><input type="checkbox" id="useHeatmap1" checked onchange="useHeatmap(1, this);"></div>
133+
<div><label>VAD Mfcc (only SEPIA):</label><input type="checkbox" id="useHeatmap1" checked onchange="useHeatmap(1, this);"></div>
128134
</div>
129135
<!--<div id="chart1" class="chart"></div>-->
130136
<div id="chart2" class="chart"></div>
@@ -327,7 +333,7 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
327333
var waveEncoderIndex;
328334

329335
var vadWorker = {
330-
name: 'sepia-vad-worker', //More traditional version: 'webrtc-vad-worker',
336+
name: vadWorkerName || 'sepia-vad-worker', //More traditional version: 'webrtc-vad-worker',
331337
type: 'worker',
332338
settings: {
333339
onmessage: setVoiceActivity,
@@ -802,7 +808,8 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
802808
}
803809
useWaveEncoder(doUseWaveEncoder);
804810

805-
var doUseVadWorker = document.getElementById("useVadWorker").checked;
811+
var vadWorkerName = document.getElementById("vadWorkerSelect").value;
812+
var doUseVadWorker = !!vadWorkerName;
806813
var vadWorkerBufferSize = +document.getElementById("vadWorkerBufferSize").value; //e.g. 512 (Meyda) or 960 (WebRTC);
807814
var vadWorkerVadMode = +document.getElementById("vadWorkerVadMode").value; //e.g. 3;
808815
var vadWorkerVadThreshold = +document.getElementById("vadWorkerVadThreshold").value; //e.g. 4 (Meyda only, mode 1: 1.3, mode 2-n: 3-4;
@@ -823,7 +830,11 @@ <h1>SEPIA Web Audio Processor - Module Tests</h1>
823830
document.getElementById("vadWorkerControls").style.display = "none";
824831
}
825832
}
826-
useVadWorker(doUseVadWorker);
833+
function setVadWorker(nuVadWorkerName){
834+
useVadWorker(!!nuVadWorkerName);
835+
vadWorkerName = nuVadWorkerName;
836+
}
837+
setVadWorker(vadWorkerName);
827838

828839
var doUseWakeWordWorker = document.getElementById("useWakeWordWorker").checked;
829840
var wakeWordGate = document.getElementById('wakeWordGateState');

sepia.svg

Lines changed: 21 additions & 0 deletions
Loading

test-commons.js

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,16 @@ function useHeatmap(index, ele){
8080
var useHeatmaps = {};
8181
var heatmaps = {};
8282
if (window.uPlot && uPlot.lazy && uPlot.lazy.Heatmap){
83-
heatmaps = {
84-
1: new uPlot.lazy.Heatmap(document.getElementById('heatmap1'), {
85-
dataPixelWidth: 4,
86-
dataPixelHeight: 4,
87-
colorIndex: 4,
88-
maxDataPoints: 150
89-
})
90-
};
83+
if (document.getElementById('heatmap1')){
84+
heatmaps = {
85+
1: new uPlot.lazy.Heatmap(document.getElementById('heatmap1'), {
86+
dataPixelWidth: 4,
87+
dataPixelHeight: 4,
88+
colorIndex: 4,
89+
maxDataPoints: 150
90+
})
91+
};
92+
}
9193
}
9294
usePlot(1, document.getElementById('usePlot1'));
9395
usePlot(2, document.getElementById('usePlot2'));
@@ -160,4 +162,29 @@ function createArrayWithStartValue(n, startValue){
160162
array[i] = startValue;
161163
}
162164
return array;
165+
}
166+
167+
function createModal(content, width, maxWidth){
168+
var layer = document.createElement("div");
169+
layer.className = "modal-layer";
170+
var modal = document.createElement("div");
171+
modal.className = "modal-box";
172+
if (width) modal.style.width = width;
173+
if (maxWidth) modal.style.maxWidth = maxWidth;
174+
if (typeof content == "string"){
175+
modal.innerHTML = content;
176+
}else{
177+
modal.appendChild(content);
178+
}
179+
document.body.appendChild(layer);
180+
layer.appendChild(modal);
181+
modal.closeModal = function(){
182+
layer.parentNode.removeChild(layer);
183+
}
184+
layer.addEventListener("click", function(e){
185+
if (e.target == layer){
186+
modal.closeModal();
187+
}
188+
});
189+
return modal;
163190
}

0 commit comments

Comments
 (0)