5std::array<std::string, 753>
CatIDs = {
6 "AIRBlow",
"AIRBrst",
"AIRHiss",
"AIRMisc",
"AIRSuck",
"AERODoor",
"AEROHeli",
"AEROInt",
7 "AEROJet",
"AEROMech",
"AEROMil",
"AEROMisc",
"AEROProp",
"AERORadio",
"AERORckt",
"ALRMBell",
8 "ALRMBuzr",
"ALRMClok",
"ALRMElec",
"ALRMMisc",
"ALRMSirn",
"AMBAir",
"AMBAlpn",
"AMBAmus",
9 "AMBBird",
"AMBCele",
"AMBCnst",
"AMBDsrt",
"AMBDsgn",
"AMBEmrg",
"AMBFant",
"AMBFarm",
10 "AMBForst",
"AMBGras",
"AMBHist",
"AMBTech",
"AMBHosp",
"AMBInd",
"AMBInsc",
"AMBLake",
11 "AMBMrkt",
"AMBMisc",
"AMBNaut",
"AMBOffc",
"AMBPark",
"AMBPrisn",
"AMBPrtst",
"AMBPubl",
12 "AMBRlgn",
"AMBHome",
"AMBRest",
"AMBRoom",
"AMBRurl",
"AMBSchl",
"AMBSci",
"AMBSea",
13 "AMBSprt",
"AMBSubn",
"AMBSwmp",
"AMBTown",
"AMBTraf",
"AMBTran",
"AMBTrop",
"AMBTndra",
14 "AMBUndr",
"AMBUndwtr",
"AMBUrbn",
"AMBWar",
"ANMLAmph",
"ANMLAqua",
"ANMLBat",
"ANMLCat",
15 "ANMLWcat",
"ANMLDog",
"ANMLWdog",
"ANMLFarm",
"ANMLHors",
"ANMLInsc",
"ANMLMisc",
"ANMLPrim",
16 "ANMLRept",
"ANMLRdnt",
"ANMLWild",
"ADR",
"ASSET",
"BNCE",
"IR",
"LPGRP",
17 "MIX",
"PFX",
"PROD",
"RAW",
"REF",
"SCNE",
"TEST",
"TMARK",
18 "WIP",
"WTF",
"BEEPAppl",
"BEEP",
"BEEPLofi",
"BEEPMed",
"BEEPTimer",
"BEEPVeh",
19 "BELLAnml",
"BELLDoor",
"BELLGong",
"BELLHand",
"BELLLrg",
"BELLMisc",
"BIRDPrey",
"BIRDCrow",
20 "BIRDFowl",
"BIRDMisc",
"BIRDSea",
"BIRDSong",
"BIRDTrop",
"BIRDWade",
"BOATAir",
"BOATWash",
21 "BOATDoor",
"BOATElec",
"BOATFish",
"BOATHorn",
"BOATInt",
"BOATMech",
"BOATMil",
"BOATMisc",
22 "BOATMotr",
"BOATRace",
"BOATRow",
"BOATSail",
"BOATShip",
"BOATStm",
"BOATSub",
"BOATUndwtr",
23 "BLLTBy",
"BLLTImpt",
"BLLTMisc",
"BLLTRico",
"BLLTShel",
"TOONAnml",
"TOONBoing",
"TOONClang",
24 "TOONCreak",
"TOONHorn",
"TOONImpt",
"TOONMach",
"TOONMisc",
"TOONMx",
"TOONPluk",
"TOONPop",
25 "TOONShake",
"TOONSplt",
"TOONSqk",
"TOONStrch",
"TOONSwsh",
"TOONTwang",
"TOONVeh",
"TOONVox",
26 "TOONWarb",
"TOONWhis",
"TOONZip",
"CERMBrk",
"CERMCrsh",
"CERMFric",
"CERMHndl",
"CERMImpt",
27 "CERMMisc",
"CERMMvmt",
"CERMTonl",
"CHAINBrk",
"CHAINHndl",
"CHAINImpt",
"CHAINMisc",
"CHAINMvmt",
28 "CHEMAcid",
"CHEMMisc",
"CHEMReac",
"CLOCKChim",
"CLOCKMech",
"CLOCKMisc",
"CLOCKTick",
"CLOTHFlp",
29 "CLOTHHndl",
"CLOTHImpt",
"CLOTHMisc",
"CLOTHMvmt",
"CLOTHRip",
"COMAv",
"COMCam",
"COMCell",
30 "COMMic",
"COMMisc",
"COMPhono",
"COMRadio",
"COMStatic",
"COMTelm",
"COMTelph",
"COMTv",
31 "COMTran",
"COMType",
"CMPTDriv",
"CMPTKey",
"CMPTMisc",
"CREAAqua",
"CREAAvian",
"CREABeast",
32 "CREABlob",
"CREADino",
"CREADrgn",
"CREAElem",
"CREAEthr",
"CREAHmn",
"CREAInsc",
"CREAMisc",
33 "CREAMnstr",
"CREARept",
"CREASmall",
"CREASrce",
"CRWDAngr",
"CRWDApls",
"CRWDBatl",
"CRWDCele",
34 "CRWDCheer",
"CRWDChld",
"CRWDConv",
"CRWDLaff",
"CRWDLoop",
"CRWDMisc",
"CRWDPanic",
"CRWDQuiet",
35 "CRWDReac",
"CRWDSing",
"CRWDSprt",
"CRWDWalla",
"DSGNBass",
"DSGNBoom",
"DSGNBram",
"DSGNDist",
36 "DSGNDron",
"DSGNErie",
"DSGNEthr",
"DSGNGran",
"DSGNImpt",
"DSGNMisc",
"DSGNMorph",
"DSGNRise",
37 "DSGNRmbl",
"DSGNRythm",
"DSGNSrce",
"DSGNStngr",
"DSGNSynth",
"DSGNTonl",
"DSGNVocl",
"DSGNWhsh",
38 "DESTRClpse",
"DESTRCrsh",
"DESTRMisc",
"DIRTCrsh",
"DIRTDust",
"DIRTHndl",
"DIRTImpt",
"DIRTMisc",
39 "DIRTMvmt",
"DIRTTonl",
"DOORAntq",
"DOORAppl",
"DOORCab",
"DOORComp",
"DOORCreak",
"DOORDungn",
40 "DOORElec",
"DOORGate",
"DOORGlas",
"DOORHdwr",
"DOORTech",
"DOORHydr",
"DOORKnck",
"DOORMetl",
41 "DOORMisc",
"DOORPlas",
"DOORPrisn",
"DOORRevl",
"DOORSlid",
"DOORSton",
"DOORSwng",
"DOORWood",
42 "DRWRMetl",
"DRWRMisc",
"DRWRPlas",
"DRWRWood",
"ELECArc",
"ELECBuzz",
"ELECEmf",
"ELECMisc",
43 "ELECSprk",
"ELECZap",
"EQUIPBridle",
"EQUIPTech",
"EQUIPMisc",
"EQUIPRec",
"EQUIPSprt",
"EQUIPTact",
44 "EXPLDsgn",
"EXPLMisc",
"EXPLReal",
"FARTDsgn",
"FARTMisc",
"FARTReal",
"FGHTBf",
"FGHTClth",
45 "FGHTGrab",
"FGHTImpt",
"FGHTMisc",
"FIREBurn",
"FIREBrst",
"FIRECrkl",
"FIREGas",
"FIREIgn",
46 "FIREMisc",
"FIRESizz",
"FIRETrch",
"FIRETurb",
"FIREWhsh",
"FRWKComr",
"FRWKMisc",
"FRWKRec",
47 "FOLYClth",
"FOLYFeet",
"FOLYHand",
"FOLYMisc",
"FOLYProp",
"FOODCook",
"FOODDrnk",
"FOODEat",
48 "FOODGware",
"FOODIngr",
"FOODKware",
"FOODMisc",
"FOODPour",
"FOODTware",
"FEETAnml",
"FEETCrea",
49 "FEETHors",
"FEETHmn",
"FEETMisc",
"GAMEArcd",
"GAMEBoard",
"GAMECas",
"GAMEMisc",
"GAMEVideo",
50 "GEOFuma",
"GEOGeyser",
"GEOLava",
"GEOMisc",
"GEOMudpot",
"GLASBrk",
"GLASCrsh",
"GLASFric",
51 "GLASHndl",
"GLASImpt",
"GLASMisc",
"GLASMvmt",
"GLASTonl",
"GOREBlood",
"GOREBone",
"GOREBurn",
52 "GOREFlsh",
"GOREMisc",
"GOREOoze",
"GORESrce",
"GORESplt",
"GORESqsh",
"GOREStab",
"GUNAntq",
53 "GUNArtl",
"GUNAuto",
"GUNCano",
"GUNHndl",
"GUNTech",
"GUNMech",
"GUNMisc",
"GUNPis",
54 "GUNRif",
"GUNShotg",
"GUNSupr",
"HORNAir",
"HORNCele",
"HORNMisc",
"HORNTrad",
"HMNBlow",
55 "HMNBrth",
"HMNBurp",
"HMNCough",
"HMNHart",
"HMNKiss",
"HMNMisc",
"HMNPee",
"HMNSkin",
56 "HMNSneez",
"HMNSniff",
"HMNSnor",
"HMNSpit",
"HMNVomit",
"ICEBrk",
"ICECrsh",
"ICEFric",
57 "ICEHndl",
"ICEImpt",
"ICEMisc",
"ICEMvmt",
"ICETonl",
"LASRBeam",
"LASRGun",
"LASRImpt",
58 "LASRMisc",
"LETHRCreak",
"LETHRHndl",
"LETHRImpt",
"LETHRMisc",
"LETHRMvmt",
"LIQBubl",
"LIQImpt",
59 "LIQMisc",
"LIQMvmt",
"LIQSuct",
"MACHAmus",
"MACHAntq",
"MACHAppl",
"MACHCnst",
"MACHElev",
60 "MACHEscl",
"MACHFan",
"MACHGrdn",
"MACHGym",
"MACHTech",
"MACHHvac",
"MACHInd",
"MACHMech",
61 "MACHMed",
"MACHMisc",
"MACHOffc",
"MACHPump",
"MAGAngl",
"MAGElem",
"MAGEvil",
"MAGMisc",
62 "MAGPoof",
"MAGShim",
"MAGSpel",
"MECHClik",
"MECHGear",
"MECHHydr",
"MECHLtch",
"MECHLvr",
63 "MECHLock",
"MECHMisc",
"MECHPuly",
"MECHRtch",
"MECHRelay",
"MECHRolr",
"MECHSwtch",
"METLBrk",
64 "METLCrsh",
"METLFric",
"METLHndl",
"METLImpt",
"METLMisc",
"METLMvmt",
"METLTonl",
"MOTRAntq",
65 "MOTRComb",
"MOTRElec",
"MOTRMisc",
"MOTRSrvo",
"MOTRTurb",
"MOVEActv",
"MOVEAnml",
"MOVECrea",
66 "MOVECrwd",
"MOVEHmn",
"MOVEInsc",
"MOVEMisc",
"MOVEPres",
"MUSCBell",
"MUSCBrass",
"MUSCChim",
67 "MUSCChor",
"MUSCExpr",
"MUSCInst",
"MUSCKeyd",
"MUSCLoop",
"MUSCMisc",
"MUSCPerc",
"MUSCTnprc",
68 "MUSCPrfm",
"MUSCPluck",
"MUSCSmpl",
"MUSCShake",
"MUSCSong",
"MUSCStngr",
"MUSCStr",
"MUSCSynth",
69 "MUSCToy",
"MUSCWind",
"NATDAval",
"NATDQuak",
"NATDMisc",
"NATDTorn",
"NATDTsun",
"NATDThyp",
70 "NATDVolc",
"OBJBag",
"OBJBook",
"OBJCoin",
"OBJCont",
"OBJFash",
"OBJFurn",
"OBJGrdn",
71 "OBJGym",
"OBJHsehld",
"OBJJewl",
"OBJKey",
"OBJLug",
"OBJMed",
"OBJMisc",
"OBJOffc",
72 "OBJPack",
"OBJTape",
"OBJUmbr",
"OBJWhled",
"OBJWrite",
"OBJZipr",
"PAPRFltr",
"PAPRFric",
73 "PAPRHndl",
"PAPRImpt",
"PAPRMisc",
"PAPRRip",
"PAPRTonl",
"PLASBrk",
"PLASCrsh",
"PLASFric",
74 "PLASHndl",
"PLASImpt",
"PLASMisc",
"PLASMvmt",
"PLASTonl",
"RAINClth",
"RAINConc",
"RAIN",
75 "RAINGlas",
"RAINInt",
"RAINMetl",
"RAINPlas",
"RAINVege",
"RAINWatr",
"RAINWood",
"ROBTMisc",
76 "ROBTMvmt",
"ROBTVox",
"ROCKBrk",
"ROCKCrsh",
"ROCKFric",
"ROCKHndl",
"ROCKImpt",
"ROCKMisc",
77 "ROCKMvmt",
"ROCKTonl",
"ROPECreak",
"ROPEHndl",
"ROPEImpt",
"ROPEMisc",
"ROPEMvmt",
"RUBRCrsh",
78 "RUBRFric",
"RUBRHndl",
"RUBRImpt",
"RUBRMisc",
"RUBRMvmt",
"RUBRTonl",
"SCIAlrm",
"SCICmpt",
79 "SCIDoor",
"SCIEnrg",
"SCIImpt",
"SCIMach",
"SCIMech",
"SCIMisc",
"SCIRetro",
"SCIShip",
80 "SCIVeh",
"SCIWeap",
"SNOWCrsh",
"SNOWFric",
"SNOWHndl",
"SNOWImpt",
"SNOWMisc",
"SNOWMvmt",
81 "SPRTCourt",
"SPRTField",
"SPRTGym",
"SPRTIndor",
"SPRTMisc",
"SPRTSkate",
"SPRTTrck",
"SPRTWatr",
82 "SPRTWntr",
"SWSH",
"WHSH",
"TOOLGrdn",
"TOOLHand",
"TOOLMisc",
"TOOLPneu",
"TOOLPowr",
83 "TOYElec",
"TOYMech",
"TOYMisc",
"TRNBrake",
"TRNClak",
"TRNDoor",
"TRNDiesl",
"TRNElec",
84 "TRNHspd",
"TRNHorn",
"TRNInt",
"TRNMech",
"TRNMisc",
"TRNSteam",
"TRNSbwy",
"TRNTram",
85 "UIAlert",
"UIBeep",
"UIClick",
"UIData",
"UIGlitch",
"UIMisc",
"UIMvmt",
"VEGEGras",
86 "VEGELeaf",
"VEGEMisc",
"VEGETree",
"VEHAlrm",
"VEHAntq",
"VEHAtv",
"VEHBike",
"VEHBrake",
87 "VEHBus",
"VEHCar",
"VEHCnst",
"VEHDoor",
"VEHElec",
"VEHEmrg",
"VEHFarm",
"VEHFrght",
88 "VEHBy",
"VEHHorn",
"VEHInt",
"VEHJalop",
"VEHMech",
"VEHMil",
"VEHMisc",
"VEHMoto",
89 "VEHRace",
"VEHSirn",
"VEHSkid",
"VEHSusp",
"VEHTire",
"VEHTruck",
"VEHUtil",
"VEHWagn",
90 "VEHWndw",
"VOXAlien",
"VOXBaby",
"VOXCheer",
"VOXChld",
"VOXCry",
"VOXEfrt",
"VOXFem",
91 "VOXFutz",
"VOXHist",
"VOXLaff",
"VOXMale",
"VOXMisc",
"VOXReac",
"VOXScrm",
"VOXSing",
92 "VOXWhsp",
"WATRBubl",
"WATRDran",
"WATRDrip",
"WATRFizz",
"WATRFlow",
"WATRFoun",
"WATRImpt",
93 "WATRLap",
"WATRMisc",
"WATRMvmt",
"WATRPlmb",
"WATRPour",
"WATRSplsh",
"WATRSpray",
"WATRStm",
94 "WATRSurf",
"WATRTurb",
"WATRUndwtr",
"WATRFall",
"WATRWave",
"WEAPArmr",
"WEAPArro",
"WEAPAxe",
95 "WEAPBlnt",
"WEAPBow",
"WEAPKnif",
"WEAPMisc",
"WEAPPole",
"WEAPSiege",
"WEAPSwrd",
"WEAPWhip",
96 "HAIL",
"WTHR",
"STORM",
"THUN",
"WHSTHmn",
"WHSTMech",
"WHSTMisc",
"WINDDsgn",
97 "WIND",
"WINDGust",
"WINDInt",
"WINDTonl",
"WINDTurb",
"WINDVege",
"WNDWCover",
"WNDWHdwr",
98 "WNDWKnck",
"WNDWMetl",
"WNDWMisc",
"WNDWPlas",
"WNDWWood",
"WINGBird",
"WINGCrea",
"WINGInsc",
99 "WINGMisc",
"WOODBrk",
"WOODCrsh",
"WOODFric",
"WOODHandl",
"WOODImpt",
"WOODMisc",
"WOODMvmt",
111 std::size_t count = 0;
112 for (
const auto& path : File(root).findChildFiles(2,
true,
"*.wav"))
114 auto basename = path.getFileName().toStdString();
118 auto success =
addDatasetItem(path.getFullPathName().toStdString());
125 DBG(
"UCS file count: " << count);
146 auto filename = File(path).getFileName().toStdString();
147 std::string delimiter =
"_";
148 std::string CatID = filename.substr(0, filename.find(delimiter));
160 DBG(
"UCS CatID: " << key);
161 DBG(
"number of results: " << filepaths.size());
162 if (!filepaths.empty())
164 std::uniform_int_distribution<std::size_t> distribution(0, filepaths.size() - 1);
165 std::size_t idx = distribution(
generator);
166 auto result = filepaths[idx];
177 std::vector<std::string> results = {path};
185 std::sort(filepaths.begin(), filepaths.end());
~CatIDSearch()
Definition CatIDSearch.cpp:128
std::vector< std::string > findAllSimilar(std::string path)
Definition CatIDSearch.cpp:175
bool addDatasetItem(std::string path)
Definition CatIDSearch.cpp:133
CatIDSearch(std::string root)
Definition CatIDSearch.cpp:103
std::string extractCatID(std::string path)
Definition CatIDSearch.cpp:144
std::set< std::string > filenames
Definition CatIDSearch.h:22
std::string findSimilar(std::string path)
Definition CatIDSearch.cpp:152
std::mt19937 generator
Definition CatIDSearch.h:20
std::map< std::string, std::vector< std::string > > dataset
Definition CatIDSearch.h:21
std::array< std::string, 753 > CatIDs
Definition CatIDSearch.cpp:5
Definition AirAbsorptionFilter.cpp:2