Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -49,18 +49,19 @@ except ImportError:
|
|
| 49 |
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 50 |
# Constants
|
| 51 |
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 52 |
-
#
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
|
|
|
| 64 |
N_FFT = 2048
|
| 65 |
HOP = 512
|
| 66 |
MAX_DUR_S = 300 # clip to 5 min for HuggingFace timeout safety
|
|
@@ -532,33 +533,33 @@ CSS = """
|
|
| 532 |
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
|
| 533 |
|
| 534 |
body, .gradio-container {
|
| 535 |
-
background: #
|
| 536 |
font-family: 'DM Sans', sans-serif !important;
|
| 537 |
-
color: #
|
| 538 |
}
|
| 539 |
h1, h2, h3, h4 {
|
| 540 |
font-family: 'Nunito Sans', sans-serif !important;
|
| 541 |
-
color: #
|
| 542 |
}
|
| 543 |
h1 { font-size: 2.2rem !important; font-weight: 800 !important; }
|
| 544 |
h2, h3 { font-weight: 700 !important; }
|
| 545 |
label, .tab-nav button {
|
| 546 |
font-family: 'DM Sans', sans-serif !important;
|
| 547 |
font-weight: 600 !important;
|
| 548 |
-
color: #
|
| 549 |
}
|
| 550 |
-
p, .prose, .markdown-body { color: #
|
| 551 |
|
| 552 |
-
/* Cards / surfaces β
|
| 553 |
.gr-panel, .gr-box, .gr-form, .tabitem, .block {
|
| 554 |
-
background: #
|
| 555 |
-
border: 1px solid #
|
| 556 |
border-radius: 12px !important;
|
| 557 |
}
|
| 558 |
|
| 559 |
-
/* Buttons β
|
| 560 |
.gr-button, button.primary {
|
| 561 |
-
background: #
|
| 562 |
border: none !important;
|
| 563 |
color: #FFFFFF !important;
|
| 564 |
font-weight: 700;
|
|
@@ -568,13 +569,13 @@ p, .prose, .markdown-body { color: #717171 !important; }
|
|
| 568 |
transition: background 0.15s ease-in-out;
|
| 569 |
}
|
| 570 |
.gr-button:hover, button.primary:hover {
|
| 571 |
-
background: #
|
| 572 |
}
|
| 573 |
|
| 574 |
/* Tabs β coral active state */
|
| 575 |
.tab-nav button.selected {
|
| 576 |
-
color: #
|
| 577 |
-
border-color: #
|
| 578 |
}
|
| 579 |
|
| 580 |
footer { display: none !important; }
|
|
@@ -594,7 +595,7 @@ EXAMPLES = [e for e in EXAMPLES if os.path.isfile(e[0])]
|
|
| 594 |
|
| 595 |
with gr.Blocks(title="π Marine Soundscape Analyzer", css=CSS,
|
| 596 |
theme=gr.themes.Base(
|
| 597 |
-
primary_hue="
|
| 598 |
secondary_hue="teal",
|
| 599 |
neutral_hue="gray",
|
| 600 |
font=gr.themes.GoogleFont("Nunito Sans"),
|
|
|
|
| 49 |
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 50 |
# Constants
|
| 51 |
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 52 |
+
# Tidepool Sorbet palette β fresh, sunny, welcoming
|
| 53 |
+
# Coral #ff7a7a Β· Apricot #ffa36c Β· Butter #fff1b6 Β· Mint #7ae7c7 Β· Deep Teal #1f6f78
|
| 54 |
+
BG_COLOR = "#FFF1B6" # Pale Butter Yellow β page & figure background
|
| 55 |
+
SURFACE = "#FFFDF6" # warm near-white β card / plot-axis surface (pops against butter)
|
| 56 |
+
GRID_COLOR = "#F2CE8A" # deeper butter β dividers, plot grid & borders
|
| 57 |
+
TEXT_COLOR = "#1F6F78" # Deep Teal β headings & primary text
|
| 58 |
+
TEXT_MUTED = "#4F8B91" # softened teal β secondary text
|
| 59 |
+
ACCENT = "#FF7A7A" # Coral β primary CTA / plot highlights
|
| 60 |
+
ACCENT_HOVER = "#E85F5F" # darker coral β hover/pressed state
|
| 61 |
+
SECONDARY = "#FFA36C" # Apricot β secondary highlight (pairs with coral)
|
| 62 |
+
SUCCESS = "#1F9D86" # deep mint/teal β positive / biotic indicator
|
| 63 |
+
WARNING = "#7AE7C7" # Mint β fresh accent (diversity indicator)
|
| 64 |
+
ERROR = "#E2483F" # deep coral-red β errors / negative indicator
|
| 65 |
N_FFT = 2048
|
| 66 |
HOP = 512
|
| 67 |
MAX_DUR_S = 300 # clip to 5 min for HuggingFace timeout safety
|
|
|
|
| 533 |
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
|
| 534 |
|
| 535 |
body, .gradio-container {
|
| 536 |
+
background: #FFF1B6 !important;
|
| 537 |
font-family: 'DM Sans', sans-serif !important;
|
| 538 |
+
color: #1F6F78 !important;
|
| 539 |
}
|
| 540 |
h1, h2, h3, h4 {
|
| 541 |
font-family: 'Nunito Sans', sans-serif !important;
|
| 542 |
+
color: #1F6F78 !important;
|
| 543 |
}
|
| 544 |
h1 { font-size: 2.2rem !important; font-weight: 800 !important; }
|
| 545 |
h2, h3 { font-weight: 700 !important; }
|
| 546 |
label, .tab-nav button {
|
| 547 |
font-family: 'DM Sans', sans-serif !important;
|
| 548 |
font-weight: 600 !important;
|
| 549 |
+
color: #1F6F78 !important;
|
| 550 |
}
|
| 551 |
+
p, .prose, .markdown-body { color: #4F8B91 !important; }
|
| 552 |
|
| 553 |
+
/* Cards / surfaces β warm near-white, popping against the butter page background */
|
| 554 |
.gr-panel, .gr-box, .gr-form, .tabitem, .block {
|
| 555 |
+
background: #FFFDF6 !important;
|
| 556 |
+
border: 1px solid #F2CE8A !important;
|
| 557 |
border-radius: 12px !important;
|
| 558 |
}
|
| 559 |
|
| 560 |
+
/* Buttons β Tidepool Sorbet coral primary */
|
| 561 |
.gr-button, button.primary {
|
| 562 |
+
background: #FF7A7A !important;
|
| 563 |
border: none !important;
|
| 564 |
color: #FFFFFF !important;
|
| 565 |
font-weight: 700;
|
|
|
|
| 569 |
transition: background 0.15s ease-in-out;
|
| 570 |
}
|
| 571 |
.gr-button:hover, button.primary:hover {
|
| 572 |
+
background: #E85F5F !important;
|
| 573 |
}
|
| 574 |
|
| 575 |
/* Tabs β coral active state */
|
| 576 |
.tab-nav button.selected {
|
| 577 |
+
color: #FF7A7A !important;
|
| 578 |
+
border-color: #FF7A7A !important;
|
| 579 |
}
|
| 580 |
|
| 581 |
footer { display: none !important; }
|
|
|
|
| 595 |
|
| 596 |
with gr.Blocks(title="π Marine Soundscape Analyzer", css=CSS,
|
| 597 |
theme=gr.themes.Base(
|
| 598 |
+
primary_hue="orange",
|
| 599 |
secondary_hue="teal",
|
| 600 |
neutral_hue="gray",
|
| 601 |
font=gr.themes.GoogleFont("Nunito Sans"),
|