FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
linux-sdk-python/examples/audio/classify.py at master · edgeimpulse/linux-sdk-python · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
edgeimpulse
/
linux-sdk-python
Public
Notifications
You must be signed in to change notification settings
Fork
31
Star
57
Code
Issues
0
Pull requests
4
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
linux-sdk-python
/
examples
/
audio
/
classify.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
74 lines (60 loc) · 2.64 KB
Breadcrumbs
linux-sdk-python
/
examples
/
audio
/
classify.py
Copy path
File metadata and controls
74 lines (60 loc) · 2.64 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
import
os
import
sys
,
getopt
import
signal
import
time
from
edge_impulse_linux
.
audio
import
AudioImpulseRunner
runner
=
None
def
signal_handler
(
sig
,
frame
):
print
(
'Interrupted'
)
if
(
runner
):
runner
.
stop
()
sys
.
exit
(
0
)
signal
.
signal
(
signal
.
SIGINT
,
signal_handler
)
def
help
():
print
(
'python classify.py <path_to_model.eim> <audio_device_ID, optional>'
)
def
main
(
argv
):
try
:
opts
,
args
=
getopt
.
getopt
(
argv
,
"h"
, [
"--help"
])
except
getopt
.
GetoptError
:
help
()
sys
.
exit
(
2
)
for
opt
,
arg
in
opts
:
if
opt
in
(
'-h'
,
'--help'
):
help
()
sys
.
exit
()
if
len
(
args
)
==
0
:
help
()
sys
.
exit
(
2
)
model
=
args
[
0
]
dir_path
=
os
.
path
.
dirname
(
os
.
path
.
realpath
(
__file__
))
modelfile
=
os
.
path
.
join
(
dir_path
,
model
)
with
AudioImpulseRunner
(
modelfile
)
as
runner
:
try
:
model_info
=
runner
.
init
()
# model_info = runner.init(debug=True, timeout=60) # to get debug print out and set longer timeout
labels
=
model_info
[
'model_parameters'
][
'labels'
]
print
(
'Loaded runner for "'
+
model_info
[
'project'
][
'owner'
]
+
' / '
+
model_info
[
'project'
][
'name'
]
+
'"'
)
#Let the library choose an audio interface suitable for this model, or pass device ID parameter to manually select a specific audio interface
selected_device_id
=
None
if
len
(
args
)
>=
2
:
selected_device_id
=
int
(
args
[
1
])
print
(
"Device ID "
+
str
(
selected_device_id
)
+
" has been provided as an argument."
)
for
res
,
audio
in
runner
.
classifier
(
device_id
=
selected_device_id
):
if
"classification"
in
res
[
"result"
].
keys
():
print
(
'Result (%d ms.) '
%
(
res
[
'timing'
][
'dsp'
]
+
res
[
'timing'
][
'classification'
]),
end
=
''
)
for
label
in
labels
:
score
=
res
[
'result'
][
'classification'
][
label
]
print
(
'%s: %.2f
\t
'
%
(
label
,
score
),
end
=
''
)
print
(
''
,
flush
=
True
)
elif
"freeform"
in
res
[
'result'
].
keys
():
print
(
'Result (%d ms.)'
%
(
res
[
'timing'
][
'dsp'
]
+
res
[
'timing'
][
'classification'
]))
for
i
in
range
(
0
,
len
(
res
[
'result'
][
'freeform'
])):
print
(
f' Freeform output
{
i
}
:'
,
", "
.
join
(
f"
{
x
:.4f
}
"
for
x
in
res
[
'result'
][
'freeform'
][
i
]))
else
:
print
(
'Result (%d ms.)'
%
(
res
[
'timing'
][
'dsp'
]
+
res
[
'timing'
][
'classification'
]))
print
(
res
[
'result'
])
finally
:
if
(
runner
):
runner
.
stop
()
if
__name__
==
'__main__'
:
main
(
sys
.
argv
[
1
:])
Back
|
FazBrowse Home
|
New Git URL