import React, { useState, useEffect, useRef } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Sparkles, ArrowRight, Play, Square, Heart, Cpu, FileText, ChevronDown, Check, Volume2, MessageSquare, Mic, Disc, Layers, Globe, Radio, Headphones, PlayCircle, Settings, Flame, Volume1, HelpCircle, User, ExternalLink, BookOpen } from 'lucide-react'; const Github = (props) => ( ); export default function LandingPage({ onTryDemo }) { // Collapsible FAQ Active Index const [activeFaq, setActiveFaq] = useState(null); // Mock Audio Player Demo State const [mockIsPlaying, setMockIsPlaying] = useState(false); const [mockActiveSpeaker, setMockActiveSpeaker] = useState(0); const [mockTimeline, setMockTimeline] = useState(0); const [selectedVoicePreset, setSelectedVoicePreset] = useState('podcast'); const canvasRef = useRef(null); const animationFrameId = useRef(null); // Scroll to section helper const scrollToSection = (id) => { const element = document.getElementById(id); if (element) { element.scrollIntoView({ behavior: 'smooth' }); } }; // Mock Speech Dialogues matching preset const voicePresets = { podcast: { title: "Co-Hosted Tech Podcast", description: "Expressive debate with turn-taking and natural emphasis.", duration: 12, speakers: [ { id: 0, name: "David (AI Host)", color: "cyan" }, { id: 1, name: "Zira (AI Guest)", color: "purple" } ], script: [ { spk: 0, text: "Welcome back! Today we are discussing open-source conversational AI.", time: 0 }, { spk: 1, text: "Yes! And VibeVoice is achieving incredible zero-shot prosody matching.", time: 4 }, { spk: 0, text: "It runs in real-time, even on a basic CPU node.", time: 8 } ] }, audiobook: { title: "Atmospheric Audiobook", description: "Rich descriptive narration with dramatic pauses.", duration: 15, speakers: [ { id: 0, name: "Narrator", color: "amber" } ], script: [ { spk: 0, text: "The ancient model weights loaded slowly, breathing life into the synthesis.", time: 0 }, { spk: 0, text: "Every voice clone whispered of a future built on neural acoustic tokens...", time: 7 } ] }, assistant: { title: "High-Speed Dynamic Support Agent", description: "Polite, helpful customer transaction stream.", duration: 10, speakers: [ { id: 0, name: "VibeVoice Agent", color: "emerald" }, { id: 1, name: "User Alex", color: "rose" } ], script: [ { spk: 0, text: "Hello! I am VibeVoice AI. I can assist with your DineDirect order.", time: 0 }, { spk: 1, text: "Perfect. Add a dynamic voice reference for Speaker 2.", time: 4 }, { spk: 0, text: "Certainly! Setting up customized vocal signature parameters.", time: 7 } ] } }; // Switch voice preset useEffect(() => { setMockIsPlaying(false); setMockTimeline(0); setMockActiveSpeaker(0); }, [selectedVoicePreset]); // Mock play timeline tick useEffect(() => { let interval; if (mockIsPlaying) { const activePreset = voicePresets[selectedVoicePreset]; interval = setInterval(() => { setMockTimeline(prev => { if (prev >= activePreset.duration) { setMockIsPlaying(false); return 0; } const nextVal = prev + 0.1; // Determine active speaker based on time const matchLine = [...activePreset.script].reverse().find(line => nextVal >= line.time); if (matchLine && matchLine.spk !== mockActiveSpeaker) { setMockActiveSpeaker(matchLine.spk); } return nextVal; }); }, 100); } return () => clearInterval(interval); }, [mockIsPlaying, selectedVoicePreset, mockActiveSpeaker]); // Floating Particles or Voice Wave Animation for Visualizer Mock useEffect(() => { const canvas = canvasRef.current; if (!canvas) return; const ctx = canvas.getContext('2d'); const width = canvas.width; const height = canvas.height; let time = 0; const render = () => { time += 0.04; ctx.fillStyle = 'rgba(7, 9, 14, 0.15)'; // Back-sweep fade ctx.fillRect(0, 0, width, height); // Multiple colored floating sin waves const waves = [ { amplitude: mockIsPlaying ? 35 : 8, speed: 1.5, color: 'rgba(0, 242, 254, 0.35)', freq: 0.015 }, { amplitude: mockIsPlaying ? 25 : 6, speed: 2.2, color: 'rgba(162, 89, 255, 0.3)', freq: 0.02 }, { amplitude: mockIsPlaying ? 15 : 4, speed: -1.2, color: 'rgba(255, 92, 141, 0.25)', freq: 0.01 } ]; waves.forEach(w => { ctx.beginPath(); ctx.lineWidth = mockIsPlaying ? 2.5 : 1.5; ctx.strokeStyle = w.color; ctx.shadowBlur = mockIsPlaying ? 8 : 0; ctx.shadowColor = w.color; for (let x = 0; x < width; x++) { const y = height / 2 + Math.sin(x * w.freq + time * w.speed) * w.amplitude * Math.sin(x / width * Math.PI); if (x === 0) ctx.moveTo(x, y); else ctx.lineTo(x, y); } ctx.stroke(); }); // Animated voice bars on left and right borders if (mockIsPlaying) { ctx.fillStyle = 'rgba(0, 242, 254, 0.15)'; for (let i = 0; i < 15; i++) { const barHeight = Math.abs(Math.sin(time * 3 + i)) * 40; ctx.fillRect(15 + i * 8, height - barHeight - 10, 5, barHeight); ctx.fillRect(width - 15 - i * 8 - 5, height - barHeight - 10, 5, barHeight); } } animationFrameId.current = requestAnimationFrame(render); }; render(); return () => cancelAnimationFrame(animationFrameId.current); }, [mockIsPlaying]); // Framer motion containers configs const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { staggerChildren: 0.15 } } }; const itemVariants = { hidden: { opacity: 0, y: 30 }, visible: { opacity: 1, y: 0, transition: { type: "spring", stiffness: 60 } } }; // FAQ List const faqs = [ { q: "What is VibeVoice AI?", a: "VibeVoice AI is an advanced, research-grade open-source neural acoustic speech model developed by Microsoft Research. It leverages multi-turn continuous speaker tokenization to generate hyper-realistic, human-like voice synthesis and dialogue streams without requiring massive GPU cluster infrastructures." }, { q: "Is it completely open source?", a: "Yes, VibeVoice is fully open source. All model architectures, inference engines, and base neural weights (including the lightweight 0.5B parameter variant) are accessible on our GitHub repository and Hugging Face space for developers, researchers, and synthetic media creators." }, { q: "Does it support multi-speaker dialogue synthesis?", a: "Absolutely. Rather than just speaking single phrases, VibeVoice excels at context-aware turn-taking. You can write scripts detailing conversations for two or more speakers, and the model handles transitions, conversational pauses, dynamic pacing, and speech emphasis with extreme stability." }, { q: "Can it generate full podcast discussions?", a: "Yes. By providing a scripted conversation template containing Speaker IDs (e.g. Speaker 0, Speaker 1), the engine aggregates dialogue cues to model natural flow, interruptions, and pacing, producing broadcast-ready podcast tracks." }, { q: "Does it support emotional speech synthesis and voice cloning?", a: "Yes. VibeVoice utilizes zero-shot speaker adaptation. By capturing or uploading a brief 10-30 second reference WAV file, it extracts pitch, vocal envelope, and prosody parameters. The model then synthesizes conversational speech matching the original speaker's vocal signature and dynamic emotional tone." }, { q: "Can developers fine-tune the model weights?", a: "Yes! The repository contains full PyTorch training recipes, quantization parameters, and Hugging Face pipeline wrappers. You can fine-tune VibeVoice on custom speech datasets or scale it in commercial server clouds utilizing GPU-optimized TensorRT containers." }, { q: "Is it suitable for research projects?", a: "VibeVoice was built from the ground up to support academic and commercial speech research. The architecture decouples text tokenization and acoustic prosody representation, offering researchers a clean pipeline to inspect neural audio modeling." } ]; return (
{/* Dynamic Glowing Parallax Backdrop Background */}
{/* Modern Glassmorphic Sticky Navigation */}
window.scrollTo({ top: 0, behavior: 'smooth' })}>
VibeVoiceAI Microsoft Research Ecosystem
{/* Desktop Menu links */}
{/* 1. HERO SECTION */}
{/* Neon Ribbon Badge */}
Active Open-Source Model: VibeVoice v1.5

VibeVoice AI

Human-like conversational speech generation powered by AI. Experience the future of multi-speaker dialogue and expressive zero-shot voice synthesis.

View on GitHub
{/* Feature highlights inside Hero */}

24kHz

High-Fidelity Audio

< 250ms

Dynamic Latency

1.5B

Quantized weights

{/* Hero Visualizer Graphic */} {/* Ambient Background Circles */}
{/* Central AI Orb Graphic */}
{/* Spinning Holographic Waves */}
{/* Pulsating core */}
{/* Glowing satellites */}
{/* Floating UI Audio Indicators */}
Cloned Vocals David_Signature.wav
Stream Broadcast Active turn-taking
{/* 2. ABOUT SECTION */}
The Research Foundation

A Leap Forward in Expressive Speech Synthesis

VibeVoice is an advanced open-source AI voice model developed to bridge the gap between flat, robotic speech-to-text outputs and natural, multi-speaker conversational dialogue.

Hugging Face Portal Developer Docs
{/* About capability cards */}

Zero-Shot Cloning

By processing a brief, 10-second reference voice WAV, the network maps core vocal footprints to synthesize entirely new dialogue styles instantly.

Multi-Speaker Continuity

Models turn-taking triggers, pauses, and context queues so speakers flow smoothly between paragraphs, simulating authentic studio atmospheres.

Research-Grade Architecture

Decoupled neural acoustic tokenizers allow academic inspection and dynamic speed parameter tweaking for multi-agent experiments.

Open Ecosystem

Seamless pipeline wrappers for Hugging Face datasets and local PyTorch containers to build production speech layers.

{/* 3. FEATURES SECTION */}
Enterprise SaaS Features

Synthesize Without Limits

From co-hosted podcasts to responsive gaming characters, VibeVoice AI bundles powerful acoustic capabilities out-of-the-box.

{/* Feature Card A */}

Multi-Speaker Dialogue

Generate natural conversations between multiple AI speakers. Handles realistic speaker transitions and context-aware continuity automatically.

{/* Feature Card B */}

AI Podcast Generation

Automatically create complete podcast-style discussions with human-like speaking flow, dynamic pacing, and interactive turn exchanges.

{/* Feature Card C */}

Expressive Text-to-Speech

Emotion-aware speech synthesis capturing raw tone, breathing rhythm, natural pauses, and precise vocal emphasis.

{/* Feature Card D */}

Long-Form Audio

Stable long-duration speech generation that maintains voice quality consistency and active conversation memory across chapters.

{/* Feature Card E */}

Voice Style Transfer

Vocal adaptation matching target speaker style, footprint imitation, and fast personalized AI voice mapping.

{/* Feature Card F */}

Conversational AI Speech

Human-like interaction flow, clean turn-taking logic, and advanced prosody modeling for responsive AI web support.

{/* Feature Card G */}

Open Source Ecosystem

First-class Hugging Face model hub integration, comprehensive GitHub community repositories, and developer API templates.

{/* Feature Card H */}

Research-Grade Tech

Designed from first principles for conversational research, scalable local inference workloads, and custom quantization setups.

{/* 4. REAL WORLD USE CASES SECTION */}
Infinite Possibilities

Built for Creators & Engineers

Discover how product squads, creative developers, and researchers deploy VibeVoice AI in the wild.

{[ { title: "AI Podcast Automation", icon: Headphones, color: "cyan" }, { title: "Audiobook Narration", icon: BookOpen, color: "purple" }, { title: "Virtual AI Hosts", icon: Sparkles, color: "emerald" }, { title: "Game Character Voices", icon: Flame, color: "rose" }, { title: "AI YouTube Narration", icon: PlayCircle, color: "amber" }, { title: "Conversational Agents", icon: MessageSquare, color: "blue" }, { title: "Educational Voice", icon: User, color: "cyan" }, { title: "Synthetic Media", icon: Radio, color: "purple" }, { title: "Voice Cloning Research", icon: Mic, color: "rose" }, { title: "Multilingual Dialogue", icon: Globe, color: "emerald" } ].map((item, idx) => { const IconComponent = item.icon; const borderColors = item.color === 'cyan' ? 'hover:border-[#00f2fe]/40' : item.color === 'purple' ? 'hover:border-[#a259ff]/40' : item.color === 'emerald' ? 'hover:border-[#00e673]/40' : item.color === 'rose' ? 'hover:border-[#ff5c8d]/40' : 'hover:border-white/20'; return (
{item.title}
); })}
{/* 5. HOW IT WORKS SECTION */}
Simplifying Complexity

How It Works

Generate customized, context-aware speech dialogue files locally in three simple milestones.

{/* Animated linking lines inside background */}
{/* Step 1 */}
01

Input Text & Script

Format your text using simple speaker tags (e.g., `Speaker 0`, `Speaker 1`). Paste dialogue script snippets directly into the studio box.

{/* Step 2 */}
02

Acoustic Processing

The model maps dialogue turn-taking patterns, computes real-time prosody adjustments, and blends speakers based on custom voice signatures.

{/* Step 3 */}
03

Seamless Broadcast Output

Stream binary PCM audio chunks back to the client browser in under 250ms, then run the client packager to download the mastered WAV file.

{/* 6. TECHNICAL CAPABILITIES SECTION */}
Deep Tech Specifications

Quantized for Low-Latency Performance

By shifting away from multi-gigabyte models that require expensive dedicated GPUs, VibeVoice provides extreme research scalability directly on home laptops.

{[ { label: "Long-Context Synthesis", desc: "Stable generation beyond 30-minute scripts without memory bottlenecks." }, { label: "Multi-Turn Dialogue", desc: "Simulates interruptions, dynamic transitions, and collaborative dialogue." }, { label: "Context Retention", desc: "Tracks prosody style consistency across speaker exchanges." }, { label: "Emotional Speech Modeling", desc: "Adapts speaking pace and emphasis dynamically depending on context." }, { label: "Realistic Timing & Pauses", desc: "Injects breathing frames, silence, and natural hesitation timings." }, { label: "High-Quality Neural TTS", desc: "Synthesizes standard 24,000Hz speech directly client-side." }, { label: "Scalable Deployment", desc: "Supports Docker, Kubernetes deployment, and ONNX Runtime scaling." }, { label: "GPU-Optimized Inference", desc: "Compiles cleanly to TensorRT for enterprise SaaS frameworks." } ].map((cap, index) => (
{cap.label}

{cap.desc}

))}
{/* 7. DEMO SECTION */}
Live Visual Playground

Experience the VibeVoice flow

Click play below to explore interactive speaker switching, custom scripts, and visual voice-wave modulations.

{/* Custom Mock Interactive Demo Component */}
Demo Playback Studio

{voicePresets[selectedVoicePreset].title}

{/* Select Presets bar */}
{Object.keys(voicePresets).map(presetKey => ( ))}
{/* Visualizer Area */}
{/* Animated Orb matching active speaker */} {mockIsPlaying && (
Active: {voicePresets[selectedVoicePreset].speakers[mockActiveSpeaker]?.name || "Speaker"}
)}
{/* Action play controls */}
{mockIsPlaying ? "Playing Dynamic Dialogue Chunks..." : "Ready to playback preview"} {Math.floor(mockTimeline)}s / {voicePresets[selectedVoicePreset].duration}s
{/* Script Viewer */}
Turn-by-Turn Transcript
{voicePresets[selectedVoicePreset].script.map((line, idx) => { const speakerDetails = voicePresets[selectedVoicePreset].speakers[line.spk] || { name: "Guest", color: "cyan" }; const colorBadge = speakerDetails.color === 'cyan' ? 'text-[#00f2fe]' : speakerDetails.color === 'purple' ? 'text-[#a259ff]' : speakerDetails.color === 'amber' ? 'text-[#ffb703]' : 'text-white'; const isActiveLine = mockIsPlaying && mockTimeline >= line.time && (idx === voicePresets[selectedVoicePreset].script.length - 1 || mockTimeline < voicePresets[selectedVoicePreset].script[idx + 1].time); return (
{speakerDetails.name}

{line.text}

); })}

Unlock full control over model layers

Upload voice profiles, customize speeds, and download master tracks in the playground.

{/* 8. OPEN SOURCE SECTION */}
100% Free & Open Source

Join the VibeVoice developer ecosystem

We believe conversational voice models should be accessible to all developers. Get instant access to pre-quantized model base checkpoints, training layers, and custom fine-tuning scripts.

GitHub Repository Hugging Face Base Models

Model Checklist

Quantized 1.5B ONNX Checkpoint

Ideal for deployment on edge systems and low-resource CPU servers.

Full PyTorch Training Recipes

Prepackaged datasets, gradient-accumulation code, and training layers.

Zero-Shot Cloning Checkpoints

Allows robust speaker feature mapping with zero gradient training runs.

{/* 9. TESTIMONIALS SECTION */}
User Reviews

Loved by Researchers & Creators

Read how developers are applying VibeVoice AI to rewrite the vocal product stack.

{/* Review 1 */}

"We migrated all virtual co-hosts for our audiobooks to VibeVoice. The zero-shot reference cloning accuracy is astonishing; it matches emotional cadence with negligible distortion."

AR

Dr. Aris Vance

AI Audio Researcher

{/* Review 2 */}

"Building responsive conversational pipelines is exceptionally straightforward. Standard WebSockets streaming audio chunks under 250ms is exactly what SaaS developers need."

KL

Karen Lim

Vocal Startup Founder

{/* Review 3 */}

"The local CPU inference speeds are a massive paradigm shift. Generating multi-speaker podcasts without scaling complex Kubernetes GPU clusters completely changed our billing models."

MB

Marcus Brody

Podcast Platform Creator

{/* Review 4 */}

"Being able to review training scripts and inspect decoupled prosody token architectures is brilliant. This model is exceptionally clean and well-structured for university research projects."

SC

Sonia Chen

ML PhD Scholar

{/* 10. FAQ SECTION */}
Common Questions

Frequently Asked Questions

Everything you need to know about setting up and running VibeVoice AI.

{faqs.map((faq, idx) => (
{activeFaq === idx && (
{faq.a}
)}
))}
{/* 11. FINAL CTA SECTION */}
Experience It Live

Build the Future of Conversational Voice AI

Instantly record dynamic speakers, compile realistic podcast dialogues, and master local WAV tracks completely in your browser.

Explore GitHub
{/* 12. FOOTER */}
); }