Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"/> | |
| <meta content="width=1280, height=720, initial-scale=1.0" name="viewport"/> | |
| <title>Experimental Idea – Local Podcast & Dubbing</title> | |
| <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet"/> | |
| <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;600;700&family=Roboto+Mono:wght@300;400;500&display=swap" rel="stylesheet"/> | |
| <link href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/css/all.min.css" rel="stylesheet"/> | |
| <style> | |
| body { | |
| margin: 0; | |
| padding: 0; | |
| width: 1280px; | |
| height: 720px; | |
| overflow: hidden; | |
| font-family: 'Space Grotesk', sans-serif; | |
| background-color: #050505; | |
| color: #ffffff; | |
| } | |
| .slide-container { | |
| width: 1280px; | |
| height: 720px; | |
| display: flex; | |
| position: relative; | |
| background-color: #050505; | |
| background-image: url('data:image/svg+xml,%3Csvg width="40" height="40" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M0 0h40v40H0z" fill="none"/%3E%3Cpath d="M0 39h40M39 0v40" stroke="%2300f3ff" stroke-opacity="0.05" stroke-width="1"/%3E%3C/svg%3E'); | |
| } | |
| /* Decorative Background Elements */ | |
| .glow-orb { | |
| position: absolute; | |
| width: 600px; | |
| height: 600px; | |
| border-radius: 50%; | |
| background-color: #00f3ff; | |
| opacity: 0.03; | |
| filter: blur(100px); | |
| z-index: 0; | |
| } | |
| .orb-left { top: -200px; left: -200px; } | |
| .orb-right { bottom: -200px; right: -200px; background-color: #ff9933; } | |
| /* Left Panel - Concept Visualization */ | |
| .left-panel { | |
| flex: 0 0 55%; | |
| padding: 50px; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| .concept-visual-container { | |
| width: 100%; | |
| height: 500px; | |
| background: rgba(20, 20, 25, 0.6); | |
| border: 1px solid rgba(0, 243, 255, 0.2); | |
| border-radius: 12px; | |
| position: relative; | |
| overflow: hidden; | |
| box-shadow: 0 0 30px rgba(0, 0, 0, 0.5); | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 40px; | |
| } | |
| /* Audio Track Visuals */ | |
| .track-container { | |
| width: 100%; | |
| margin-bottom: 30px; | |
| position: relative; | |
| } | |
| .track-header { | |
| display: flex; | |
| justify-content: space-between; | |
| margin-bottom: 8px; | |
| font-family: 'Roboto Mono', monospace; | |
| font-size: 12px; | |
| color: #888; | |
| } | |
| .track-header span.highlight { | |
| color: #fff; | |
| font-weight: 600; | |
| } | |
| .waveform-bg { | |
| width: 100%; | |
| height: 60px; | |
| background: rgba(0, 0, 0, 0.5); | |
| border: 1px solid #333; | |
| border-radius: 6px; | |
| position: relative; | |
| overflow: hidden; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| } | |
| /* Simulated Waveform Bars */ | |
| .wave-bar { | |
| width: 4px; | |
| margin: 0 2px; | |
| border-radius: 2px; | |
| animation: pulse 2s infinite ease-in-out; | |
| } | |
| .wave-cyan { background-color: rgba(0, 243, 255, 0.6); } | |
| .wave-orange { background-color: rgba(255, 153, 51, 0.6); } | |
| @keyframes pulse { | |
| 0%, 100% { height: 20%; opacity: 0.5; } | |
| 50% { height: 80%; opacity: 1; } | |
| } | |
| /* Connecting Transformation Layer */ | |
| .transform-layer { | |
| height: 60px; | |
| width: 100%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| position: relative; | |
| } | |
| .transform-arrow { | |
| color: #555; | |
| font-size: 20px; | |
| animation: flowDown 1.5s infinite; | |
| } | |
| @keyframes flowDown { | |
| 0% { transform: translateY(-10px); opacity: 0; } | |
| 50% { opacity: 1; } | |
| 100% { transform: translateY(10px); opacity: 0; } | |
| } | |
| .voice-clone-badge { | |
| background: rgba(0, 255, 157, 0.1); | |
| border: 1px solid rgba(0, 255, 157, 0.3); | |
| color: #00ff9d; | |
| padding: 4px 12px; | |
| border-radius: 12px; | |
| font-size: 10px; | |
| font-family: 'Roboto Mono', monospace; | |
| position: absolute; | |
| left: 50%; | |
| top: 50%; | |
| transform: translate(-50%, -50%); | |
| z-index: 2; | |
| } | |
| /* Playhead */ | |
| .playhead { | |
| position: absolute; | |
| top: 0; | |
| bottom: 0; | |
| left: 45%; | |
| width: 2px; | |
| background-color: #fff; | |
| z-index: 10; | |
| box-shadow: 0 0 10px rgba(255, 255, 255, 0.8); | |
| } | |
| .playhead::after { | |
| content: '00:04:12'; | |
| position: absolute; | |
| top: -20px; | |
| left: -20px; | |
| background: #fff; | |
| color: #000; | |
| font-size: 10px; | |
| padding: 2px 4px; | |
| border-radius: 2px; | |
| font-family: 'Roboto Mono', monospace; | |
| font-weight: 700; | |
| } | |
| /* Right Panel - Features List */ | |
| .right-panel { | |
| flex: 1; | |
| padding: 50px 60px 50px 20px; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| position: relative; | |
| z-index: 2; | |
| } | |
| .header-tag { | |
| font-family: 'Roboto Mono', monospace; | |
| color: #ff9933; | |
| font-size: 12px; | |
| letter-spacing: 2px; | |
| margin-bottom: 12px; | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .header-tag::before { | |
| content: ''; | |
| width: 6px; | |
| height: 6px; | |
| background-color: #ff9933; | |
| border-radius: 50%; | |
| box-shadow: 0 0 8px #ff9933; | |
| } | |
| .main-title { | |
| font-size: 38px; | |
| font-weight: 700; | |
| line-height: 1.1; | |
| margin-bottom: 30px; | |
| color: #ffffff; | |
| } | |
| .main-title span { | |
| color: #00f3ff; | |
| } | |
| .feature-grid { | |
| display: grid; | |
| grid-template-columns: 1fr; | |
| gap: 25px; | |
| } | |
| .feature-row { | |
| display: flex; | |
| align-items: flex-start; | |
| gap: 20px; | |
| padding: 15px; | |
| border-bottom: 1px solid rgba(255, 255, 255, 0.05); | |
| transition: background 0.3s; | |
| } | |
| .feature-row:hover { | |
| background: rgba(255, 255, 255, 0.03); | |
| border-bottom-color: rgba(0, 243, 255, 0.3); | |
| } | |
| .feature-icon-box { | |
| width: 44px; | |
| height: 44px; | |
| background: rgba(30, 30, 35, 0.8); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| border-radius: 8px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: #fff; | |
| font-size: 18px; | |
| flex-shrink: 0; | |
| } | |
| .icon-cyan { color: #00f3ff; border-color: rgba(0, 243, 255, 0.3); } | |
| .icon-orange { color: #ff9933; border-color: rgba(255, 153, 51, 0.3); } | |
| .icon-green { color: #00ff9d; border-color: rgba(0, 255, 157, 0.3); } | |
| .icon-grey { color: #ccc; border-color: rgba(200, 200, 200, 0.3); } | |
| .feature-content h3 { | |
| font-size: 18px; | |
| font-weight: 600; | |
| color: #e0e0e0; | |
| margin: 0 0 6px 0; | |
| } | |
| .feature-content p { | |
| font-size: 14px; | |
| color: #999; | |
| line-height: 1.5; | |
| margin: 0; | |
| } | |
| /* Comparison Badge */ | |
| .comparison-badge { | |
| margin-top: 30px; | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 10px; | |
| background: rgba(255, 255, 255, 0.05); | |
| padding: 8px 16px; | |
| border-radius: 20px; | |
| border: 1px solid #333; | |
| } | |
| .badge-text { | |
| font-family: 'Roboto Mono', monospace; | |
| font-size: 12px; | |
| color: #888; | |
| } | |
| .badge-highlight { | |
| color: #fff; | |
| font-weight: 600; | |
| } | |
| /* Tech decorations */ | |
| .bracket { | |
| position: absolute; | |
| width: 10px; | |
| height: 30px; | |
| border: 2px solid #555; | |
| z-index: 5; | |
| } | |
| .b-left { left: 40px; top: 50%; border-right: 0; } | |
| .b-right { right: 40px; top: 50%; border-left: 0; } | |
| /* Custom Wave Animation Delay */ | |
| .w1 { animation-delay: 0.1s; height: 40%; } | |
| .w2 { animation-delay: 0.2s; height: 70%; } | |
| .w3 { animation-delay: 0.5s; height: 30%; } | |
| .w4 { animation-delay: 0.3s; height: 90%; } | |
| .w5 { animation-delay: 0.1s; height: 50%; } | |
| .w6 { animation-delay: 0.4s; height: 20%; } | |
| .w7 { animation-delay: 0.6s; height: 80%; } | |
| .w8 { animation-delay: 0.2s; height: 40%; } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="slide-container"> | |
| <!-- Background Glows --> | |
| <div class="glow-orb orb-left"></div> | |
| <div class="glow-orb orb-right"></div> | |
| <!-- Decorative Tech Brackets --> | |
| <div class="bracket b-left"></div> | |
| <div class="bracket b-right"></div> | |
| <!-- Left Panel: Concept Visualization --> | |
| <div class="left-panel"> | |
| <div class="concept-visual-container"> | |
| <!-- Track 1: Original Audio --> | |
| <div class="track-container"> | |
| <div class="track-header"> | |
| <div><i class="fas fa-file-audio mr-2 text-blue-400"></i>Source: Podcast_Ep1.mp3</div> | |
| <span class="highlight">ENGLISH</span> | |
| </div> | |
| <div class="waveform-bg"> | |
| <div class="playhead"></div> | |
| <!-- Simulated Waveform --> | |
| <div class="wave-bar wave-cyan w1"></div> | |
| <div class="wave-bar wave-cyan w3"></div> | |
| <div class="wave-bar wave-cyan w2"></div> | |
| <div class="wave-bar wave-cyan w4"></div> | |
| <div class="wave-bar wave-cyan w7"></div> | |
| <div class="wave-bar wave-cyan w5"></div> | |
| <div class="wave-bar wave-cyan w2"></div> | |
| <div class="wave-bar wave-cyan w6"></div> | |
| <div class="wave-bar wave-cyan w3"></div> | |
| <div class="wave-bar wave-cyan w4"></div> | |
| <div class="wave-bar wave-cyan w1"></div> | |
| <div class="wave-bar wave-cyan w2"></div> | |
| <div class="wave-bar wave-cyan w7"></div> | |
| <div class="wave-bar wave-cyan w5"></div> | |
| <div class="wave-bar wave-cyan w3"></div> | |
| <div class="wave-bar wave-cyan w6"></div> | |
| <div class="wave-bar wave-cyan w2"></div> | |
| <div class="wave-bar wave-cyan w4"></div> | |
| <div class="wave-bar wave-cyan w1"></div> | |
| <div class="wave-bar wave-cyan w3"></div> | |
| </div> | |
| </div> | |
| <!-- Transformation Layer --> | |
| <div class="transform-layer"> | |
| <i class="fas fa-chevron-down transform-arrow"></i> | |
| <i class="fas fa-chevron-down transform-arrow" style="animation-delay: 0.2s"></i> | |
| <div class="voice-clone-badge"><i class="fas fa-fingerprint mr-1"></i> CLONING VOICE STYLE...</div> | |
| <i class="fas fa-chevron-down transform-arrow" style="animation-delay: 0.4s"></i> | |
| <i class="fas fa-chevron-down transform-arrow" style="animation-delay: 0.6s"></i> | |
| </div> | |
| <!-- Track 2: Generated Audio --> | |
| <div class="track-container"> | |
| <div class="track-header"> | |
| <div><i class="fas fa-wave-square mr-2 text-orange-400"></i>Output: Dub_Hindi.wav</div> | |
| <span class="highlight" style="color: #ff9933">HINDI</span> | |
| </div> | |
| <div class="waveform-bg"> | |
| <div class="playhead"></div> | |
| <!-- Simulated Waveform --> | |
| <div class="wave-bar wave-orange w2"></div> | |
| <div class="wave-bar wave-orange w4"></div> | |
| <div class="wave-bar wave-orange w1"></div> | |
| <div class="wave-bar wave-orange w5"></div> | |
| <div class="wave-bar wave-orange w3"></div> | |
| <div class="wave-bar wave-orange w6"></div> | |
| <div class="wave-bar wave-orange w2"></div> | |
| <div class="wave-bar wave-orange w7"></div> | |
| <div class="wave-bar wave-orange w4"></div> | |
| <div class="wave-bar wave-orange w1"></div> | |
| <div class="wave-bar wave-orange w5"></div> | |
| <div class="wave-bar wave-orange w2"></div> | |
| <div class="wave-bar wave-orange w6"></div> | |
| <div class="wave-bar wave-orange w3"></div> | |
| <div class="wave-bar wave-orange w7"></div> | |
| <div class="wave-bar wave-orange w4"></div> | |
| <div class="wave-bar wave-orange w1"></div> | |
| <div class="wave-bar wave-orange w2"></div> | |
| <div class="wave-bar wave-orange w5"></div> | |
| <div class="wave-bar wave-orange w3"></div> | |
| </div> | |
| </div> | |
| <!-- Overlay Label --> | |
| <div class="visual-overlay" style="position: absolute; bottom: 20px; left: 20px; background: rgba(0, 0, 0, 0.8); border: 1px solid #333; padding: 8px 16px; border-radius: 4px; font-family: 'Roboto Mono', monospace; font-size: 10px; color: #00ff9d;"> | |
| <i class="fas fa-bolt"></i> MODE: OFFLINE BATCH PROCESSING | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Right Panel: Features --> | |
| <div class="right-panel"> | |
| <div class="header-tag"> | |
| <p>EXPERIMENTAL IDEA #2</p> | |
| </div> | |
| <h1 class="main-title"> | |
| Local Podcast & | |
| <span>Dubbing</span> | |
| </h1> | |
| <div class="feature-grid"> | |
| <!-- Feature 1 --> | |
| <div class="feature-row"> | |
| <div class="feature-icon-box icon-cyan"> | |
| <i class="fas fa-microphone-lines"></i> | |
| </div> | |
| <div class="feature-content"> | |
| <h3>Lightweight Local TTS</h3> | |
| <p>Multi-speaker synthesis running entirely on-device with low latency.</p> | |
| </div> | |
| </div> | |
| <!-- Feature 2 --> | |
| <div class="feature-row"> | |
| <div class="feature-icon-box icon-orange"> | |
| <i class="fas fa-fingerprint"></i> | |
| </div> | |
| <div class="feature-content"> | |
| <h3>Custom Voice Cloning</h3> | |
| <p>Clone a voice with just 1 minute of audio. Includes built-in ethical guardrails.</p> | |
| </div> | |
| </div> | |
| <!-- Feature 3 --> | |
| <div class="feature-row"> | |
| <div class="feature-icon-box icon-green"> | |
| <i class="fas fa-language"></i> | |
| </div> | |
| <div class="feature-content"> | |
| <h3>Cross-Lingual Dubbing</h3> | |
| <p>Auto-translate podcasts while preserving the original speaker's tone and timing.</p> | |
| </div> | |
| </div> | |
| <!-- Feature 4 --> | |
| <div class="feature-row"> | |
| <div class="feature-icon-box icon-grey"> | |
| <i class="fas fa-server"></i> | |
| </div> | |
| <div class="feature-content"> | |
| <h3>Batch Generation</h3> | |
| <p>Process entire episodes in background. Optimised for low VRAM (consumer GPUs).</p> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Comparison Badge --> | |
| <div class="comparison-badge"> | |
| <i class="fas fa-check-circle" style="color: #00f3ff;"></i> | |
| <p class="badge-text">Like <span class="badge-highlight">ElevenLabs</span> but 100% Free & Offline</p> | |
| </div> | |
| </div> | |
| </div> | |
| </body> | |
| </html> | |