birdnet-analyzer 2.0.1__py3-none-any.whl → 2.1.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/analyze/__init__.py +14 -0
- birdnet_analyzer/analyze/cli.py +5 -0
- birdnet_analyzer/analyze/core.py +6 -1
- birdnet_analyzer/analyze/utils.py +42 -40
- birdnet_analyzer/audio.py +2 -2
- birdnet_analyzer/cli.py +41 -18
- birdnet_analyzer/config.py +4 -3
- birdnet_analyzer/eBird_taxonomy_codes_2024E.json +13046 -0
- birdnet_analyzer/embeddings/core.py +2 -1
- birdnet_analyzer/embeddings/utils.py +42 -1
- birdnet_analyzer/evaluation/__init__.py +6 -13
- birdnet_analyzer/evaluation/assessment/performance_assessor.py +12 -57
- birdnet_analyzer/evaluation/assessment/plotting.py +61 -62
- birdnet_analyzer/evaluation/preprocessing/data_processor.py +1 -1
- birdnet_analyzer/gui/analysis.py +5 -1
- birdnet_analyzer/gui/assets/gui.css +8 -0
- birdnet_analyzer/gui/embeddings.py +37 -18
- birdnet_analyzer/gui/evaluation.py +14 -8
- birdnet_analyzer/gui/multi_file.py +25 -5
- birdnet_analyzer/gui/review.py +16 -63
- birdnet_analyzer/gui/settings.py +25 -4
- birdnet_analyzer/gui/single_file.py +14 -17
- birdnet_analyzer/gui/train.py +7 -16
- birdnet_analyzer/gui/utils.py +42 -55
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_ca.txt +1 -1
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_pl.txt +1 -1
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_sr.txt +108 -108
- birdnet_analyzer/labels/V2.4/BirdNET_GLOBAL_6K_V2.4_Labels_zh.txt +1 -1
- birdnet_analyzer/lang/de.json +7 -0
- birdnet_analyzer/lang/en.json +7 -0
- birdnet_analyzer/lang/fi.json +7 -0
- birdnet_analyzer/lang/fr.json +7 -0
- birdnet_analyzer/lang/id.json +7 -0
- birdnet_analyzer/lang/pt-br.json +7 -0
- birdnet_analyzer/lang/ru.json +36 -29
- birdnet_analyzer/lang/se.json +7 -0
- birdnet_analyzer/lang/tlh.json +7 -0
- birdnet_analyzer/lang/zh_TW.json +7 -0
- birdnet_analyzer/model.py +21 -21
- birdnet_analyzer/search/core.py +1 -1
- birdnet_analyzer/utils.py +3 -4
- {birdnet_analyzer-2.0.1.dist-info → birdnet_analyzer-2.1.0.dist-info}/METADATA +18 -9
- {birdnet_analyzer-2.0.1.dist-info → birdnet_analyzer-2.1.0.dist-info}/RECORD +47 -47
- {birdnet_analyzer-2.0.1.dist-info → birdnet_analyzer-2.1.0.dist-info}/WHEEL +1 -1
- birdnet_analyzer/eBird_taxonomy_codes_2021E.json +0 -25280
- {birdnet_analyzer-2.0.1.dist-info → birdnet_analyzer-2.1.0.dist-info}/entry_points.txt +0 -0
- {birdnet_analyzer-2.0.1.dist-info → birdnet_analyzer-2.1.0.dist-info}/licenses/LICENSE +0 -0
- {birdnet_analyzer-2.0.1.dist-info → birdnet_analyzer-2.1.0.dist-info}/top_level.txt +0 -0
birdnet_analyzer/lang/fi.json
CHANGED
@@ -49,6 +49,10 @@
|
|
49
49
|
"embeddings-tab-select-input-directory-button-label": "Valitse syötehakemisto (rekursiivinen)",
|
50
50
|
"embeddings-tab-start-button-label": "Poimi upotukset",
|
51
51
|
"embeddings-tab-title": "Upotukset",
|
52
|
+
"embedding-file-output-accordion-label": "Tiedostotulosteen asetukset",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "Jos ei valittu, tiedostotulostetta ei luoda.",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "Tiedostotulosteen hakemisto",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "Valitse tiedostotulosteen hakemisto",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "Tarkkuus mittaa mallin oikeiden ennusteiden prosenttiosuutta.",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "Merkintäsarakkeet",
|
54
58
|
"eval-tab-annotation-selection-button-label": "Valitse merkintäkansio",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "Lataa kartoitustiedosto",
|
114
118
|
"eval-tab-warning-error-reading-file": "Virhe luettaessa tiedostoa",
|
115
119
|
"footer-help": "Dokumentaatio ja tuki osoitteessa",
|
120
|
+
"footer-support": "Tue työtämme",
|
116
121
|
"inference-settings-accordion-label": "Päättelyasetukset",
|
117
122
|
"inference-settings-audio-speed-slider-info": "Negatiiviset arvot hidastavat, positiiviset nopeuttavat. Huomaa, että äänen nopeuden muokkaus tulisi käyttää myös koulutuksen aikana ollakseen tehokas tässä.",
|
118
123
|
"inference-settings-audio-speed-slider-label": "Äänen nopeuden muutos",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "N parasta lajia",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "Valitsee N parasta lajia luotettavuuden perusteella.",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "Käytä N parasta lajia",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "Lisää tulosteeseen lisäsarakkeita. \"Aloitus (s)\", \"Lopetus (s)\", \"Tieteellinen nimi\", \"Yleisnimi\", \"Luottamus\", \"Tiedosto\" sisältyvät jo.",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "Lisäsarakkeet CSV:lle",
|
135
142
|
"multi-tab-batchsize-number-info": "Kerralla käsiteltävien näytteiden määrä.",
|
136
143
|
"multi-tab-batchsize-number-label": "Eräkoko",
|
137
144
|
"multi-tab-input-selection-button-label": "Valitse syötehakemisto (rekursiivinen)",
|
birdnet_analyzer/lang/fr.json
CHANGED
@@ -49,6 +49,10 @@
|
|
49
49
|
"embeddings-tab-select-input-directory-button-label": "Sélectionner le répertoire d'entrée (récursif)",
|
50
50
|
"embeddings-tab-start-button-label": "Extraire les incorporations",
|
51
51
|
"embeddings-tab-title": "Incorporations",
|
52
|
+
"embedding-file-output-accordion-label": "Paramètres de sortie de fichier",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "Si non sélectionné, la sortie de fichier sera omise.",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "Répertoire de sortie de fichier",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "Sélectionner le répertoire de sortie de fichier",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "La précision mesure le pourcentage de prédictions correctes faites par le modèle.",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "Colonnes d'annotation",
|
54
58
|
"eval-tab-annotation-selection-button-label": "Sélectionner le répertoire d'annotations",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "Téléverser le fichier de correspondance",
|
114
118
|
"eval-tab-warning-error-reading-file": "Erreur lors de la lecture du fichier",
|
115
119
|
"footer-help": "Pour de la documentation, visiter",
|
120
|
+
"footer-support": "Soutenez notre travail",
|
116
121
|
"inference-settings-accordion-label": "Paramètres d'inférence",
|
117
122
|
"inference-settings-audio-speed-slider-info": "Les valeurs négatives ralentissent, les valeurs positives accélèrent. Notez que la modification de la vitesse audio doit également être utilisée pendant l'entraînement pour être efficace ici.",
|
118
123
|
"inference-settings-audio-speed-slider-label": "Modification de la vitesse audio",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "N premières espèces",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "Sélectionne les N premières espèces triées par score de confiance.",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "Utiliser les N premières espèces",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "Ajoute des colonnes supplémentaires à la sortie. \"Début (s)\", \"Fin (s)\", \"Nom scientifique\", \"Nom commun\", \"Confiance\", \"Fichier\" sont déjà inclus.",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "Colonnes supplémentaires pour CSV",
|
135
142
|
"multi-tab-batchsize-number-info": "Nombre d'échantillons à traiter en même temps.",
|
136
143
|
"multi-tab-batchsize-number-label": "Taille du lot",
|
137
144
|
"multi-tab-input-selection-button-label": "Sélection du répertoire d'entrée (récursif)",
|
birdnet_analyzer/lang/id.json
CHANGED
@@ -49,6 +49,10 @@
|
|
49
49
|
"embeddings-tab-select-input-directory-button-label": "Pilih direktori input (rekursif)",
|
50
50
|
"embeddings-tab-start-button-label": "Ekstrak embedding",
|
51
51
|
"embeddings-tab-title": "Embedding",
|
52
|
+
"embedding-file-output-accordion-label": "Pengaturan file output",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "Jika tidak dipilih, file output akan diabaikan.",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "Direktori file output",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "Pilih direktori file output",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "Akurasi mengukur persentase prediksi benar yang dibuat oleh model.",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "Kolom anotasi",
|
54
58
|
"eval-tab-annotation-selection-button-label": "Pilih direktori anotasi",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "Unggah file pemetaan",
|
114
118
|
"eval-tab-warning-error-reading-file": "Error saat membaca file",
|
115
119
|
"footer-help": "Untuk dokumen dan dukungan kunjungi",
|
120
|
+
"footer-support": "Dukung Pekerjaan Kami",
|
116
121
|
"inference-settings-accordion-label": "Pengaturan inferensi",
|
117
122
|
"inference-settings-audio-speed-slider-info": "Nilai negatif memperlambat, nilai positif mempercepat. Perhatikan bahwa modifikasi kecepatan audio juga harus digunakan selama pelatihan agar efektif di sini.",
|
118
123
|
"inference-settings-audio-speed-slider-label": "Modifikasi kecepatan audio",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "Top N spesies",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "Memilih N spesies teratas yang diurutkan berdasarkan skor kepercayaan.",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "Gunakan top N spesies",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "Menambahkan kolom tambahan ke output. \"Mulai (d)\", \"Akhir (d)\", \"Nama ilmiah\", \"Nama umum\", \"Keyakinan\", \"Berkas\" sudah termasuk.",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "Kolom tambahan untuk CSV",
|
135
142
|
"multi-tab-batchsize-number-info": "Jumlah sampel yang diproses sekaligus.",
|
136
143
|
"multi-tab-batchsize-number-label": "Ukuran batch",
|
137
144
|
"multi-tab-input-selection-button-label": "Pilih direktori input (rekursif)",
|
birdnet_analyzer/lang/pt-br.json
CHANGED
@@ -49,6 +49,10 @@
|
|
49
49
|
"embeddings-tab-select-input-directory-button-label": "Selecionar diretório de entrada (recursivo)",
|
50
50
|
"embeddings-tab-start-button-label": "Extrair embeddings",
|
51
51
|
"embeddings-tab-title": "Embeddings",
|
52
|
+
"embedding-file-output-accordion-label": "Configurações de saída de arquivo",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "Se não selecionado, a saída de arquivo será omitida.",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "Diretório de saída de arquivo",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "Selecionar diretório de saída de arquivo",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "A precisão mede a porcentagem de previsões corretas feitas pelo modelo.",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "Colunas de anotação",
|
54
58
|
"eval-tab-annotation-selection-button-label": "Selecionar diretório de anotações",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "Carregar arquivo de mapeamento",
|
114
118
|
"eval-tab-warning-error-reading-file": "Erro ao ler arquivo",
|
115
119
|
"footer-help": "Para documentos e suporte visite",
|
120
|
+
"footer-support": "Apoie nosso trabalho",
|
116
121
|
"inference-settings-accordion-label": "Configurações de inferência",
|
117
122
|
"inference-settings-audio-speed-slider-info": "Valores negativos desaceleram, valores positivos aceleram. Observe que a modificação da velocidade do áudio também deve ser usada durante o treinamento para ser eficaz aqui.",
|
118
123
|
"inference-settings-audio-speed-slider-label": "Modificação da velocidade do áudio",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "Top N espécies",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "Seleciona as N espécies principais classificadas por pontuação de confiança.",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "Usar as N espécies principais",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "Adiciona colunas adicionais à saída. \"Início (s)\", \"Fim (s)\", \"Nome científico\", \"Nome comum\", \"Confiança\", \"Arquivo\" já estão incluídos.",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "Colunas adicionais para CSV",
|
135
142
|
"multi-tab-batchsize-number-info": "Número de amostras a serem processadas ao mesmo tempo.",
|
136
143
|
"multi-tab-batchsize-number-label": "Tamanho do lote (Batch size)",
|
137
144
|
"multi-tab-input-selection-button-label": "Selecione o diretório de entrada (recursivo)",
|
birdnet_analyzer/lang/ru.json
CHANGED
@@ -3,52 +3,56 @@
|
|
3
3
|
"analyze-locale-dropdown-label": "Локация",
|
4
4
|
"analyze-start-button-label": "Анализировать",
|
5
5
|
"embedding-settings-accordion-label": "Настройки",
|
6
|
-
"embedding-settings-audio-speed-slider-info": "Отрицательные значения замедляют, положительные
|
6
|
+
"embedding-settings-audio-speed-slider-info": "Отрицательные значения замедляют, положительные ускоряют. Изменение скорости аудио будет сохранено в базе данных.",
|
7
7
|
"embedding-settings-audio-speed-slider-label": "Изменение скорости аудио",
|
8
|
-
"embedding-settings-batchsize-number-info": "Количество
|
8
|
+
"embedding-settings-batchsize-number-info": "Количество выборок, обрабатываемых одновременно.",
|
9
9
|
"embedding-settings-batchsize-number-label": "Размер пакета",
|
10
|
-
"embedding-settings-fmax-number-info": "Обратите внимание, что
|
10
|
+
"embedding-settings-fmax-number-info": "Обратите внимание, что здесь используемые частоты должны совпадать с частотами при поиске по embeddings.",
|
11
11
|
"embedding-settings-fmax-number-label": "Максимальная частота полосы пропускания (Гц)",
|
12
|
-
"embedding-settings-fmin-number-info": "Обратите внимание, что
|
12
|
+
"embedding-settings-fmin-number-info": "Обратите внимание, что здесь используемые частоты должны совпадать с частотами при поиске по embeddings.",
|
13
13
|
"embedding-settings-fmin-number-label": "Минимальная частота полосы пропускания (Гц)",
|
14
|
-
"embedding-settings-overlap-slider-info": "Настройте перекрытие между
|
15
|
-
"embedding-settings-overlap-slider-label": "Перекрытие (
|
16
|
-
"embedding-settings-threads-number-info": "Количество потоков
|
14
|
+
"embedding-settings-overlap-slider-info": "Настройте перекрытие между выборками для извлечения embeddings.",
|
15
|
+
"embedding-settings-overlap-slider-label": "Перекрытие (с)",
|
16
|
+
"embedding-settings-threads-number-info": "Количество используемых потоков CPU.",
|
17
17
|
"embedding-settings-threads-number-label": "Потоки",
|
18
18
|
"embeddings-db-already-exists-info": "База данных уже существует, используйте параметры скорости звука и полосового фильтра из настроек базы данных.",
|
19
|
-
"embeddings-db-dir-validation-message": "Пожалуйста, выберите
|
19
|
+
"embeddings-db-dir-validation-message": "Пожалуйста, выберите папку для базы данных",
|
20
20
|
"embeddings-db-name-validation-message": "Пожалуйста, укажите имя для базы данных",
|
21
|
-
"embeddings-extract-tab-title": "
|
22
|
-
"embeddings-input-dir-validation-message": "Пожалуйста, выберите
|
23
|
-
"embeddings-search-crop-mode-radio-info": "Настройте способ обрезки
|
24
|
-
"embeddings-search-crop-overlap-number-info": "Настройте перекрытие
|
25
|
-
"embeddings-search-crop-overlap-number-label": "Перекрытие сегментов
|
21
|
+
"embeddings-extract-tab-title": "Извлечение",
|
22
|
+
"embeddings-input-dir-validation-message": "Пожалуйста, выберите входную папку",
|
23
|
+
"embeddings-search-crop-mode-radio-info": "Настройте способ обрезки выборки-запроса, если она длиннее допустимого входа модели.",
|
24
|
+
"embeddings-search-crop-overlap-number-info": "Настройте перекрытие выборки-запроса.",
|
25
|
+
"embeddings-search-crop-overlap-number-label": "Перекрытие сегментов (с)",
|
26
26
|
"embeddings-search-db-audio-speed-number-label": "Коэффициент скорости аудио",
|
27
|
-
"embeddings-search-db-bandpass-frequencies-label": "
|
28
|
-
"embeddings-search-db-embedding-count-number-label": "
|
27
|
+
"embeddings-search-db-bandpass-frequencies-label": "Полоса пропускания",
|
28
|
+
"embeddings-search-db-embedding-count-number-label": "Количество embeddings в базе",
|
29
29
|
"embeddings-search-db-selection-button-label": "Выбрать базу данных",
|
30
30
|
"embeddings-search-db-selection-error": "Не удалось найти базу данных, убедитесь, что выбран каталог, содержащий базу данных.",
|
31
31
|
"embeddings-search-db-selection-textbox-label": "База данных",
|
32
32
|
"embeddings-search-db-validation-message": "Пожалуйста, выберите базу данных для поиска",
|
33
|
-
"embeddings-search-export-button-label": "
|
34
|
-
"embeddings-search-export-finish-info": "Экспорт выбранных
|
35
|
-
"embeddings-search-export-no-results-info": "Нет
|
36
|
-
"embeddings-search-max-samples-number-label": "Максимальное количество
|
37
|
-
"embeddings-search-max-samples-validation-message": "Пожалуйста, укажите максимальное количество
|
38
|
-
"embeddings-search-query-sample-textbox-label": "
|
39
|
-
"embeddings-search-query-validation-message": "Пожалуйста, выберите
|
33
|
+
"embeddings-search-export-button-label": "Экспортировать выбранные выборки",
|
34
|
+
"embeddings-search-export-finish-info": "Экспорт выбранных выборок завершён. Сохранено в:",
|
35
|
+
"embeddings-search-export-no-results-info": "Нет выборок для экспорта",
|
36
|
+
"embeddings-search-max-samples-number-label": "Максимальное количество выборок для поиска",
|
37
|
+
"embeddings-search-max-samples-validation-message": "Пожалуйста, укажите максимальное количество выборок для поиска",
|
38
|
+
"embeddings-search-query-sample-textbox-label": "Выборка-запрос",
|
39
|
+
"embeddings-search-query-validation-message": "Пожалуйста, выберите выборку-запрос",
|
40
40
|
"embeddings-search-score-fn-select-label": "Функция оценки",
|
41
|
-
"embeddings-search-select-query-button-label": "Выбрать
|
41
|
+
"embeddings-search-select-query-button-label": "Выбрать выборку-запрос",
|
42
42
|
"embeddings-search-start-button-label": "Начать поиск",
|
43
43
|
"embeddings-search-tab-title": "Поиск",
|
44
44
|
"embeddings-tab-dataset-info": "Укажите имя набора данных",
|
45
45
|
"embeddings-tab-dataset-label": "Набор данных",
|
46
46
|
"embeddings-tab-db-info": "Имя базы данных",
|
47
|
-
"embeddings-tab-finish-info": "Извлечение
|
48
|
-
"embeddings-tab-select-db-directory-button-label": "Выбрать
|
49
|
-
"embeddings-tab-select-input-directory-button-label": "Выбрать
|
47
|
+
"embeddings-tab-finish-info": "Извлечение embeddings завершено. Сохранено в:",
|
48
|
+
"embeddings-tab-select-db-directory-button-label": "Выбрать папку базы данных",
|
49
|
+
"embeddings-tab-select-input-directory-button-label": "Выбрать входную папку (рекурсивно)",
|
50
50
|
"embeddings-tab-start-button-label": "Извлечь эмбеддинги",
|
51
51
|
"embeddings-tab-title": "Эмбеддинги",
|
52
|
+
"embedding-file-output-accordion-label": "Настройки вывода файлов",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "Если не выбрано, вывод файлов будет пропущен.",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "Каталог вывода файлов",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "Выбрать каталог вывода файлов",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "Точность измеряет процент правильных прогнозов, сделанных моделью.",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "Колонки аннотаций",
|
54
58
|
"eval-tab-annotation-selection-button-label": "Выбрать каталог аннотаций",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "Загрузить файл сопоставления",
|
114
118
|
"eval-tab-warning-error-reading-file": "Ошибка чтения файла",
|
115
119
|
"footer-help": "Для получения документации и поддержки посетите",
|
120
|
+
"footer-support": "Поддержите нашу работу",
|
116
121
|
"inference-settings-accordion-label": "Настройки вывода",
|
117
122
|
"inference-settings-audio-speed-slider-info": "Отрицательные значения замедляют, положительные значения ускоряют. Обратите внимание, что изменение скорости аудио также должно использоваться во время обучения, чтобы быть эффективным здесь.",
|
118
123
|
"inference-settings-audio-speed-slider-label": "Изменение скорости аудио",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "Топ N видов",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "Выбирает N лучших видов, отсортированных по степени достоверности.",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "Использовать N лучших видов",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "Добавляет дополнительные столбцы в вывод. \"Начало (с)\", \"Конец (с)\", \"Научное название\", \"Общее название\", \"Уверенность\", \"Файл\" уже включены.",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "Дополнительные столбцы для CSV",
|
135
142
|
"multi-tab-batchsize-number-info": "Количество образцов для одновременной обработки.",
|
136
143
|
"multi-tab-batchsize-number-label": "Размер пакета",
|
137
144
|
"multi-tab-input-selection-button-label": "Выберите входной каталог (рекурсивный)",
|
@@ -212,15 +219,15 @@
|
|
212
219
|
"settings-tab-theme-dropdown-light-option": "Светлая",
|
213
220
|
"settings-tab-title": "Настройки",
|
214
221
|
"single-audio-label": "файл",
|
215
|
-
"single-tab-analyze-file-error": "
|
222
|
+
"single-tab-analyze-file-error": "Невозможно проанализировать файл",
|
216
223
|
"single-tab-download-button-label": "Результаты загрузки",
|
217
|
-
"single-tab-generate-spectrogram-error": "
|
224
|
+
"single-tab-generate-spectrogram-error": "Невозможно создать спектрограмму",
|
218
225
|
"single-tab-output-header-common-name": "Общее название",
|
219
226
|
"single-tab-output-header-confidence": "Достоверность",
|
220
227
|
"single-tab-output-header-end": "Конец (сек)",
|
221
228
|
"single-tab-output-header-sci-name": "Научное название",
|
222
229
|
"single-tab-output-header-start": "Старт (сек)",
|
223
|
-
"single-tab-spectrogram-checkbox-info": "
|
230
|
+
"single-tab-spectrogram-checkbox-info": "Потенциально медленная операция для длинных аудиофайлов.",
|
224
231
|
"single-tab-spectrogram-checkbox-label": "Генерирование спектрограммы",
|
225
232
|
"single-tab-title": "Одиночный анализ",
|
226
233
|
"species-list-accordion-label": "Выбор вида",
|
birdnet_analyzer/lang/se.json
CHANGED
@@ -49,6 +49,10 @@
|
|
49
49
|
"embeddings-tab-select-input-directory-button-label": "Välj indatakatalog (rekursiv)",
|
50
50
|
"embeddings-tab-start-button-label": "Extrahera inbäddningar",
|
51
51
|
"embeddings-tab-title": "Inbäddningar",
|
52
|
+
"embedding-file-output-accordion-label": "Filutdata-inställningar",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "Om inte vald, kommer filutdata att utelämnas.",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "Filutdatakatalog",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "Välj filutdatakatalog",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "Noggrannhet mäter procentandelen korrekta förutsägelser som modellen gör.",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "Anteckningskolumner",
|
54
58
|
"eval-tab-annotation-selection-button-label": "Välj anteckningskatalog",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "Ladda upp mappningsfil",
|
114
118
|
"eval-tab-warning-error-reading-file": "Fel vid läsning av fil",
|
115
119
|
"footer-help": "För dokumentation och support besök",
|
120
|
+
"footer-support": "Stöd vårt arbete",
|
116
121
|
"inference-settings-accordion-label": "Inferensinställningar",
|
117
122
|
"inference-settings-audio-speed-slider-info": "Negativa värden saktar ner, positiva värden ökar hastigheten. Observera att ljudhastighetsmodifiering också bör användas under träning för att vara effektiv här.",
|
118
123
|
"inference-settings-audio-speed-slider-label": "Ljudhastighetsmodifiering",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "De N bästa arterna",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "Väljer de N bästa arterna sorterade efter konfidensvärde.",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "Använd de N bästa arterna",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "Lägger till ytterligare kolumner i utdata. \"Start (s)\", \"Slut (s)\", \"Vetenskapligt namn\", \"Allmänt namn\", \"Förtroende\", \"Fil\" ingår redan.",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "Ytterligare kolumner för CSV",
|
135
142
|
"multi-tab-batchsize-number-info": "Antal prover att bearbeta samtidigt.",
|
136
143
|
"multi-tab-batchsize-number-label": "Batchstorlek",
|
137
144
|
"multi-tab-input-selection-button-label": "Välj indatakatalog (rekursiv)",
|
birdnet_analyzer/lang/tlh.json
CHANGED
@@ -49,6 +49,10 @@
|
|
49
49
|
"embeddings-tab-select-input-directory-button-label": "wav Daq yIwIv (rap)",
|
50
50
|
"embeddings-tab-start-button-label": "qelmey yInob",
|
51
51
|
"embeddings-tab-title": "qelmey",
|
52
|
+
"embedding-file-output-accordion-label": "wavmey chu' chut mutlh",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "wIvHa'chugh, wavmey chu'Ha'.",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "wavmey chu' Daq",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "wavmey chu' Daq yIwIv",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "qel patlh vIt.",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "QInmey",
|
54
58
|
"eval-tab-annotation-selection-button-label": "QIn Daq yIwIv",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "map wav yIchel",
|
114
118
|
"eval-tab-warning-error-reading-file": "wav qelHa'",
|
115
119
|
"footer-help": "qaSmo' chutmey chu' yIchoH 'e' QaH",
|
120
|
+
"footer-support": "Qapma' yIQan",
|
116
121
|
"inference-settings-accordion-label": "poj chut mutlh",
|
117
122
|
"inference-settings-audio-speed-slider-info": "mI' motlhHa' veb, mI' motlh veb. yIvoqQo' Qo' veb lo' 'e' DaHutlh 'ej Qapla' 'e' Datu' 'e' yIlo'.",
|
118
123
|
"inference-settings-audio-speed-slider-label": "Qo' veb",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "N top Segh",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "povmeH mI' lISbogh N top Segh wIv.",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "N top Segh yIlo'",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "De' chu' mIwDaq chel. \"tagh (s)\", \"Dor (s)\", \"Sarmaq pong\", \"pop pong\", \"voQSIp\", \"chovnatlh\" already tu'.",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "CSV mey chu'",
|
135
142
|
"multi-tab-batchsize-number-info": "wavmey chu'law'.",
|
136
143
|
"multi-tab-batchsize-number-label": "batch qechmey",
|
137
144
|
"multi-tab-input-selection-button-label": "wav Segh lo'",
|
birdnet_analyzer/lang/zh_TW.json
CHANGED
@@ -49,6 +49,10 @@
|
|
49
49
|
"embeddings-tab-select-input-directory-button-label": "選擇輸入目錄(遞歸)",
|
50
50
|
"embeddings-tab-start-button-label": "提取嵌入",
|
51
51
|
"embeddings-tab-title": "嵌入",
|
52
|
+
"embedding-file-output-accordion-label": "檔案輸出設定",
|
53
|
+
"embeddings-tab-file-output-directory-textbox-placeholder": "若無選擇,將不進行檔案輸出。",
|
54
|
+
"embeddings-tab-file-output-directory-textbox-label": "檔案輸出資料夾",
|
55
|
+
"embeddings-select-file-output-directory-button-label": "選擇檔案輸出資料夾",
|
52
56
|
"eval-tab-accuracy-checkbox-info": "準確度測量模型做出正確預測的百分比。",
|
53
57
|
"eval-tab-annotation-col-accordion-label": "註釋欄位",
|
54
58
|
"eval-tab-annotation-selection-button-label": "選擇註釋目錄",
|
@@ -113,6 +117,7 @@
|
|
113
117
|
"eval-tab-upload-mapping-file-label": "上傳映射文件",
|
114
118
|
"eval-tab-warning-error-reading-file": "讀取文件出錯",
|
115
119
|
"footer-help": "參考檔案以及尋求協助",
|
120
|
+
"footer-support": "支持我們的工作",
|
116
121
|
"inference-settings-accordion-label": "參數設定",
|
117
122
|
"inference-settings-audio-speed-slider-info": "負值減慢,正值加快。請注意,音頻速度修改也應在訓練期間使用,以便在此處有效。",
|
118
123
|
"inference-settings-audio-speed-slider-label": "音頻速度修改",
|
@@ -132,6 +137,8 @@
|
|
132
137
|
"inference-settings-top-n-number-label": "前 N 個物種",
|
133
138
|
"inference-settings-use-top-n-checkbox-info": "挑選依信賴分數排序的前 N 個物種",
|
134
139
|
"inference-settings-use-top-n-checkbox-label": "使用前 N 個物種",
|
140
|
+
"multi-tab-additional-columns-checkbox-info": "將額外欄位加入輸出中。「開始(秒)」、「結束(秒)」、「學名」、「常見名稱」、「信心度」、「檔案」已包含在內。",
|
141
|
+
"multi-tab-additional-columns-checkbox-label": "CSV 額外欄位",
|
135
142
|
"multi-tab-batchsize-number-info": "在同一時間分析的音檔數量",
|
136
143
|
"multi-tab-batchsize-number-label": "批次量",
|
137
144
|
"multi-tab-input-selection-button-label": "選擇音檔資料夾(遞迴)",
|
birdnet_analyzer/model.py
CHANGED
@@ -32,6 +32,7 @@ if not cfg.MODEL_PATH.endswith(".tflite"):
|
|
32
32
|
INTERPRETER: tflite.Interpreter = None
|
33
33
|
C_INTERPRETER: tflite.Interpreter = None
|
34
34
|
M_INTERPRETER: tflite.Interpreter = None
|
35
|
+
OUTPUT_DETAILS = None
|
35
36
|
PBMODEL = None
|
36
37
|
C_PBMODEL = None
|
37
38
|
EMPTY_CLASS_EXCEPTION_REF = None
|
@@ -141,8 +142,8 @@ def mixup(x, y, augmentation_ratio=0.25, alpha=0.2):
|
|
141
142
|
# Mark the sample as already mixed up
|
142
143
|
mixed_up_indices.append(index)
|
143
144
|
|
144
|
-
|
145
|
-
|
145
|
+
del mixed_x
|
146
|
+
del mixed_y
|
146
147
|
|
147
148
|
return x, y
|
148
149
|
|
@@ -296,7 +297,7 @@ def random_multilabel_split(x, y, val_ratio=0.2):
|
|
296
297
|
return x_train, y_train, x_val, y_val
|
297
298
|
|
298
299
|
|
299
|
-
def upsample_core(x: np.ndarray, y: np.ndarray, min_samples: int, apply
|
300
|
+
def upsample_core(x: np.ndarray, y: np.ndarray, min_samples: int, apply, size=2):
|
300
301
|
"""
|
301
302
|
Upsamples the minority class in the dataset using the specified apply function.
|
302
303
|
Parameters:
|
@@ -509,26 +510,28 @@ def load_model(class_output=True):
|
|
509
510
|
global INTERPRETER
|
510
511
|
global INPUT_LAYER_INDEX
|
511
512
|
global OUTPUT_LAYER_INDEX
|
513
|
+
global OUTPUT_DETAILS
|
512
514
|
|
513
515
|
# Do we have to load the tflite or protobuf model?
|
514
516
|
if cfg.MODEL_PATH.endswith(".tflite"):
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
517
|
+
if not INTERPRETER:
|
518
|
+
# Load TFLite model and allocate tensors.
|
519
|
+
INTERPRETER = tflite.Interpreter(
|
520
|
+
model_path=os.path.join(SCRIPT_DIR, cfg.MODEL_PATH), num_threads=cfg.TFLITE_THREADS
|
521
|
+
)
|
522
|
+
INTERPRETER.allocate_tensors()
|
520
523
|
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
+
# Get input and output tensors.
|
525
|
+
input_details = INTERPRETER.get_input_details()
|
526
|
+
OUTPUT_DETAILS = INTERPRETER.get_output_details()
|
524
527
|
|
525
|
-
|
526
|
-
|
528
|
+
# Get input tensor index
|
529
|
+
INPUT_LAYER_INDEX = input_details[0]["index"]
|
527
530
|
|
528
531
|
# Get classification output or feature embeddings
|
529
|
-
OUTPUT_LAYER_INDEX =
|
532
|
+
OUTPUT_LAYER_INDEX = OUTPUT_DETAILS[0]["index"] if class_output else OUTPUT_DETAILS[0]["index"] - 1
|
530
533
|
|
531
|
-
|
534
|
+
elif not PBMODEL:
|
532
535
|
# Load protobuf model
|
533
536
|
# Note: This will throw a bunch of warnings about custom gradients
|
534
537
|
# which we will ignore until TF lets us block them
|
@@ -1141,9 +1144,7 @@ def predict(sample):
|
|
1141
1144
|
if cfg.CUSTOM_CLASSIFIER is not None:
|
1142
1145
|
return predict_with_custom_classifier(sample)
|
1143
1146
|
|
1144
|
-
|
1145
|
-
if INTERPRETER is None and PBMODEL is None:
|
1146
|
-
load_model()
|
1147
|
+
load_model()
|
1147
1148
|
|
1148
1149
|
if PBMODEL is None:
|
1149
1150
|
# Reshape input tensor
|
@@ -1197,9 +1198,8 @@ def embeddings(sample):
|
|
1197
1198
|
Returns:
|
1198
1199
|
The embeddings.
|
1199
1200
|
"""
|
1200
|
-
|
1201
|
-
|
1202
|
-
load_model(False)
|
1201
|
+
|
1202
|
+
load_model(False)
|
1203
1203
|
|
1204
1204
|
# Reshape input tensor
|
1205
1205
|
INTERPRETER.resize_tensor_input(INPUT_LAYER_INDEX, [len(sample), *sample[0].shape])
|
birdnet_analyzer/search/core.py
CHANGED
@@ -68,7 +68,7 @@ def search(
|
|
68
68
|
offset = embedding_source.offsets[0] * audio_speed
|
69
69
|
duration = cfg.SIG_LENGTH * audio_speed
|
70
70
|
sig, rate = audio.open_audio_file(file, offset=offset, duration=duration, sample_rate=None)
|
71
|
-
result_path = os.path.join(output, f"{
|
71
|
+
result_path = os.path.join(output, f"{r.sort_score:.5f}_{filebasename}_{offset}_{offset + duration}.wav")
|
72
72
|
audio.save_signal(sig, result_path, rate)
|
73
73
|
|
74
74
|
|
birdnet_analyzer/utils.py
CHANGED
@@ -12,7 +12,7 @@ SCRIPT_DIR = os.path.abspath(os.path.dirname(__file__))
|
|
12
12
|
FROZEN = getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS")
|
13
13
|
|
14
14
|
|
15
|
-
def runtime_error_handler(f
|
15
|
+
def runtime_error_handler(f):
|
16
16
|
"""Decorator to catch runtime errors and write them to the error log.
|
17
17
|
|
18
18
|
Args:
|
@@ -56,10 +56,9 @@ def spectrogram_from_file(path, fig_num=None, fig_size=None, offset=0, duration=
|
|
56
56
|
"""
|
57
57
|
from birdnet_analyzer import audio
|
58
58
|
|
59
|
-
# s, sr = librosa.load(path, offset=offset, duration=duration)
|
60
59
|
s, sr = audio.open_audio_file(path, offset=offset, duration=duration, fmin=fmin, fmax=fmax, speed=speed)
|
61
60
|
|
62
|
-
return spectrogram_from_audio(s, sr, fig_num, fig_size)
|
61
|
+
return spectrogram_from_audio(s, sr, fig_num=fig_num, fig_size=fig_size)
|
63
62
|
|
64
63
|
|
65
64
|
def spectrogram_from_audio(s, sr, fig_num=None, fig_size=None):
|
@@ -149,7 +148,7 @@ def collect_all_files(path: str, filetypes: list[str], pattern: str = ""):
|
|
149
148
|
return sorted(files)
|
150
149
|
|
151
150
|
|
152
|
-
def read_lines(path: str):
|
151
|
+
def read_lines(path: str | Path):
|
153
152
|
"""Reads the lines into a list.
|
154
153
|
|
155
154
|
Opens the file and reads its contents into a list.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: birdnet_analyzer
|
3
|
-
Version: 2.0
|
3
|
+
Version: 2.1.0
|
4
4
|
Summary: BirdNET analyzer for scientific audio data processing and bird classification.
|
5
5
|
Author: Stefan Kahl
|
6
6
|
Maintainer: Josef Haupt, Max Mauermann
|
@@ -25,6 +25,8 @@ Requires-Dist: resampy
|
|
25
25
|
Requires-Dist: tensorflow==2.15.1
|
26
26
|
Requires-Dist: scikit-learn==1.6.1
|
27
27
|
Requires-Dist: tqdm
|
28
|
+
Requires-Dist: pandas
|
29
|
+
Requires-Dist: matplotlib
|
28
30
|
Provides-Extra: train
|
29
31
|
Requires-Dist: keras-tuner; extra == "train"
|
30
32
|
Provides-Extra: server
|
@@ -32,21 +34,25 @@ Requires-Dist: bottle; extra == "server"
|
|
32
34
|
Requires-Dist: requests; extra == "server"
|
33
35
|
Provides-Extra: gui
|
34
36
|
Requires-Dist: birdnet-analyzer[embeddings,train]; extra == "gui"
|
35
|
-
Requires-Dist: gradio==5.
|
37
|
+
Requires-Dist: gradio==5.32.1; extra == "gui"
|
36
38
|
Requires-Dist: pywebview; extra == "gui"
|
37
|
-
Requires-Dist: matplotlib; extra == "gui"
|
38
39
|
Requires-Dist: plotly[express]; extra == "gui"
|
39
|
-
Requires-Dist: seaborn; extra == "gui"
|
40
40
|
Requires-Dist: pywin32; platform_system == "Windows" and extra == "gui"
|
41
|
+
Requires-Dist: qtpy; platform_system == "Linux" and extra == "gui"
|
42
|
+
Requires-Dist: PyGObject; platform_system == "Linux" and extra == "gui"
|
41
43
|
Provides-Extra: embeddings
|
42
44
|
Requires-Dist: perch-hoplite; extra == "embeddings"
|
43
45
|
Provides-Extra: all
|
44
46
|
Requires-Dist: birdnet-analyzer[gui,server]; extra == "all"
|
47
|
+
Provides-Extra: docs
|
48
|
+
Requires-Dist: sphinx; extra == "docs"
|
49
|
+
Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
50
|
+
Requires-Dist: sphinx-argparse; extra == "docs"
|
51
|
+
Provides-Extra: tests
|
52
|
+
Requires-Dist: pytest; extra == "tests"
|
45
53
|
Provides-Extra: dev
|
46
|
-
Requires-Dist:
|
47
|
-
Requires-Dist:
|
48
|
-
Requires-Dist: sphinx-argparse; extra == "dev"
|
49
|
-
Requires-Dist: pytest; extra == "dev"
|
54
|
+
Requires-Dist: birdnet_analyzer[tests]; extra == "dev"
|
55
|
+
Requires-Dist: birdnet_analyzer[docs]; extra == "dev"
|
50
56
|
Requires-Dist: ruff; extra == "dev"
|
51
57
|
Dynamic: license-file
|
52
58
|
|
@@ -72,9 +78,11 @@ Dynamic: license-file
|
|
72
78
|
[](https://github.com/birdnet-team/BirdNET-Analyzer/releases/latest)
|
73
79
|
[](https://pypi.org/project/birdnet-analyzer/)
|
74
80
|
|
81
|
+
[](https://give.birds.cornell.edu/page/132162/donate/1)
|
82
|
+
|
75
83
|
</div>
|
76
84
|
|
77
|
-
This repo contains BirdNET
|
85
|
+
This repo contains BirdNET scripts for processing large amounts of audio data or single audio files.
|
78
86
|
This is the most advanced version of BirdNET for acoustic analyses and we will keep this repository up-to-date with new models and improved interfaces to enable scientists with no CS background to run the analysis.
|
79
87
|
|
80
88
|
Feel free to use BirdNET for your acoustic analyses and research.
|
@@ -99,6 +107,7 @@ You can access documentation for this project [here](https://birdnet-team.github
|
|
99
107
|
## Download
|
100
108
|
|
101
109
|
You can download installers for Windows and macOS from the [releases page](https://github.com/birdnet-team/BirdNET-Analyzer/releases/latest).
|
110
|
+
Models can be found on [Zenodo](https://zenodo.org/records/15050749).
|
102
111
|
|
103
112
|
## About
|
104
113
|
|