dataset
birdnet_stm32.data.dataset
¶
Dataset loading, file path discovery, and class balancing utilities.
Functions for walking a class-structured audio directory, collecting file paths, and performing minority-class upsampling.
get_classes_with_most_samples(directory, n_classes=25, include_noise=False, exts=SUPPORTED_AUDIO_EXTS)
¶
Collect the most frequent class labels from a dataset root.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
directory
|
str
|
Root dataset directory (class-subfolders). |
required |
n_classes
|
int
|
Number of top classes to return (upper bound). |
25
|
include_noise
|
bool
|
If False, exclude noise-like labels. |
False
|
exts
|
tuple
|
Accepted audio file extensions (case-insensitive). |
SUPPORTED_AUDIO_EXTS
|
Returns:
| Type | Description |
|---|---|
list[str]
|
Up to n_classes class names, sorted by descending sample count. |
Source code in birdnet_stm32/data/dataset.py
load_file_paths_from_directory(directory, classes=None, max_samples=None, exts=SUPPORTED_AUDIO_EXTS)
¶
Recursively gather audio files from a class-structured directory.
Expected layout::
root/
class_a/*.(wav|mp3|flac|ogg|m4a)
class_b/*.(wav|mp3|flac|ogg|m4a)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
directory
|
str
|
Dataset root directory. |
required |
classes
|
list[str] | None
|
If given, restrict to these class names only. |
None
|
max_samples
|
int | None
|
Cap the number of files per class (uniform random). |
None
|
exts
|
tuple
|
Accepted audio file extensions (case-insensitive). |
SUPPORTED_AUDIO_EXTS
|
Returns:
| Type | Description |
|---|---|
list[str]
|
Tuple of (shuffled file paths, sorted class names). Noise-like names |
list[str]
|
are excluded from the class list but their files are still included. |
Source code in birdnet_stm32/data/dataset.py
upsample_minority_classes(file_paths, classes, ratio=0.25)
¶
Upsample minority classes to approach the largest class size via repetition.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file_paths
|
list[str]
|
List of audio file paths. |
required |
classes
|
list[str]
|
Ordered class names. |
required |
ratio
|
float
|
Target fraction of the largest class size (0 < ratio <= 1). |
0.25
|
Returns:
| Type | Description |
|---|---|
list[str]
|
Augmented list of file paths with upsampled minority classes. |