birdnet-analyzer 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- birdnet_analyzer/__init__.py +8 -0
- birdnet_analyzer/analyze/__init__.py +5 -0
- birdnet_analyzer/analyze/__main__.py +4 -0
- birdnet_analyzer/analyze/cli.py +25 -0
- birdnet_analyzer/analyze/core.py +245 -0
- birdnet_analyzer/analyze/utils.py +701 -0
- birdnet_analyzer/audio.py +372 -0
- birdnet_analyzer/cli.py +707 -0
- birdnet_analyzer/config.py +242 -0
- birdnet_analyzer/eBird_taxonomy_codes_2021E.json +25280 -0
- birdnet_analyzer/embeddings/__init__.py +4 -0
- birdnet_analyzer/embeddings/__main__.py +3 -0
- birdnet_analyzer/embeddings/cli.py +13 -0
- birdnet_analyzer/embeddings/core.py +70 -0
- birdnet_analyzer/embeddings/utils.py +193 -0
- birdnet_analyzer/evaluation/__init__.py +195 -0
- birdnet_analyzer/evaluation/__main__.py +3 -0
- birdnet_analyzer/gui/__init__.py +23 -0
- birdnet_analyzer/gui/__main__.py +3 -0
- birdnet_analyzer/gui/analysis.py +174 -0
- birdnet_analyzer/gui/assets/arrow_down.svg +4 -0
- birdnet_analyzer/gui/assets/arrow_left.svg +4 -0
- birdnet_analyzer/gui/assets/arrow_right.svg +4 -0
- birdnet_analyzer/gui/assets/arrow_up.svg +4 -0
- birdnet_analyzer/gui/assets/gui.css +29 -0
- birdnet_analyzer/gui/assets/gui.js +94 -0
- birdnet_analyzer/gui/assets/img/birdnet-icon.ico +0 -0
- birdnet_analyzer/gui/assets/img/birdnet_logo.png +0 -0
- birdnet_analyzer/gui/assets/img/birdnet_logo_no_transparent.png +0 -0
- birdnet_analyzer/gui/assets/img/clo-logo-bird.svg +1 -0
- birdnet_analyzer/gui/embeddings.py +620 -0
- birdnet_analyzer/gui/evaluation.py +813 -0
- birdnet_analyzer/gui/localization.py +68 -0
- birdnet_analyzer/gui/multi_file.py +246 -0
- birdnet_analyzer/gui/review.py +527 -0
- birdnet_analyzer/gui/segments.py +191 -0
- birdnet_analyzer/gui/settings.py +129 -0
- birdnet_analyzer/gui/single_file.py +269 -0
- birdnet_analyzer/gui/species.py +95 -0
- birdnet_analyzer/gui/train.py +698 -0
- birdnet_analyzer/gui/utils.py +808 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_af.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ar.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_bg.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ca.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_cs.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_da.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_de.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_el.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_en_uk.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_es.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_fi.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_fr.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_he.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_hr.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_hu.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_in.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_is.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_it.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ja.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ko.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_lt.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ml.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_nl.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_no.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_pl.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_pt_BR.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_pt_PT.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ro.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ru.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_sk.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_sl.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_sr.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_sv.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_th.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_tr.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_uk.txt +6522 -0
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_zh.txt +6522 -0
- birdnet_analyzer/lang/de.json +335 -0
- birdnet_analyzer/lang/en.json +335 -0
- birdnet_analyzer/lang/fi.json +335 -0
- birdnet_analyzer/lang/fr.json +335 -0
- birdnet_analyzer/lang/id.json +335 -0
- birdnet_analyzer/lang/pt-br.json +335 -0
- birdnet_analyzer/lang/ru.json +335 -0
- birdnet_analyzer/lang/se.json +335 -0
- birdnet_analyzer/lang/tlh.json +335 -0
- birdnet_analyzer/lang/zh_TW.json +335 -0
- birdnet_analyzer/model.py +1243 -0
- birdnet_analyzer/search/__init__.py +3 -0
- birdnet_analyzer/search/__main__.py +3 -0
- birdnet_analyzer/search/cli.py +12 -0
- birdnet_analyzer/search/core.py +78 -0
- birdnet_analyzer/search/utils.py +111 -0
- birdnet_analyzer/segments/__init__.py +3 -0
- birdnet_analyzer/segments/__main__.py +3 -0
- birdnet_analyzer/segments/cli.py +14 -0
- birdnet_analyzer/segments/core.py +78 -0
- birdnet_analyzer/segments/utils.py +394 -0
- birdnet_analyzer/species/__init__.py +3 -0
- birdnet_analyzer/species/__main__.py +3 -0
- birdnet_analyzer/species/cli.py +14 -0
- birdnet_analyzer/species/core.py +35 -0
- birdnet_analyzer/species/utils.py +75 -0
- birdnet_analyzer/train/__init__.py +3 -0
- birdnet_analyzer/train/__main__.py +3 -0
- birdnet_analyzer/train/cli.py +14 -0
- birdnet_analyzer/train/core.py +113 -0
- birdnet_analyzer/train/utils.py +847 -0
- birdnet_analyzer/translate.py +104 -0
- birdnet_analyzer/utils.py +419 -0
- birdnet_analyzer-2.0.0.dist-info/METADATA +129 -0
- birdnet_analyzer-2.0.0.dist-info/RECORD +117 -0
- birdnet_analyzer-2.0.0.dist-info/WHEEL +5 -0
- birdnet_analyzer-2.0.0.dist-info/entry_points.txt +11 -0
- birdnet_analyzer-2.0.0.dist-info/licenses/LICENSE +19 -0
- birdnet_analyzer-2.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
footer {
|
2
|
+
display: none !important;
|
3
|
+
}
|
4
|
+
|
5
|
+
#single_file_audio,
|
6
|
+
#single_file_audio * {
|
7
|
+
max-height: 81.6px;
|
8
|
+
min-height: 0;
|
9
|
+
}
|
10
|
+
|
11
|
+
#update-available a {
|
12
|
+
text-decoration: none;
|
13
|
+
}
|
14
|
+
|
15
|
+
:root {
|
16
|
+
--block-title-text-color: var(--neutral-800);
|
17
|
+
--block-info-text-color: var(--neutral-500);
|
18
|
+
}
|
19
|
+
|
20
|
+
#single-file-output td:first-of-type span {
|
21
|
+
text-align: center;
|
22
|
+
}
|
23
|
+
|
24
|
+
#embeddings-search-results {
|
25
|
+
max-height: 1107px;
|
26
|
+
overflow: auto;
|
27
|
+
flex-wrap: nowrap;
|
28
|
+
padding-right: 5px;
|
29
|
+
}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
function init() {
|
2
|
+
function checkForNewerVersion() {
|
3
|
+
let gui_version_element = document.getElementById("current-version")
|
4
|
+
|
5
|
+
if (gui_version_element && gui_version_element.textContent != "main") {
|
6
|
+
console.log("Checking for newer version...");
|
7
|
+
|
8
|
+
function sendGetRequest(url) {
|
9
|
+
return new Promise((resolve, reject) => {
|
10
|
+
const xhr = new XMLHttpRequest();
|
11
|
+
xhr.open("GET", url);
|
12
|
+
xhr.onload = () => {
|
13
|
+
if (xhr.status === 200) {
|
14
|
+
resolve(xhr.responseText);
|
15
|
+
} else {
|
16
|
+
reject(new Error(`Request failed with status ${xhr.status}`));
|
17
|
+
}
|
18
|
+
};
|
19
|
+
xhr.onerror = () => {
|
20
|
+
reject(new Error("Request failed"));
|
21
|
+
};
|
22
|
+
xhr.send();
|
23
|
+
});
|
24
|
+
}
|
25
|
+
|
26
|
+
const apiUrl = "https://api.github.com/repos/birdnet-team/BirdNET-Analyzer/releases/latest";
|
27
|
+
|
28
|
+
sendGetRequest(apiUrl)
|
29
|
+
.then(response => {
|
30
|
+
const current_version = document.getElementById("current-version").textContent;
|
31
|
+
const response_object = JSON.parse(response);
|
32
|
+
const latest_version = response_object.tag_name;
|
33
|
+
|
34
|
+
if (latest_version.startsWith("v")) {
|
35
|
+
latest_version = latest_version.slice(1);
|
36
|
+
}
|
37
|
+
|
38
|
+
if (current_version !== latest_version) {
|
39
|
+
const updateNotification = document.getElementById("update-available");
|
40
|
+
|
41
|
+
updateNotification.style.display = "block";
|
42
|
+
const linkElement = updateNotification.getElementsByTagName("a")[0]
|
43
|
+
linkElement.href = response_object.html_url;
|
44
|
+
linkElement.target = "_blank";
|
45
|
+
}
|
46
|
+
})
|
47
|
+
.catch(error => {
|
48
|
+
console.error(error);
|
49
|
+
});
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
function overwriteStyles() {
|
54
|
+
console.log("Overwriting styles...");
|
55
|
+
const styles = document.createElement("style");
|
56
|
+
styles.innerHTML = "@media (width <= 1024px) { .app {max-width: initial !important;}}";
|
57
|
+
document.head.appendChild(styles);
|
58
|
+
}
|
59
|
+
|
60
|
+
function bindReviewKeyShortcuts() {
|
61
|
+
const posBtn = document.getElementById("positive-button");
|
62
|
+
const negBtn = document.getElementById("negative-button");
|
63
|
+
const skipBtn = document.getElementById("skip-button");
|
64
|
+
const undoBtn = document.getElementById("undo-button");
|
65
|
+
|
66
|
+
if (!posBtn || !negBtn) return;
|
67
|
+
|
68
|
+
console.log("Binding review key shortcuts...");
|
69
|
+
|
70
|
+
document.addEventListener("keydown", function (event) {
|
71
|
+
const reviewTabBtn = document.getElementById("review-tab-button");
|
72
|
+
|
73
|
+
if (reviewTabBtn.ariaSelected === "false") return;
|
74
|
+
|
75
|
+
if (event.key === "ArrowUp") {
|
76
|
+
event.preventDefault();
|
77
|
+
posBtn.click();
|
78
|
+
} else if (event.key === "ArrowDown") {
|
79
|
+
event.preventDefault();
|
80
|
+
negBtn.click();
|
81
|
+
} else if (event.key === "ArrowLeft") {
|
82
|
+
event.preventDefault();
|
83
|
+
undoBtn.click();
|
84
|
+
} else if (event.key === "ArrowRight") {
|
85
|
+
event.preventDefault();
|
86
|
+
skipBtn.click();
|
87
|
+
}
|
88
|
+
});
|
89
|
+
}
|
90
|
+
|
91
|
+
checkForNewerVersion();
|
92
|
+
overwriteStyles();
|
93
|
+
bindReviewKeyShortcuts();
|
94
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 206.87 116.66"><defs><style>.cls-1{fill:#f4e505;}.cls-2{fill:#e31e26;}.cls-3{fill:#fff;}</style></defs><path d="M206.37,16.68s-16.44-4.34-22.76-4.9c0,0-25,13.5-32,18a19.16,19.16,0,0,0-8.67,13.89l35.71-26.32h28C207.31,17.39,206.37,16.68,206.37,16.68Z" transform="translate(0 0.63)"/><path d="M148.55,27.33c7.32-4.9,32.62-18.73,32.62-18.73l0,0A30.69,30.69,0,0,0,159-.63a44.23,44.23,0,0,0-20.71,5H0c0,3.71,5.6,6.56,12.14,6.56H52.36L86.62,35.12V71.37c0,15.73,8.26,29.44,21.78,37.35S128.68,116,138.63,116V46.87C138.63,40.78,140.47,32.73,148.55,27.33ZM167.87,8a2.51,2.51,0,1,1-2.51,2.51A2.51,2.51,0,0,1,167.87,8Zm-29.13,13,15.69-8.68,6.89.57L138.74,25.36Z" transform="translate(0 0.63)"/><path class="cls-1" d="M52.36,10.91H110c-12.89,0-23.4,10.35-23.4,24.21Z" transform="translate(0 0.63)"/><path class="cls-2" d="M178,10.33A31.71,31.71,0,0,0,157.78,2.9V-.61l1.25,0A30.63,30.63,0,0,1,181.17,8.6Z" transform="translate(0 0.63)"/><path class="cls-2" d="M178.63,17.39l-25,18.43s-.29-2.7,3.47-5.74,26.5-18.3,26.5-18.3Z" transform="translate(0 0.63)"/><path class="cls-3" d="M128.14,64.47V52.15c0-5.18-2.11-8.77-6.93-12.18L100.79,25.54a14.32,14.32,0,0,0,2,21Z" transform="translate(0 0.63)"/><path class="cls-3" d="M128.14,64.47V52.15c0-5.18-2.11-8.77-6.93-12.18L100.79,25.54a14.32,14.32,0,0,0,2,21Z" transform="translate(0 0.63)"/><path class="cls-3" d="M151.59,29.82c7-4.54,32-18,32-18a16.24,16.24,0,0,0-2.41-3.15l0,0s-25.3,13.83-32.62,18.73-9.57,12.17-9.87,18l-.05,1.51,4.29-3.16A19.16,19.16,0,0,1,151.59,29.82Z" transform="translate(0 0.63)"/><path class="cls-3" d="M167.87,8a2.51,2.51,0,1,1-2.51,2.51A2.51,2.51,0,0,1,167.87,8Z" transform="translate(0 0.63)"/><polygon class="cls-3" points="138.74 21.57 154.43 12.89 161.32 13.45 138.74 25.98 138.74 21.57"/></svg>
|