Repository navigation
Expand file tree
/
Copy pathmic_trigger.htm
More file actions
121 lines (111 loc) · 23.2 KB
/
Copy pathmic_trigger.htm
File metadata and controls
121 lines (111 loc) · 23.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<html>
<head>
<title>Mic trigger</title>
<style>
body, input { text-align:center; font-size:160%; }
</style>
</head>
<body>
<form onSubmit="return false;">
<input type="button" value="mic trigger" onclick="beginDetect();" />
<br /><input type="radio" name="threshold" id="t01" value="0.01" /><label for="t01">0.01</label>
<input type="radio" name="threshold" id="t02" value="0.02" /><label for="t02">0.02</label>
<br /><input type="radio" name="threshold" id="t03" value="0.03" /><label for="t03">0.03</label>
<input type="radio" name="threshold" id="t04" value="0.04" /><label for="t04">0.04</label>
<br /><input type="radio" name="threshold" id="t05" value="0.05" checked="checked" /><label for="t05">0.05</label>
<input type="radio" name="threshold" id="t07" value="0.07" /><label for="t07">0.07</label>
<br /><input type="radio" name="threshold" id="t10" value="0.10" /><label for="t10">0.10</label>
<input type="radio" name="threshold" id="t20" value="0.20" /><label for="t20">0.20</label>
<br /><input type="radio" name="threshold" id="t30" value="0.30" /><label for="t30">0.30</label>
<input type="radio" name="threshold" id="t50" value="0.50" /><label for="t50">0.50</label>
<div id="audio-value"></div>
</form>
<script>
// const audio = new Audio('ya_tidur.mp3');
const audio = new Audio('data:audio/mp3;base64,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');
const secCooldown = 10;
const countToTrigger = 100;
var countTrigger = 0;
var msPrevious = 0;
const elThreshold = document.forms[0].threshold;
/// Based on http://stackoverflow.com/a/51859377
var audioContext;
var mediaStreamSource = null
var meter = null
function beginDetect() {
audio.play();
audioContext = new (window.AudioContext || window.webkitAudioContext)()
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({audio: true}).then((stream) => {
mediaStreamSource = audioContext.createMediaStreamSource(stream)
meter = createAudioMeter(audioContext)
mediaStreamSource.connect(meter)
})
}
}
function createAudioMeter(audioContext, clipLevel, averaging, clipLag) {
const processor = audioContext.createScriptProcessor(512)
processor.onaudioprocess = volumeAudioProcess
processor.clipping = false
processor.lastClip = 0
processor.volume = 0
processor.clipLevel = clipLevel || 0.98
processor.averaging = averaging || 0.95
processor.clipLag = clipLag || 750
// this will have no effect, since we don't copy the input to the output,
// but works around a current Chrome bug.
processor.connect(audioContext.destination)
processor.checkClipping = function () {
if (!this.clipping) {
return false
}
if ((this.lastClip + this.clipLag) < window.performance.now()) {
this.clipping = false
}
return this.clipping
}
processor.shutdown = function () {
this.disconnect()
this.onaudioprocess = null
}
return processor
}
function volumeAudioProcess(event) {
const buf = event.inputBuffer.getChannelData(0)
const bufLength = buf.length
let sum = 0
let x
// Do a root-mean-square on the samples: sum up the squares...
for (var i = 0; i < bufLength; i++) {
x = buf[i]
if (Math.abs(x) >= this.clipLevel) {
this.clipping = true
this.lastClip = window.performance.now()
}
sum += x * x
}
// ... then take the square root of the sum.
const rms = Math.sqrt(sum / bufLength)
// Now smooth this out with the averaging factor applied
// to the previous sample - take the max here because we
// want "fast attack, slow release."
this.volume = Math.max(rms, this.volume * this.averaging) + 0;
const threshold = parseFloat(elThreshold.value);
const isDetect = this.volume > threshold;
if (isDetect) {
countTrigger += 1;
if (countTrigger >= countToTrigger) {
countTrigger = 0;
const ms = (new Date()).getTime();
if (ms - msPrevious > 1000 * secCooldown) {
msPrevious = ms;
audio.play();
}
}
}
console.log(threshold, countTrigger, msPrevious, this.volume, isDetect);
document.getElementById('audio-value').innerHTML = this.volume.toFixed(4) + '<br />' + '-'.repeat(1e3 * this.volume);
}
</script>
</body>
</html>