app.py 3
Browse files
app.py
CHANGED
|
@@ -542,13 +542,15 @@ custom_css = """
|
|
| 542 |
--neon-pink: #ff006e;
|
| 543 |
--neon-purple: #bf00ff;
|
| 544 |
--neon-orange: #ff6b35;
|
| 545 |
-
--dark-bg: #
|
| 546 |
-
--dark-panel: #
|
| 547 |
-
--dark-card: #
|
| 548 |
-
--border-glow: rgba(0, 245, 255, 0.
|
| 549 |
-
--text-primary: #
|
| 550 |
-
--text-
|
| 551 |
-
--
|
|
|
|
|
|
|
| 552 |
}
|
| 553 |
|
| 554 |
/* =====================================================
|
|
@@ -768,10 +770,10 @@ body::after {
|
|
| 768 |
}
|
| 769 |
|
| 770 |
.cyber-card {
|
| 771 |
-
background:
|
| 772 |
-
border: 1px solid
|
| 773 |
border-radius: 4px !important;
|
| 774 |
-
padding:
|
| 775 |
position: relative;
|
| 776 |
overflow: hidden;
|
| 777 |
transition: border-color 0.3s, box-shadow 0.3s;
|
|
@@ -783,20 +785,20 @@ body::after {
|
|
| 783 |
top: 0; left: 0;
|
| 784 |
width: 3px; height: 100%;
|
| 785 |
background: linear-gradient(180deg, var(--neon-cyan), var(--neon-purple));
|
| 786 |
-
box-shadow: 0 0
|
| 787 |
}
|
| 788 |
|
| 789 |
.cyber-card::after {
|
| 790 |
content: '';
|
| 791 |
position: absolute;
|
| 792 |
top: 0; right: 0;
|
| 793 |
-
width:
|
| 794 |
-
background: radial-gradient(circle, rgba(0,245,255,0.
|
| 795 |
}
|
| 796 |
|
| 797 |
.cyber-card:hover {
|
| 798 |
-
border-color: rgba(0, 245, 255, 0.
|
| 799 |
-
box-shadow: 0 0
|
| 800 |
}
|
| 801 |
|
| 802 |
/* =====================================================
|
|
@@ -808,8 +810,8 @@ body::after {
|
|
| 808 |
.gr-form,
|
| 809 |
div[class*="panel"],
|
| 810 |
div[class*="block"] {
|
| 811 |
-
background:
|
| 812 |
-
border: 1px solid
|
| 813 |
border-radius: 4px !important;
|
| 814 |
box-shadow: none !important;
|
| 815 |
backdrop-filter: none !important;
|
|
@@ -827,20 +829,21 @@ h1, h2, h3, h4 {
|
|
| 827 |
|
| 828 |
h2 {
|
| 829 |
font-size: 16px !important;
|
| 830 |
-
color:
|
| 831 |
-
border-bottom: 1px solid rgba(0,245,255,0.
|
| 832 |
padding-bottom: 8px !important;
|
| 833 |
margin-bottom: 16px !important;
|
|
|
|
| 834 |
}
|
| 835 |
|
| 836 |
h3 {
|
| 837 |
-
font-size:
|
| 838 |
-
color:
|
| 839 |
}
|
| 840 |
|
| 841 |
h4 {
|
| 842 |
-
font-size:
|
| 843 |
-
color:
|
| 844 |
}
|
| 845 |
|
| 846 |
/* =====================================================
|
|
@@ -848,12 +851,24 @@ h4 {
|
|
| 848 |
===================================================== */
|
| 849 |
label, .gr-label span, p, li {
|
| 850 |
font-family: 'Rajdhani', sans-serif !important;
|
| 851 |
-
color:
|
| 852 |
-
font-size:
|
| 853 |
font-weight: 600 !important;
|
| 854 |
letter-spacing: 1px !important;
|
| 855 |
}
|
| 856 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 857 |
/* =====================================================
|
| 858 |
ANALYZE BUTTON
|
| 859 |
===================================================== */
|
|
@@ -919,10 +934,10 @@ input[type="text"],
|
|
| 919 |
input {
|
| 920 |
font-family: 'Share Tech Mono', monospace !important;
|
| 921 |
font-size: 13px !important;
|
| 922 |
-
background:
|
| 923 |
-
border: 1px solid rgba(0, 245, 255, 0.
|
| 924 |
border-radius: 3px !important;
|
| 925 |
-
color:
|
| 926 |
transition: all 0.3s !important;
|
| 927 |
letter-spacing: 0.5px !important;
|
| 928 |
}
|
|
@@ -930,10 +945,16 @@ input {
|
|
| 930 |
textarea:focus,
|
| 931 |
input:focus {
|
| 932 |
border-color: var(--neon-cyan) !important;
|
| 933 |
-
box-shadow: 0 0 15px rgba(0, 245, 255, 0.
|
| 934 |
outline: none !important;
|
| 935 |
}
|
| 936 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 937 |
/* =====================================================
|
| 938 |
VIDEO COMPONENT
|
| 939 |
===================================================== */
|
|
@@ -991,13 +1012,13 @@ div[class*="bar"],
|
|
| 991 |
.gr-accordion,
|
| 992 |
details,
|
| 993 |
summary {
|
| 994 |
-
background:
|
| 995 |
-
border: 1px solid rgba(0,245,255,0.
|
| 996 |
border-radius: 4px !important;
|
| 997 |
font-family: 'Orbitron', monospace !important;
|
| 998 |
font-size: 12px !important;
|
| 999 |
letter-spacing: 2px !important;
|
| 1000 |
-
color:
|
| 1001 |
text-transform: uppercase !important;
|
| 1002 |
}
|
| 1003 |
|
|
@@ -1005,6 +1026,7 @@ details summary {
|
|
| 1005 |
padding: 14px 20px !important;
|
| 1006 |
cursor: pointer !important;
|
| 1007 |
transition: color 0.3s !important;
|
|
|
|
| 1008 |
}
|
| 1009 |
|
| 1010 |
details summary:hover {
|
|
@@ -1013,7 +1035,7 @@ details summary:hover {
|
|
| 1013 |
|
| 1014 |
details[open] summary {
|
| 1015 |
color: var(--neon-cyan) !important;
|
| 1016 |
-
border-bottom: 1px solid rgba(0,245,255,0.
|
| 1017 |
}
|
| 1018 |
|
| 1019 |
/* =====================================================
|
|
@@ -1216,19 +1238,19 @@ with gr.Blocks(
|
|
| 1216 |
gr.HTML("""
|
| 1217 |
<div class="info-grid">
|
| 1218 |
<div class="cyber-card">
|
| 1219 |
-
<h4 style="font-family:'Orbitron',monospace;font-size:10px;letter-spacing:3px;color:#
|
| 1220 |
-
<div style="font-family:'Share Tech Mono',monospace;font-size:
|
| 1221 |
-
<div>β Audio Waveform Analysis</div>
|
| 1222 |
-
<div>β Speech Transcription (Whisper)</div>
|
| 1223 |
-
<div>β Facial Expression Mapping</div>
|
| 1224 |
</div>
|
| 1225 |
</div>
|
| 1226 |
-
<div class="cyber-card" style="--
|
| 1227 |
-
<h4 style="font-family:'Orbitron',monospace;font-size:10px;letter-spacing:3px;color:#
|
| 1228 |
-
<div style="font-family:'Share Tech Mono',monospace;font-size:
|
| 1229 |
-
<div>β Wav2Vec2 Β· BERT Β· ResNet18</div>
|
| 1230 |
-
<div>β Whisper ASR</div>
|
| 1231 |
-
<div>β Hybrid Bimodal Fusion (HBF)</div>
|
| 1232 |
</div>
|
| 1233 |
</div>
|
| 1234 |
</div>
|
|
|
|
| 542 |
--neon-pink: #ff006e;
|
| 543 |
--neon-purple: #bf00ff;
|
| 544 |
--neon-orange: #ff6b35;
|
| 545 |
+
--dark-bg: #060e1a;
|
| 546 |
+
--dark-panel: #0a1628;
|
| 547 |
+
--dark-card: #0d1e35;
|
| 548 |
+
--border-glow: rgba(0, 245, 255, 0.35);
|
| 549 |
+
--text-primary: #cff4ff;
|
| 550 |
+
--text-bright: #ffffff;
|
| 551 |
+
--text-dim: #7eb8cc;
|
| 552 |
+
--text-muted: #5a9ab0;
|
| 553 |
+
--grid-color: rgba(0, 245, 255, 0.05);
|
| 554 |
}
|
| 555 |
|
| 556 |
/* =====================================================
|
|
|
|
| 770 |
}
|
| 771 |
|
| 772 |
.cyber-card {
|
| 773 |
+
background: #0d1e35 !important;
|
| 774 |
+
border: 1px solid rgba(0, 245, 255, 0.3) !important;
|
| 775 |
border-radius: 4px !important;
|
| 776 |
+
padding: 22px 26px !important;
|
| 777 |
position: relative;
|
| 778 |
overflow: hidden;
|
| 779 |
transition: border-color 0.3s, box-shadow 0.3s;
|
|
|
|
| 785 |
top: 0; left: 0;
|
| 786 |
width: 3px; height: 100%;
|
| 787 |
background: linear-gradient(180deg, var(--neon-cyan), var(--neon-purple));
|
| 788 |
+
box-shadow: 0 0 14px var(--neon-cyan);
|
| 789 |
}
|
| 790 |
|
| 791 |
.cyber-card::after {
|
| 792 |
content: '';
|
| 793 |
position: absolute;
|
| 794 |
top: 0; right: 0;
|
| 795 |
+
width: 80px; height: 80px;
|
| 796 |
+
background: radial-gradient(circle, rgba(0,245,255,0.1) 0%, transparent 70%);
|
| 797 |
}
|
| 798 |
|
| 799 |
.cyber-card:hover {
|
| 800 |
+
border-color: rgba(0, 245, 255, 0.6) !important;
|
| 801 |
+
box-shadow: 0 0 35px rgba(0, 245, 255, 0.15) !important;
|
| 802 |
}
|
| 803 |
|
| 804 |
/* =====================================================
|
|
|
|
| 810 |
.gr-form,
|
| 811 |
div[class*="panel"],
|
| 812 |
div[class*="block"] {
|
| 813 |
+
background: #0a1628 !important;
|
| 814 |
+
border: 1px solid rgba(0, 245, 255, 0.2) !important;
|
| 815 |
border-radius: 4px !important;
|
| 816 |
box-shadow: none !important;
|
| 817 |
backdrop-filter: none !important;
|
|
|
|
| 829 |
|
| 830 |
h2 {
|
| 831 |
font-size: 16px !important;
|
| 832 |
+
color: #00f5ff !important;
|
| 833 |
+
border-bottom: 1px solid rgba(0,245,255,0.3) !important;
|
| 834 |
padding-bottom: 8px !important;
|
| 835 |
margin-bottom: 16px !important;
|
| 836 |
+
text-shadow: 0 0 12px rgba(0,245,255,0.5) !important;
|
| 837 |
}
|
| 838 |
|
| 839 |
h3 {
|
| 840 |
+
font-size: 15px !important;
|
| 841 |
+
color: #ffffff !important;
|
| 842 |
}
|
| 843 |
|
| 844 |
h4 {
|
| 845 |
+
font-size: 13px !important;
|
| 846 |
+
color: #7eb8cc !important;
|
| 847 |
}
|
| 848 |
|
| 849 |
/* =====================================================
|
|
|
|
| 851 |
===================================================== */
|
| 852 |
label, .gr-label span, p, li {
|
| 853 |
font-family: 'Rajdhani', sans-serif !important;
|
| 854 |
+
color: #ffffff !important;
|
| 855 |
+
font-size: 15px !important;
|
| 856 |
font-weight: 600 !important;
|
| 857 |
letter-spacing: 1px !important;
|
| 858 |
}
|
| 859 |
|
| 860 |
+
/* Gradio component labels */
|
| 861 |
+
.svelte-1ipelgc, span.svelte-1ipelgc,
|
| 862 |
+
div[class*="label"] > span,
|
| 863 |
+
.block > label > span {
|
| 864 |
+
color: var(--neon-cyan) !important;
|
| 865 |
+
font-family: 'Share Tech Mono', monospace !important;
|
| 866 |
+
font-size: 12px !important;
|
| 867 |
+
letter-spacing: 2px !important;
|
| 868 |
+
text-transform: uppercase !important;
|
| 869 |
+
opacity: 1 !important;
|
| 870 |
+
}
|
| 871 |
+
|
| 872 |
/* =====================================================
|
| 873 |
ANALYZE BUTTON
|
| 874 |
===================================================== */
|
|
|
|
| 934 |
input {
|
| 935 |
font-family: 'Share Tech Mono', monospace !important;
|
| 936 |
font-size: 13px !important;
|
| 937 |
+
background: #071020 !important;
|
| 938 |
+
border: 1px solid rgba(0, 245, 255, 0.25) !important;
|
| 939 |
border-radius: 3px !important;
|
| 940 |
+
color: #cff4ff !important;
|
| 941 |
transition: all 0.3s !important;
|
| 942 |
letter-spacing: 0.5px !important;
|
| 943 |
}
|
|
|
|
| 945 |
textarea:focus,
|
| 946 |
input:focus {
|
| 947 |
border-color: var(--neon-cyan) !important;
|
| 948 |
+
box-shadow: 0 0 15px rgba(0, 245, 255, 0.25) !important;
|
| 949 |
outline: none !important;
|
| 950 |
}
|
| 951 |
|
| 952 |
+
/* placeholder */
|
| 953 |
+
textarea::placeholder,
|
| 954 |
+
input::placeholder {
|
| 955 |
+
color: rgba(127, 184, 204, 0.45) !important;
|
| 956 |
+
}
|
| 957 |
+
|
| 958 |
/* =====================================================
|
| 959 |
VIDEO COMPONENT
|
| 960 |
===================================================== */
|
|
|
|
| 1012 |
.gr-accordion,
|
| 1013 |
details,
|
| 1014 |
summary {
|
| 1015 |
+
background: #0d1e35 !important;
|
| 1016 |
+
border: 1px solid rgba(0,245,255,0.2) !important;
|
| 1017 |
border-radius: 4px !important;
|
| 1018 |
font-family: 'Orbitron', monospace !important;
|
| 1019 |
font-size: 12px !important;
|
| 1020 |
letter-spacing: 2px !important;
|
| 1021 |
+
color: #7eb8cc !important;
|
| 1022 |
text-transform: uppercase !important;
|
| 1023 |
}
|
| 1024 |
|
|
|
|
| 1026 |
padding: 14px 20px !important;
|
| 1027 |
cursor: pointer !important;
|
| 1028 |
transition: color 0.3s !important;
|
| 1029 |
+
color: #a0d4e8 !important;
|
| 1030 |
}
|
| 1031 |
|
| 1032 |
details summary:hover {
|
|
|
|
| 1035 |
|
| 1036 |
details[open] summary {
|
| 1037 |
color: var(--neon-cyan) !important;
|
| 1038 |
+
border-bottom: 1px solid rgba(0,245,255,0.2) !important;
|
| 1039 |
}
|
| 1040 |
|
| 1041 |
/* =====================================================
|
|
|
|
| 1238 |
gr.HTML("""
|
| 1239 |
<div class="info-grid">
|
| 1240 |
<div class="cyber-card">
|
| 1241 |
+
<h4 style="font-family:'Orbitron',monospace;font-size:10px;letter-spacing:3px;color:#00f5ff;margin:0 0 14px;text-shadow:0 0 8px rgba(0,245,255,0.6);">MODALITIES</h4>
|
| 1242 |
+
<div style="font-family:'Share Tech Mono',monospace;font-size:14px;line-height:2.2;color:#ffffff;">
|
| 1243 |
+
<div><span style="color:#00f5ff;">β</span> Audio Waveform Analysis</div>
|
| 1244 |
+
<div><span style="color:#00f5ff;">β</span> Speech Transcription (Whisper)</div>
|
| 1245 |
+
<div><span style="color:#00f5ff;">β</span> Facial Expression Mapping</div>
|
| 1246 |
</div>
|
| 1247 |
</div>
|
| 1248 |
+
<div class="cyber-card" style="border-left-color:#bf00ff;">
|
| 1249 |
+
<h4 style="font-family:'Orbitron',monospace;font-size:10px;letter-spacing:3px;color:#bf00ff;margin:0 0 14px;text-shadow:0 0 8px rgba(191,0,255,0.6);">NEURAL MODELS</h4>
|
| 1250 |
+
<div style="font-family:'Share Tech Mono',monospace;font-size:14px;line-height:2.2;color:#ffffff;">
|
| 1251 |
+
<div><span style="color:#bf00ff;">β</span> Wav2Vec2 Β· BERT Β· ResNet18</div>
|
| 1252 |
+
<div><span style="color:#bf00ff;">β</span> Whisper ASR</div>
|
| 1253 |
+
<div><span style="color:#bf00ff;">β</span> Hybrid Bimodal Fusion (HBF)</div>
|
| 1254 |
</div>
|
| 1255 |
</div>
|
| 1256 |
</div>
|