foley.sources.fsd50k#
FSD50K — the labeled, commercial-safe backbone corpus (Ring 1).
FSD50K (report 11 §1.1, Zenodo 4060432) is ~51 k Freesound clips with AudioSet labels. Its compilation is CC-BY-4.0, but **each clip carries its own Freesound license** (CC0 / CC-BY / CC-BY-NC / Sampling+), so licensing is resolved per-clip from the shipped metadata, not stamped uniformly. The bootstrap Ring-1 policy then drops the non-commercial slice (CC-BY-NC / Sampling+) via the fail-closed commercial filter, keeping the ~85 % CC0/CC-BY backbone.
Per-clip metadata lives in the FSD50K *_clips_info_FSD50K.json files
({fname: {title, description, tags, license, uploader, ...}}) where license
is a Creative-Commons URL. This adapter reads those, maps the URL to a foley
license_id, and fails closed (license_id='unknown', rights_verified=
False) for any clip whose license is missing or unrecognized — such clips are
then dropped by foley.keep(). The bytes are a Zenodo bulk download, so
they are cacheable (cache_bytes_ok=True, stored by-value) — do NOT copy #5’s
Freesound-API cache_bytes_ok=False override.
Note
The exact metadata filename/columns are per the published FSD50K layout; if a future release moves them, this adapter degrades to fail-closed rather than guessing. Verify against the real download when wiring the fetch (#4 ships the local-dir ingestion; auto-download is a fast-follow).
Module Attributes
The FSD50K Ring-1 adapter. |
Classes
Ring-1 FSD50K adapter with per-clip Freesound license resolution. |
- foley.sources.fsd50k.FSD50K = <foley.sources.fsd50k.Fsd50kCorpus object>#
The FSD50K Ring-1 adapter.
- class foley.sources.fsd50k.Fsd50kCorpus[source]#
Bases:
objectRing-1 FSD50K adapter with per-clip Freesound license resolution.
- iter_clips(root)[source]#
Yield a clip per audio file, carrying its per-clip license metadata.
Each clip’s
metagets{license_id, rights_verified, creator_name, source_url}resolved from the FSD50K clips-info JSON (fail-closed when a clip is absent from the metadata).