forked from adafruit/circuitpython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathissue9705.py
More file actions
30 lines (21 loc) · 672 Bytes
/
issue9705.py
File metadata and controls
30 lines (21 loc) · 672 Bytes
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
import audiomp3, audiocore
TEST_FILE = (
__file__.rsplit("/", 1)[0]
+ "/../circuitpython-manual/audiocore/jeplayer-splash-44100-stereo.mp3"
)
def loudness(values):
return sum(abs(a) for a in values)
def print_frame_loudness(decoder, n):
for i in range(n):
result, buf = audiocore.get_buffer(decoder)
print(f"{i} {result} {loudness(buf):5.0f}")
print()
# First frames
decoder = audiomp3.MP3Decoder(TEST_FILE)
print_frame_loudness(decoder, 8)
# First frames (fresh decoder)
decoder = audiomp3.MP3Decoder(TEST_FILE)
print_frame_loudness(decoder, 2)
# First frames (reopen)
decoder.open(TEST_FILE)
print_frame_loudness(decoder, 3)