diff --git a/training/build_aroma_dataset.py b/training/build_aroma_dataset.py index b3395f7..3c4a914 100644 --- a/training/build_aroma_dataset.py +++ b/training/build_aroma_dataset.py @@ -123,7 +123,7 @@ "mimosa": ["mimosa", "acacia"], "narcissus": ["narcissus", "daffodil", "jonquil"], "corky": ["corky", "cork taint", "chloroanisole", "musty cork", "mouldy cork"], - "violet_leaf": ["violet leaf", "violet-leaf", "leafy violet"], + "violetleaf": ["violet leaf", "violet-leaf", "leafy violet"], "fir": ["fir", "pine needle", "pine-needle", "conifer", "spruce"], "oakmoss": ["oakmoss", "oak moss", "mossy"], "vetiver": ["vetiver", "vetivert"], @@ -149,7 +149,7 @@ "cumin": ["cumin", "cuminic"], "passionfruit": ["passion fruit", "passionfruit", "passion-fruit"], "rosemary": ["rosemary"], - "black_pepper": ["black pepper", "peppercorn", "peppery"], + "blackpepper": ["black pepper", "peppercorn", "peppery"], "nutmeg": ["nutmeg", "mace"], "sage": ["sage", "salvia"], "thyme": ["thyme"], @@ -176,7 +176,7 @@ "costus": ["costus"], "tagetes": ["tagetes", "marigold"], "truffle": ["truffle"], - "clary_sage": ["clary sage", "clary"], + "clarysage": ["clary sage", "clary"], "elemi": ["elemi"], "labdanum": ["labdanum", "cistus", "rockrose"], "wormwood": ["wormwood", "absinthe", "artemisia"], diff --git a/training/predict.py b/training/predict.py index f22f0b0..9409140 100644 --- a/training/predict.py +++ b/training/predict.py @@ -922,7 +922,7 @@ def analyze_balance(ingredients): "geranium": "geranium — rosy-green (geraniol, citronellol, rose oxide)", "eucalyptus": "eucalyptus — cineole / camphoraceous terpenoids", "corky": "corky / cork-taint — haloanisoles (TCA) & moldy phenols", - "violet_leaf": "violet leaf — green-cucumber (methyl octine carbonate, 2,6-nonadienal); distinct from powdery violet", + "violetleaf": "violet leaf — green-cucumber (methyl octine carbonate, 2,6-nonadienal); distinct from powdery violet", "fir": "fir / pine-needle — bornyl acetate & conifer terpenes", "oakmoss": "oakmoss — mossy orcinol / orsellinate esters (fragrance; atranol restricted)", "vetiver": "vetiver — earthy-woody sesquiterpenes (vetivones, khusimol)", @@ -943,7 +943,7 @@ def analyze_balance(ingredients): "cumin": "cumin — cuminaldehyde & cymene terpenes", "passionfruit": "passionfruit — tropical thiols & esters (mercaptohexanol, oxathiane)", "rosemary": "rosemary — cineole / camphor / verbenone herb", - "black_pepper": "black pepper — rotundone & peppery sesquiterpenes", + "blackpepper": "black pepper — rotundone & peppery sesquiterpenes", "nutmeg": "nutmeg / mace — myristicin & terpene spice", "sage": "sage — thujones, camphor & cineole", "thyme": "thyme — thymol / carvacrol phenolic herb", @@ -960,7 +960,7 @@ def analyze_balance(ingredients): "davana": "davana — davanone & davana ether (fruity-balsamic; narrow scaffold)", "costus": "costus — costunolide & sesquiterpene lactones", "truffle": "truffle — dimethyl-polysulfides & dithiapentane (savoury-sulfurous)", - "clary_sage": "clary sage — sclareol / linalyl acetate (amber-herbal)", + "clarysage": "clary sage — sclareol / linalyl acetate (amber-herbal)", "elemi": "elemi — elemol & elemicin (lemon-resinous)", "labdanum": "labdanum / cistus — labdane amber-resins", "styrax": "styrax / storax — cinnamate esters (sweet-balsamic)", diff --git a/training/workbench.html b/training/workbench.html index f1dced4..2550d89 100644 --- a/training/workbench.html +++ b/training/workbench.html @@ -1107,7 +1107,7 @@

Software & type

rancid:'#9A8B5A',tarry:'#4A4038',winey:'#8E4B6E',honey:'#E0A83C',apple:'#8DBF4A', cherry:'#C0392B',pine:'#3FA06B',banana:'#E6C84D',fatty:'#C9B27A',petroleum:'#6E7B8B', alcoholic:'#9FB6C4',musky:'#8B7BA5',putrid:'#6E7A4A',soapy:'#B9C6D0',vegetable:'#6FA36B',bready:'#C7A06A',odorless:'#9AA4AC', - onion:'#B7A64B',neroli:'#F0A5A0',aldehydic:'#E8C070',animalic:'#8A6B5A',amber:'#C08A4E',leathery:'#6E5544',powdery:'#D9C6D0',resinous:'#7A8B5A',terpenic:'#6B9E5A',ozonic:'#6FC2C4',hyacinth:'#8FC46A',cooling:'#6FD0C0',metallic:'#9BB0BE',lactonic:'#E3C99A',popcorn:'#D9B87A',celery:'#A8C46A',maple:'#B5773A',chamomile:'#E8D888',tobacco:'#8A6B4A',carnation:'#D9607A',mimosa:'#E8D77A',magnolia:'#E6E29A',narcissus:'#E0C878',saffron:'#E0700E',tuberose:'#EBA9C0',gardenia:'#E8C9D6',ylang:'#D9A6C4',lilac:'#C9A6D6',osmanthus:'#E8B48A',geranium:'#D77A8E',eucalyptus:'#5FA98A',corky:'#8A8A6E',violet_leaf:'#7DB36A',fir:'#3E7A5A',oakmoss:'#6E7A4A',vetiver:'#7A6B4A',patchouli:'#8A5A3A',sandalwood:'#C9A87A',cedarwood:'#9C6B4A',cognac:'#A85A2E',grapefruit:'#E8846A',bergamot:'#C8D45A',mandarin:'#EE9A2E',lime:'#8FC44A',yuzu:'#D4D46A',honeysuckle:'#E8C86A',freesia:'#E0D0A0',cyclamen:'#D98AB0',linden:'#C8D488',coriander:'#9DBE6A',cumin:'#B5883A',passionfruit:'#E0C84A',rosemary:'#5A8A6A',black_pepper:'#6E5A4A',nutmeg:'#A8703A',sage:'#8AA07A',thyme:'#7A9A5A',oregano:'#8A9A4A',mustard:'#D9C84A',pineapple:'#EBD24A',strawberry:'#E0506A',raspberry:'#C0396B',myrrh:'#8A6B4E',frankincense:'#B0A07A',musty:'#8AA07A',hazelnut:'#C6B07A',blueberry:'#C08A6A',guava:'#9AA6B0',juniper:'#C6B07A',allspice:'#B0A07A',dill:'#8AA07A',tomato:'#C08A6A',fig:'#C08A6A',mango:'#B0A07A',champaca:'#C6B07A',styrax:'#8AA07A',davana:'#B0A07A',truffle:'#8AA07A',clary_sage:'#C08A6A',opoponax:'#8AA07A',turmeric:'#9AA6B0',costus:'#C6B07A',elemi:'#9AA6B0',labdanum:'#C6B07A',}; + onion:'#B7A64B',neroli:'#F0A5A0',aldehydic:'#E8C070',animalic:'#8A6B5A',amber:'#C08A4E',leathery:'#6E5544',powdery:'#D9C6D0',resinous:'#7A8B5A',terpenic:'#6B9E5A',ozonic:'#6FC2C4',hyacinth:'#8FC46A',cooling:'#6FD0C0',metallic:'#9BB0BE',lactonic:'#E3C99A',popcorn:'#D9B87A',celery:'#A8C46A',maple:'#B5773A',chamomile:'#E8D888',tobacco:'#8A6B4A',carnation:'#D9607A',mimosa:'#E8D77A',magnolia:'#E6E29A',narcissus:'#E0C878',saffron:'#E0700E',tuberose:'#EBA9C0',gardenia:'#E8C9D6',ylang:'#D9A6C4',lilac:'#C9A6D6',osmanthus:'#E8B48A',geranium:'#D77A8E',eucalyptus:'#5FA98A',corky:'#8A8A6E',violetleaf:'#7DB36A',fir:'#3E7A5A',oakmoss:'#6E7A4A',vetiver:'#7A6B4A',patchouli:'#8A5A3A',sandalwood:'#C9A87A',cedarwood:'#9C6B4A',cognac:'#A85A2E',grapefruit:'#E8846A',bergamot:'#C8D45A',mandarin:'#EE9A2E',lime:'#8FC44A',yuzu:'#D4D46A',honeysuckle:'#E8C86A',freesia:'#E0D0A0',cyclamen:'#D98AB0',linden:'#C8D488',coriander:'#9DBE6A',cumin:'#B5883A',passionfruit:'#E0C84A',rosemary:'#5A8A6A',blackpepper:'#6E5A4A',nutmeg:'#A8703A',sage:'#8AA07A',thyme:'#7A9A5A',oregano:'#8A9A4A',mustard:'#D9C84A',pineapple:'#EBD24A',strawberry:'#E0506A',raspberry:'#C0396B',myrrh:'#8A6B4E',frankincense:'#B0A07A',musty:'#8AA07A',hazelnut:'#C6B07A',blueberry:'#C08A6A',guava:'#9AA6B0',juniper:'#C6B07A',allspice:'#B0A07A',dill:'#8AA07A',tomato:'#C08A6A',fig:'#C08A6A',mango:'#B0A07A',champaca:'#C6B07A',styrax:'#8AA07A',davana:'#B0A07A',truffle:'#8AA07A',clarysage:'#C08A6A',opoponax:'#8AA07A',turmeric:'#9AA6B0',costus:'#C6B07A',elemi:'#9AA6B0',labdanum:'#C6B07A',}; const aromaColor = n => AROMA_COLORS[n] || 'var(--aroma)'; const $ = id => document.getElementById(id); @@ -1267,7 +1267,7 @@

Software & type

mandarin:'mandarin / tangerine — sinensals over citrus terpenes', honeysuckle:'honeysuckle — nectar floral (hotrienol, jasmine lactone); marginal (0.74)', freesia:'freesia — soft ionone-green floral', - violet_leaf:'violet leaf — green-cucumber (methyl octine carbonate, 2,6-nonadienal); distinct from powdery violet', + violetleaf:'violet leaf — green-cucumber (methyl octine carbonate, 2,6-nonadienal); distinct from powdery violet', oakmoss:'oakmoss — mossy orcinol / orsellinate esters (fragrance; atranol restricted)', patchouli:'patchouli — camphoraceous-woody (patchoulol, patchoulenes)', linden:'linden / lime-blossom — honeyed floral (farnesol, decadienal); marginal (0.81)', @@ -1283,7 +1283,7 @@

Software & type

strawberry:'strawberry — furaneol & fruity esters; marginal (0.78)', cumin:'cumin — cuminaldehyde & cymene terpenes', rosemary:'rosemary — cineole / camphor / verbenone herb', - black_pepper:'black pepper — rotundone & peppery sesquiterpenes', + blackpepper:'black pepper — rotundone & peppery sesquiterpenes', nutmeg:'nutmeg / mace — myristicin & terpene spice', thyme:'thyme — thymol / carvacrol phenolic herb', oregano:'oregano / marjoram — carvacrol & thymol', @@ -1306,7 +1306,7 @@

Software & type

styrax:'styrax / storax — cinnamate esters (sweet-balsamic)', davana:'davana — davanone & davana ether (fruity-balsamic; narrow scaffold)', truffle:'truffle — dimethyl-polysulfides & dithiapentane (savoury-sulfurous)', - clary_sage:'clary sage — sclareol / linalyl acetate (amber-herbal)', + clarysage:'clary sage — sclareol / linalyl acetate (amber-herbal)', opoponax:'opoponax — bisabolene & santalol resins', turmeric:'turmeric — ar-turmerone & curcuma sesquiterpenes', costus:'costus — costunolide & sesquiterpene lactones', @@ -1773,7 +1773,7 @@

Software & type

// aroma head shows, even if the current map has few or zero of one (e.g. salty). const TASTE_CLASSES = ['sweet','bitter','umami','sour','salty','tasteless']; // all trained aroma heads — keep in sync with aroma_models/ (see docs/AROMA-AUDIT.md) -const AROMA_HEADS = ['odorless','pungent','sweet','ammoniacal','fruity','ethereal','phenolic','sulfurous','floral','acidic','garlic','fishy','gardenia','camphor','terpenic','fatty','almond','champaca','minty','ylang','spicy','petroleum','honeysuckle','cherry','jasmine','earthy','grassy','aldehydic','resinous','fresh','grape','berry','putrid','animalic','powdery','raspberry','orange','muguet','waxy','alcoholic','leathery','hyacinth','citrus','herbal','meaty','musky','geranium','wintergreen','green','woody','pine','winey','burnt','ozonic','saffron','oakmoss','mustard','pineapple','styrax','tropical','lavender','rose','nutty','anise','cheesy','creamy','soapy','amber','lactonic','popcorn','sandalwood','strawberry','neroli','magnolia','vanilla','balsamic','smoky','banana','vegetable','bready','cooling','celery','grapefruit','hazelnut','davana','truffle','clary_sage','melon','mushroom','cassis','fennel','buttery','onion','coconut','apple','coffee','maple','carnation','mimosa','corky','bergamot','mandarin','freesia','cumin','rosemary','black_pepper','nutmeg','thyme','oregano','myrrh','blueberry','guava','juniper','allspice','dill','opoponax','peach','violet','ginger','hay','tonka','caramel','rancid','medicinal','honey','clove','cinnamon','tarry','metallic','chamomile','violet_leaf','patchouli','linden','coriander','frankincense','mango','tomato','turmeric','costus','pear','apricot','malty','marine','cardamom','plum','tea','elderflower','cocoa','lilac','osmanthus','eucalyptus','tobacco','narcissus','fir','vetiver','cedarwood','cognac','lime','yuzu','cyclamen','passionfruit','sage','elemi','labdanum']; +const AROMA_HEADS = ['odorless','pungent','sweet','ammoniacal','fruity','ethereal','phenolic','sulfurous','floral','acidic','garlic','fishy','gardenia','camphor','terpenic','fatty','almond','champaca','minty','ylang','spicy','petroleum','honeysuckle','cherry','jasmine','earthy','grassy','aldehydic','resinous','fresh','grape','berry','putrid','animalic','powdery','raspberry','orange','muguet','waxy','alcoholic','leathery','hyacinth','citrus','herbal','meaty','musky','geranium','wintergreen','green','woody','pine','winey','burnt','ozonic','saffron','oakmoss','mustard','pineapple','styrax','tropical','lavender','rose','nutty','anise','cheesy','creamy','soapy','amber','lactonic','popcorn','sandalwood','strawberry','neroli','magnolia','vanilla','balsamic','smoky','banana','vegetable','bready','cooling','celery','grapefruit','hazelnut','davana','truffle','clarysage','melon','mushroom','cassis','fennel','buttery','onion','coconut','apple','coffee','maple','carnation','mimosa','corky','bergamot','mandarin','freesia','cumin','rosemary','blackpepper','nutmeg','thyme','oregano','myrrh','blueberry','guava','juniper','allspice','dill','opoponax','peach','violet','ginger','hay','tonka','caramel','rancid','medicinal','honey','clove','cinnamon','tarry','metallic','chamomile','violetleaf','patchouli','linden','coriander','frankincense','mango','tomato','turmeric','costus','pear','apricot','malty','marine','cardamom','plum','tea','elderflower','cocoa','lilac','osmanthus','eucalyptus','tobacco','narcissus','fir','vetiver','cedarwood','cognac','lime','yuzu','cyclamen','passionfruit','sage','elemi','labdanum']; function legendClasses(){ if(_mapColorBy==='aroma') return AROMA_HEADS; if(_mapColorBy==='both') return TASTE_CLASSES.concat(AROMA_HEADS);