Skip to content

Commit 4642ea6

Browse files
authored
Merge pull request #821 from kattni/pdm-mic-cp
Adding PDM mic code
2 parents 13b231c + 4279915 commit 4642ea6

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import time
2+
import array
3+
import math
4+
import board
5+
import audiobusio
6+
7+
8+
# Remove DC bias before computing RMS.
9+
def mean(values):
10+
return sum(values) / len(values)
11+
12+
13+
def normalized_rms(values):
14+
minbuf = int(mean(values))
15+
samples_sum = sum(
16+
float(sample - minbuf) * (sample - minbuf)
17+
for sample in values
18+
)
19+
20+
return math.sqrt(samples_sum / len(values))
21+
22+
23+
# Main program
24+
mic = audiobusio.PDMIn(board.TX, board.D12, sample_rate=16000, bit_depth=16)
25+
samples = array.array('H', [0] * 160)
26+
27+
28+
while True:
29+
mic.record(samples, len(samples))
30+
magnitude = normalized_rms(samples)
31+
print((magnitude,))
32+
time.sleep(0.1)

0 commit comments

Comments
 (0)