Real-time speech-to-text transcription and translation system for Sun Asterisk Annual 2025 CEO Talk. This application provides live transcription with automatic translation, designed to display on large screens during the event.
- Real-time Speech-to-Text: Transcribe Vietnamese speech in real-time
- Live Translation: Automatically translate to English, Vietnamese, or Japanese
- Large Display Mode: Fullscreen mode optimized for projection on large screens
- Visual Highlighting: New words being transcribed are highlighted in red with larger font
- Camera Preview: Display speaker video alongside transcription
- Custom Context: Pre-configured with Sun Asterisk terminology for improved accuracy
- Next.js 15 - React framework
- Soniox Speech-to-Text API - Real-time transcription and translation
- Tailwind CSS - Styling
- TypeScript - Type safety
- Node.js 20+
- Yarn or npm
- Soniox API Key (get it at console.soniox.com)
- Install dependencies:
yarn install- Create environment file:
cp .env.example .env- Add your Soniox API key to
.env:
SONIOX_API_KEY=your_api_key_here
- Start development server:
yarn dev- Camera: Select video input device for speaker preview
- Microphone: Select audio input device for transcription
- Target Language: Choose translation language (English/Vietnamese/Japanese)
- Start/Stop: Control transcription session
- Source Language: View original transcription
- Shows translated text in large, readable font
- New words appear in red and larger size for emphasis
- Click fullscreen button for projection mode
- Click the fullscreen icon (top-right) to expand the translation display
- Optimized font size (
text-6xl) for large screen projection - Press
Escor click X to exit fullscreen
The application is pre-configured with Sun Asterisk context for better recognition:
- Company names: Sun Asterisk, Sun*, Viblo, xLab, Morpheus, MoMorph
- Locations: Hanoi, Ho Chi Minh City, Da Nang
- Tech terms: Digital transformation, Agentic Coding, Digital Creative Studio
- Translation mappings for consistent terminology
-
Push code to GitHub (ensure
.envis in.gitignore) -
Connect repository to Netlify
-
Configure build settings:
- Base directory:
examples/nextjs - Build command:
yarn build - Publish directory:
examples/nextjs/.next
- Base directory:
-
Add environment variable in Netlify dashboard:
SONIOX_API_KEY: Your Soniox API key
- API key is stored securely on server-side
- Only temporary API keys (5-minute expiry) are sent to the client
- Never commit
.envfile to version control
src/
├── app/
│ ├── page.tsx # Entry point with dynamic import
│ ├── live-transcript.tsx # Main transcription component
│ └── api/
│ └── get-temporary-api-key/
│ └── route.ts # Secure API key endpoint
├── components/
│ └── button.tsx # UI components
└── lib/
├── useTranscribe.ts # Transcription hook
└── utils.ts # Utility functions
Internal use for Sun Asterisk Annual 2025 event.
Built with Soniox Speech-to-Text Web SDK