Lyria is a modern web application designed for music lovers and language learners. It provides a seamless experience for watching YouTube videos while viewing synchronized lyrics and real-time translations.
Built with Svelte 5 and SvelteKit, Lyria leverages the latest web technologies to deliver a fast, responsive, and immersive interface.
Clone the repository:
git clone https://github.com/javierlm/Lyria.git
cd Lyria
Install dependencies:
pnpm install
Set up environment variables:
Create a .env file in the root of the project.
# Translation Provider (deepl, chrome-ai, or omit for LibreTranslate)
TRANSLATION_PROVIDER=deepl
# DeepL API Key (if using DeepL)
DEEPL_API_KEY=your_deepl_api_key
# Redis / Upstash (for caching)
UPSTASH_REDIS_REST_URL=your_upstash_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_token
# Deployment
VERCEL=1 # Set to 1 when deploying to Vercel
Start the development server:
pnpm run dev
The application will be available at http://localhost:5173.
pnpm run dev: Starts the development server.pnpm run build: Creates a production build.pnpm run preview: Previews the production build locally.pnpm run check: Runs Svelte check for type-checking.pnpm run lint: Lints the codebase.pnpm run format: Formats the code using Prettier.pnpm run typesafe-i18n: Generates i18n types.pnpm run sync:cache: Syncs translation cache from remote to local.To create a production version of the app, run:
pnpm run build
This will create an optimized build using the @sveltejs/adapter-vercel adapter.
This project is licensed under the MIT License - see the LICENSE file for details.