-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.py
31 lines (25 loc) · 778 Bytes
/
example.py
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
#!/usr/bin/env python3
import wave
from energy_vad import EnergyVad
vad = EnergyVad()
with wave.open("test.wav", "rb") as wav_file:
assert wav_file.getframerate() == 16000
assert wav_file.getsampwidth() == 2
assert wav_file.getnchannels() == 1
chunk = wav_file.readframes(vad.samples_per_chunk)
while len(chunk) == vad.bytes_per_chunk:
result = vad.process_chunk(chunk)
if result is None:
# calibrating
pass
elif result:
# speech
print("!", end="")
else:
# silence
print(".", end="")
chunk = wav_file.readframes(vad.samples_per_chunk)
print("")
print("Energy threshold:", vad.threshold)
# Clear calibrated threshold
vad.reset_calibration()