Commit 9134398c by PLN (Algolia)

fix(resolve): a folder is loose — kits read as kits, not a 'dominant' verdict

PLN: each SAMPLE is classified individually; a folder is a loose grouping, often a
heterogeneous KIT. Added kind=single|dominant|kit; for kits folder_agrees=None and
the run shows KIT [fam+fam] not a misleading dominant+flag. Folder-name flag now fires
only for folders claiming ~one family (cpluck->synth still flagged). Regenerated palette.
parent 01b88ed5
......@@ -15,6 +15,7 @@
"by_family": {
"kick": 6
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -67,6 +68,7 @@
"by_family": {
"hat": 6
},
"kind": "single",
"dominant": "hat",
"conf": 1.0,
"homogeneous": true,
......@@ -119,6 +121,7 @@
"by_family": {
"perc": 5
},
"kind": "single",
"dominant": "perc",
"conf": 1.0,
"homogeneous": true,
......@@ -165,6 +168,7 @@
"by_family": {
"perc": 5
},
"kind": "single",
"dominant": "perc",
"conf": 1.0,
"homogeneous": true,
......@@ -211,6 +215,7 @@
"by_family": {
"kick": 1
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -234,6 +239,7 @@
"synth": 4,
"fx": 2
},
"kind": "dominant",
"dominant": "synth",
"conf": 0.667,
"homogeneous": true,
......@@ -288,13 +294,14 @@
"vox": 2,
"bass": 2
},
"kind": "kit",
"dominant": "kick",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -342,13 +349,14 @@
"pad": 2,
"bass": 1
},
"kind": "kit",
"dominant": "synth",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": "synth",
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -394,6 +402,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -446,6 +455,7 @@
"by_family": {
"keys": 5
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -492,6 +502,7 @@
"by_family": {
"snare": 6
},
"kind": "single",
"dominant": "snare",
"conf": 1.0,
"homogeneous": true,
......@@ -544,6 +555,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -597,6 +609,7 @@
"fx": 4,
"bass": 1
},
"kind": "dominant",
"dominant": "fx",
"conf": 0.8,
"homogeneous": true,
......@@ -649,6 +662,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -701,6 +715,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -753,6 +768,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -805,6 +821,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -859,6 +876,7 @@
"kick": 1,
"hat": 1
},
"kind": "dominant",
"dominant": "vox",
"conf": 0.667,
"homogeneous": true,
......@@ -911,6 +929,7 @@
"by_family": {
"break": 2
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -939,6 +958,7 @@
"by_family": {
"break": 1
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -962,6 +982,7 @@
"bass": 5,
"pad": 1
},
"kind": "dominant",
"dominant": "bass",
"conf": 0.833,
"homogeneous": true,
......@@ -1015,6 +1036,7 @@
"fx": 2,
"perc": 1
},
"kind": "dominant",
"dominant": "fx",
"conf": 0.667,
"homogeneous": true,
......@@ -1049,6 +1071,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -1101,6 +1124,7 @@
"by_family": {
"kick": 5
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -1147,6 +1171,7 @@
"by_family": {
"bass": 4
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -1187,6 +1212,7 @@
"by_family": {
"keys": 5
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -1235,6 +1261,7 @@
"synth": 1,
"lead": 1
},
"kind": "dominant",
"dominant": "keys",
"conf": 0.667,
"homogeneous": true,
......@@ -1287,6 +1314,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -1342,13 +1370,14 @@
"synth": 1,
"lead": 1
},
"kind": "kit",
"dominant": "fx",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1394,6 +1423,7 @@
"by_family": {
"snare": 2
},
"kind": "single",
"dominant": "snare",
"conf": 1.0,
"homogeneous": true,
......@@ -1423,6 +1453,7 @@
"synth": 5,
"bass": 1
},
"kind": "dominant",
"dominant": "synth",
"conf": 0.833,
"homogeneous": true,
......@@ -1478,13 +1509,14 @@
"snare": 1,
"perc": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1532,13 +1564,14 @@
"vox": 2,
"lead": 1
},
"kind": "kit",
"dominant": "keys",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1588,13 +1621,14 @@
"lead": 1,
"kick": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1642,13 +1676,14 @@
"snare": 2,
"kick": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1696,13 +1731,14 @@
"hat": 1,
"kick": 1
},
"kind": "kit",
"dominant": "snare",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "filename",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1737,6 +1773,7 @@
"kick": 5,
"snare": 1
},
"kind": "dominant",
"dominant": "kick",
"conf": 0.833,
"homogeneous": true,
......@@ -1791,13 +1828,14 @@
"kick": 2,
"snare": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1843,6 +1881,7 @@
"by_family": {
"fx": 6
},
"kind": "single",
"dominant": "fx",
"conf": 1.0,
"homogeneous": true,
......@@ -1898,13 +1937,14 @@
"bass": 1,
"snare": 1
},
"kind": "kit",
"dominant": "fx",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -1952,13 +1992,14 @@
"perc": 2,
"snare": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -2006,13 +2047,14 @@
"snare": 2,
"kick": 2
},
"kind": "kit",
"dominant": "hat",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": "synth",
"folder_agrees": false,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -2058,6 +2100,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -2110,6 +2153,7 @@
"by_family": {
"break": 6
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -2162,6 +2206,7 @@
"by_family": {
"break": 6
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -2214,6 +2259,7 @@
"by_family": {
"break": 6
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -2271,13 +2317,14 @@
"fx": 1,
"perc": 1
},
"kind": "kit",
"dominant": "keys",
"conf": 0.167,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -2324,6 +2371,7 @@
"keys": 4,
"lead": 2
},
"kind": "dominant",
"dominant": "keys",
"conf": 0.667,
"homogeneous": true,
......@@ -2376,6 +2424,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -2428,6 +2477,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -2480,6 +2530,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -2532,6 +2583,7 @@
"by_family": {
"lead": 6
},
"kind": "single",
"dominant": "lead",
"conf": 1.0,
"homogeneous": true,
......@@ -2584,6 +2636,7 @@
"by_family": {
"fx": 6
},
"kind": "single",
"dominant": "fx",
"conf": 1.0,
"homogeneous": true,
......@@ -2636,6 +2689,7 @@
"by_family": {
"fx": 6
},
"kind": "single",
"dominant": "fx",
"conf": 1.0,
"homogeneous": true,
......@@ -2690,6 +2744,7 @@
"keys": 1,
"lead": 1
},
"kind": "dominant",
"dominant": "synth",
"conf": 0.667,
"homogeneous": true,
......@@ -2742,6 +2797,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -2797,13 +2853,14 @@
"lead": 1,
"keys": 1
},
"kind": "kit",
"dominant": "synth",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": "synth",
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -2852,13 +2909,14 @@
"fx": 1,
"keys": 1
},
"kind": "kit",
"dominant": "kick",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": "fx",
"folder_agrees": false,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -2906,13 +2964,14 @@
"hat": 2,
"snare": 1
},
"kind": "kit",
"dominant": "perc",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -2958,6 +3017,7 @@
"by_family": {
"snare": 1
},
"kind": "single",
"dominant": "snare",
"conf": 1.0,
"homogeneous": true,
......@@ -2980,6 +3040,7 @@
"by_family": {
"hat": 6
},
"kind": "single",
"dominant": "hat",
"conf": 1.0,
"homogeneous": true,
......@@ -3032,6 +3093,7 @@
"by_family": {
"hat": 6
},
"kind": "single",
"dominant": "hat",
"conf": 1.0,
"homogeneous": true,
......@@ -3085,6 +3147,7 @@
"snare": 4,
"perc": 2
},
"kind": "dominant",
"dominant": "snare",
"conf": 0.667,
"homogeneous": true,
......@@ -3141,13 +3204,14 @@
"lead": 1,
"kick": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": "hat",
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -3196,13 +3260,14 @@
"perc": 1,
"kick": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": "hat",
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -3248,6 +3313,7 @@
"by_family": {
"hat": 6
},
"kind": "single",
"dominant": "hat",
"conf": 1.0,
"homogeneous": true,
......@@ -3304,13 +3370,14 @@
"fx": 1,
"bass": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -3358,13 +3425,14 @@
"hat": 1,
"snare": 1
},
"kind": "kit",
"dominant": "kick",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -3392,6 +3460,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -3448,13 +3517,14 @@
"fx": 1,
"bass": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -3501,6 +3571,7 @@
"bass": 5,
"kick": 1
},
"kind": "dominant",
"dominant": "bass",
"conf": 0.833,
"homogeneous": true,
......@@ -3556,13 +3627,14 @@
"snare": 1,
"kick": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -3608,6 +3680,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -3660,6 +3733,7 @@
"by_family": {
"break": 6
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -3714,6 +3788,7 @@
"keys": 1,
"lead": 1
},
"kind": "dominant",
"dominant": "pad",
"conf": 0.667,
"homogeneous": true,
......@@ -3766,6 +3841,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -3818,6 +3894,7 @@
"by_family": {
"kick": 1
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -3842,13 +3919,14 @@
"vox": 2,
"synth": 1
},
"kind": "kit",
"dominant": "lead",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -3895,6 +3973,7 @@
"bass": 5,
"hat": 1
},
"kind": "dominant",
"dominant": "bass",
"conf": 0.833,
"homogeneous": true,
......@@ -3947,6 +4026,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -4000,6 +4080,7 @@
"synth": 4,
"bass": 2
},
"kind": "dominant",
"dominant": "synth",
"conf": 0.667,
"homogeneous": true,
......@@ -4052,6 +4133,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -4104,6 +4186,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -4156,6 +4239,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -4209,6 +4293,7 @@
"vox": 5,
"perc": 1
},
"kind": "dominant",
"dominant": "vox",
"conf": 0.833,
"homogeneous": true,
......@@ -4261,6 +4346,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -4315,6 +4401,7 @@
"keys": 1,
"bass": 1
},
"kind": "dominant",
"dominant": "pad",
"conf": 0.667,
"homogeneous": true,
......@@ -4367,6 +4454,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -4419,6 +4507,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -4471,6 +4560,7 @@
"by_family": {
"break": 6
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -4523,6 +4613,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -4576,6 +4667,7 @@
"keys": 4,
"synth": 2
},
"kind": "dominant",
"dominant": "keys",
"conf": 0.667,
"homogeneous": true,
......@@ -4628,6 +4720,7 @@
"by_family": {
"lead": 6
},
"kind": "single",
"dominant": "lead",
"conf": 1.0,
"homogeneous": true,
......@@ -4680,6 +4773,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -4733,6 +4827,7 @@
"keys": 4,
"vox": 2
},
"kind": "dominant",
"dominant": "keys",
"conf": 0.667,
"homogeneous": true,
......@@ -4788,13 +4883,14 @@
"vox": 1,
"keys": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -4840,6 +4936,7 @@
"by_family": {
"break": 6
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -4894,13 +4991,14 @@
"vox": 1,
"keys": 1
},
"kind": "kit",
"dominant": "pad",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": "pad",
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -4930,6 +5028,7 @@
"keys": 1,
"bass": 1
},
"kind": "dominant",
"dominant": "vox",
"conf": 0.667,
"homogeneous": true,
......@@ -4984,13 +5083,14 @@
"keys": 1,
"vox": 1
},
"kind": "kit",
"dominant": "break",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -5019,6 +5119,7 @@
"keys": 2,
"vox": 1
},
"kind": "dominant",
"dominant": "keys",
"conf": 0.667,
"homogeneous": true,
......@@ -5053,6 +5154,7 @@
"by_family": {
"kick": 6
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -5105,6 +5207,7 @@
"by_family": {
"kick": 6
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -5157,6 +5260,7 @@
"by_family": {
"kick": 6
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -5211,13 +5315,14 @@
"kick": 1,
"snare": 1
},
"kind": "kit",
"dominant": "hat",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -5253,6 +5358,7 @@
"kick": 1,
"bass": 1
},
"kind": "dominant",
"dominant": "fx",
"conf": 0.667,
"homogeneous": true,
......@@ -5305,6 +5411,7 @@
"by_family": {
"break": 6
},
"kind": "single",
"dominant": "break",
"conf": 1.0,
"homogeneous": true,
......@@ -5358,6 +5465,7 @@
"kick": 4,
"snare": 2
},
"kind": "dominant",
"dominant": "kick",
"conf": 0.667,
"homogeneous": true,
......@@ -5410,6 +5518,7 @@
"by_family": {
"kick": 6
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -5464,13 +5573,14 @@
"snare": 2,
"hat": 2
},
"kind": "kit",
"dominant": "kick",
"conf": 0.333,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -5517,6 +5627,7 @@
"snare": 4,
"hat": 2
},
"kind": "dominant",
"dominant": "snare",
"conf": 0.667,
"homogeneous": true,
......@@ -5570,6 +5681,7 @@
"snare": 5,
"kick": 1
},
"kind": "dominant",
"dominant": "snare",
"conf": 0.833,
"homogeneous": true,
......@@ -5624,6 +5736,7 @@
"kick": 1,
"hat": 1
},
"kind": "dominant",
"dominant": "snare",
"conf": 0.667,
"homogeneous": true,
......@@ -5677,13 +5790,14 @@
"kick": 3,
"snare": 3
},
"kind": "kit",
"dominant": "kick",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -5729,6 +5843,7 @@
"by_family": {
"kick": 1
},
"kind": "single",
"dominant": "kick",
"conf": 1.0,
"homogeneous": true,
......@@ -5753,13 +5868,14 @@
"keys": 2,
"bass": 1
},
"kind": "kit",
"dominant": "vox",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "filename",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -5806,6 +5922,7 @@
"vox": 5,
"hat": 1
},
"kind": "dominant",
"dominant": "vox",
"conf": 0.833,
"homogeneous": true,
......@@ -5858,6 +5975,7 @@
"by_family": {
"fx": 6
},
"kind": "single",
"dominant": "fx",
"conf": 1.0,
"homogeneous": true,
......@@ -5912,13 +6030,14 @@
"snare": 2,
"vox": 1
},
"kind": "kit",
"dominant": "fx",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -5964,6 +6083,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -6017,6 +6137,7 @@
"snare": 5,
"kick": 1
},
"kind": "dominant",
"dominant": "snare",
"conf": 0.833,
"homogeneous": true,
......@@ -6070,6 +6191,7 @@
"vox": 4,
"keys": 2
},
"kind": "dominant",
"dominant": "vox",
"conf": 0.667,
"homogeneous": true,
......@@ -6122,6 +6244,7 @@
"by_family": {
"bass": 6
},
"kind": "single",
"dominant": "bass",
"conf": 1.0,
"homogeneous": true,
......@@ -6174,6 +6297,7 @@
"by_family": {
"pad": 6
},
"kind": "single",
"dominant": "pad",
"conf": 1.0,
"homogeneous": true,
......@@ -6227,6 +6351,7 @@
"keys": 3,
"vox": 1
},
"kind": "dominant",
"dominant": "keys",
"conf": 0.75,
"homogeneous": true,
......@@ -6267,6 +6392,7 @@
"by_family": {
"keys": 6
},
"kind": "single",
"dominant": "keys",
"conf": 1.0,
"homogeneous": true,
......@@ -6319,6 +6445,7 @@
"by_family": {
"vox": 4
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -6359,6 +6486,7 @@
"by_family": {
"synth": 6
},
"kind": "single",
"dominant": "synth",
"conf": 1.0,
"homogeneous": true,
......@@ -6412,6 +6540,7 @@
"pad": 4,
"lead": 2
},
"kind": "dominant",
"dominant": "pad",
"conf": 0.667,
"homogeneous": true,
......@@ -6465,6 +6594,7 @@
"pad": 4,
"synth": 2
},
"kind": "dominant",
"dominant": "pad",
"conf": 0.667,
"homogeneous": true,
......@@ -6518,6 +6648,7 @@
"perc": 5,
"break": 1
},
"kind": "dominant",
"dominant": "perc",
"conf": 0.833,
"homogeneous": true,
......@@ -6571,6 +6702,7 @@
"hat": 4,
"kick": 2
},
"kind": "dominant",
"dominant": "hat",
"conf": 0.667,
"homogeneous": true,
......@@ -6626,13 +6758,14 @@
"perc": 1,
"bass": 1
},
"kind": "kit",
"dominant": "kick",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "audio",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -6681,13 +6814,14 @@
"break": 1,
"pad": 1
},
"kind": "kit",
"dominant": "bass",
"conf": 0.5,
"homogeneous": false,
"kit_like": true,
"label_source": "mixed",
"folder_name_family": null,
"folder_agrees": true,
"folder_agrees": null,
"per_index": [
{
"index": 0,
......@@ -6733,6 +6867,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -6787,6 +6922,7 @@
"keys": 1,
"bass": 1
},
"kind": "dominant",
"dominant": "lead",
"conf": 0.667,
"homogeneous": true,
......@@ -6840,6 +6976,7 @@
"pad": 5,
"vox": 1
},
"kind": "dominant",
"dominant": "pad",
"conf": 0.833,
"homogeneous": true,
......@@ -6892,6 +7029,7 @@
"by_family": {
"lead": 6
},
"kind": "single",
"dominant": "lead",
"conf": 1.0,
"homogeneous": true,
......@@ -6944,6 +7082,7 @@
"by_family": {
"snare": 6
},
"kind": "single",
"dominant": "snare",
"conf": 1.0,
"homogeneous": true,
......@@ -6996,6 +7135,7 @@
"by_family": {
"snare": 6
},
"kind": "single",
"dominant": "snare",
"conf": 1.0,
"homogeneous": true,
......@@ -7048,6 +7188,7 @@
"by_family": {
"lead": 6
},
"kind": "single",
"dominant": "lead",
"conf": 1.0,
"homogeneous": true,
......@@ -7100,6 +7241,7 @@
"by_family": {
"pad": 6
},
"kind": "single",
"dominant": "pad",
"conf": 1.0,
"homogeneous": true,
......@@ -7152,6 +7294,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -7204,6 +7347,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -7256,6 +7400,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -7308,6 +7453,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -7361,6 +7507,7 @@
"break": 4,
"bass": 2
},
"kind": "dominant",
"dominant": "break",
"conf": 0.667,
"homogeneous": true,
......@@ -7413,6 +7560,7 @@
"by_family": {
"vox": 6
},
"kind": "single",
"dominant": "vox",
"conf": 1.0,
"homogeneous": true,
......@@ -7466,6 +7614,7 @@
"vox": 5,
"keys": 1
},
"kind": "dominant",
"dominant": "vox",
"conf": 0.833,
"homogeneous": true,
......
......@@ -76,17 +76,28 @@ def resolve_folder(name, do_audio=True):
folder_fam = M.classify_sample_family(name) # L2 cross-check
label_source = ("filename" if not srcs.get("audio") else
"audio" if not srcs.get("filename") else "mixed")
homogeneous = dn / n >= 0.6
kit_like = len(dist) >= 2
# A folder is a LOOSE grouping; per_index is the ground truth. `kind` says how to
# READ this folder: single (one family), dominant (one family ≥60% + minority),
# kit (heterogeneous — jazz/glitch/electro1: no single family, use per_index).
kind = "single" if not kit_like else "dominant" if homogeneous else "kit"
# The folder-name disagreement only MEANS something when the folder really claims
# ~one family (the cpluck='keys'-but-sounds-synth / 808hc lesson). For a true kit
# there's nothing single to disagree with → N/A (None), never a flagged error.
folder_agrees = (folder_fam is None or folder_fam == dominant) if homogeneous else None
return {
"n": len(files),
"n_resolved": n,
"by_family": dict(dist.most_common()),
"dominant": dominant,
"kind": kind, # single | dominant | kit
"dominant": dominant, # modal family (read with kind!)
"conf": round(dn / n, 3), # fraction agreeing
"homogeneous": dn / n >= 0.6, # else a kit / mixed
"kit_like": len(dist) >= 2,
"homogeneous": homogeneous, # dominant ≥60%
"kit_like": kit_like, # ≥2 families present
"label_source": label_source, # filename | audio | mixed
"folder_name_family": folder_fam, # L2 (or None)
"folder_agrees": folder_fam is None or folder_fam == dominant,
"folder_agrees": folder_agrees, # None for kits (N/A)
"per_index": per,
}
......@@ -111,12 +122,17 @@ def cmd_run(all_folders=False, limit=None):
out[name] = r
if r["label_source"] in ("audio", "mixed"):
n_audio_folders += 1
if not r["folder_agrees"]:
if r["folder_agrees"] is False: # only single/dominant folders
flags += 1
tag = "" if r["folder_agrees"] else f" ⚠ folder='{r['folder_name_family']}'≠{r['dominant']}"
kit = " kit" if r["kit_like"] and not r["homogeneous"] else ""
print(f" [{i}/{len(names)}] {name:<24} {r['dominant']:<6} conf={r['conf']} "
f"src={r['label_source']}{kit}{tag}", flush=True)
if r["kind"] == "kit": # per_index is the truth here
fams = "+".join(dict(r["by_family"]))
print(f" [{i}/{len(names)}] {name:<24} KIT [{fams}] "
f"src={r['label_source']}", flush=True)
else:
tag = ("" if r["folder_agrees"] is not False
else f" ⚠ folder='{r['folder_name_family']}'≠{r['dominant']}")
print(f" [{i}/{len(names)}] {name:<24} {r['dominant']:<6} conf={r['conf']} "
f"src={r['label_source']}{tag}", flush=True)
prov = M.Provenance(source=M.Source.derived,
locator=f"sample_resolve: L1 filename + L3 {method}",
as_of=date.today()).model_dump(mode="json")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment