{"id":24669380,"url":"https://github.com/in-c0/spotify-lyrics-translator","last_synced_at":"2026-05-06T08:32:00.981Z","repository":{"id":259354156,"uuid":"874762392","full_name":"in-c0/spotify-lyrics-translator","owner":"in-c0","description":"A NextJS lyrics translation/romanization app using Spotify Playback SDK. Not affiliated with Spotify.","archived":false,"fork":false,"pushed_at":"2024-10-24T03:28:06.000Z","size":15255,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-05T07:40:22.622Z","etag":null,"topics":["karaoke","lyrics","lyrics-translator","music","nextjs","open-source","react","romanization","spotify","spotify-playback-sdk","translation"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/in-c0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-18T12:19:29.000Z","updated_at":"2024-10-24T10:44:38.000Z","dependencies_parsed_at":"2024-10-24T19:29:05.137Z","dependency_job_id":"42a2a39f-6e8b-42d3-bf37-ac162cd4b12d","html_url":"https://github.com/in-c0/spotify-lyrics-translator","commit_stats":null,"previous_names":["in-c0/spotify-lyrics-translator"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/in-c0/spotify-lyrics-translator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-c0%2Fspotify-lyrics-translator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-c0%2Fspotify-lyrics-translator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-c0%2Fspotify-lyrics-translator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-c0%2Fspotify-lyrics-translator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/in-c0","download_url":"https://codeload.github.com/in-c0/spotify-lyrics-translator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/in-c0%2Fspotify-lyrics-translator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32684621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T02:33:58.958Z","status":"ssl_error","status_checked_at":"2026-05-06T02:33:39.611Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["karaoke","lyrics","lyrics-translator","music","nextjs","open-source","react","romanization","spotify","spotify-playback-sdk","translation"],"created_at":"2025-01-26T09:29:23.420Z","updated_at":"2026-05-06T08:32:00.964Z","avatar_url":"https://github.com/in-c0.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eSpotify Lyrics Translator (v0.1) \u003c/h1\u003e\n  \u003cvideo src=\"https://github.com/user-attachments/assets/6641e419-d5ef-46e9-ab17-1f446f373dfb\" width=\"360\" autoplay=\"false\"\u003e\u003c/video\u003e\n\n  \u003cbr /\u003e\n \n [![MIT License](https://img.shields.io/github/license/in-c0/spotify-lyrics-translator?t=1)](LICENSE)\n [![Issues](https://img.shields.io/github/issues/in-c0/spotify-lyrics-translator?t=1)](https://github.com/in-c0/spotify-lyrics-translator/issues)\n [![Pull Requests](https://img.shields.io/github/issues-pr/in-c0/spotify-lyrics-translator?t=1)](https://github.com/in-c0/spotify-lyrics-translator/pulls)\n [![Latest Release](https://img.shields.io/github/v/release/in-c0/spotify-lyrics-translator?t=1)](https://github.com/in-c0/spotify-lyrics-translator/releases/latest)\n\n\n  \u003cstrong\u003e 🎵 A NextJS/React lyrics translator app designed to work with Spotify Desktop 🎤🎵 \u003c/strong\u003e\n\n  \u003ca href=\"https://github.com/in-c0/spotify-lyrics-translator/issues\"\u003eReport a Bug\u003c/a\u003e\n  \u003cstrong\u003e·\u003c/strong\u003e\n  \u003ca href=\"https://github.com/in-c0/spotify-lyrics-translator/issues\"\u003eRequest a Feature\u003c/a\u003e\n\n\n  \u003cbr /\u003e\n\n  **Check out \u003ca href=\"https://github.com/sglkc/moegi\"\u003eMoegi Spotify Web Extension made by @sglkc\u003c/a\u003e** (Credits for the original idea \u0026 design inspiration)\n\n  This app communicates with Spotify Desktop through the **Spotify Web Playback SDK**, more native OS-level extension possibilities compared to the Chrome extension for the Spotify Web Player, which primarily modifies CSS. \n\n\u003c/div\u003e\n\n  \u003cbr /\u003e\n\n### **Why build this?**\n\nThis project was built primarily for **educational purposes** and to explore additional functionalities that could be extended into:\n- **Audio reactions**\n- **AI-driven lyrics analysis**\n- **Community insights** (e.g., integration with **Genius**)\n\nThe app should be portable to **Mac, Linux**, and **mobile devices**, although these platforms haven't been tested yet.\n\n  \u003cbr /\u003e\n\n### Current Issues (v0.1):\n- **Japanese Romanization** is incomplete due to the complexity of Kanji.\n- **Language settings** have not yet been implemented.\n\n  \u003cbr /\u003e\n\n### Setup Instructions\n\n\n1. Clone the repo\n```\ngit clone https://github.com/in-c0/spotify-lyrics-translator.git\n```\n2. Install dependencies\n```\nnpm install\n```\n3. Set up \u003ca href=\"#how-to-set-up-environment-variables\"\u003eEnvironment Variables\u003c/a\u003e\n```\nNEXT_PUBLIC_SPOTIFY_CLIENT_ID=...\nSPOTIFY_CLIENT_ID=...\nSPOTIFY_CLIENT_SECRET=...\nNEXT_PUBLIC_SPOTIFY_REDIRECT_URI=http://localhost:3000/callback\nSPOTIFY_REDIRECT_URI=http://localhost:3000/callback\nGOOGLE_TRANSLATE_API_KEY=...\n```\n4. Run the development server\n```\nnpm run dev\n```\n\n### How To Set Up Environment Variables\n\nTo set up this app, you’ll need both **Google Translate API** and **Spotify Developer** credentials. \nIf you are developing locally, create a new file in the root project directory named `.env.local`. (Do NOT share your API keys/Secret or commit the file!)\n\n#### 1. **Google Translate API**\n- Create a **Google Cloud developer account** and generate your API key.\n  \n  *Note*: The Google Translate API is **not free**. If you're looking for alternatives, check out [google-translate-api-x](https://www.npmjs.com/package/google-translate-api-x).\n\n```\nGOOGLE_TRANSLATE_API_KEY=...(Set up here: https://cloud.google.com/apis)\n```\n\n#### 2. Spotify Developer Account\nSet up your [Spotify Developer](https://developer.spotify.com/dashboard) account and obtain your client secret.\n```\nSPOTIFY_CLIENT_SECRET=... (Set up here: https://developer.spotify.com/documentation/web-api)\n```\n\nYour final `.env` would look something like this for local development:\n```\nNEXT_PUBLIC_SPOTIFY_CLIENT_ID=...\nSPOTIFY_CLIENT_ID=...\nSPOTIFY_CLIENT_SECRET=...\nNEXT_PUBLIC_SPOTIFY_REDIRECT_URI=http://localhost:3000/callback\nSPOTIFY_REDIRECT_URI=http://localhost:3000/callback\nGOOGLE_TRANSLATE_API_KEY=...\n```\n\nI’m exploring ways to make this app more accessible to users, as most cloud-based solutions incur costs. Some ideas for future development include:\n - Running everything locally, reducing dependency on cloud services (except for Spotify interaction), i.e.\n - Local LLM for translation ([GPT4ALL](https://github.com/nomic-ai/gpt4all))\n - Local transcription AI (e.g. [Moises.ai](https://moises.ai/) or finetune Whisper, if there is a reliable way to somehow extract only the vocals out)\n   \n(... or I could host a server with a couple of ads, as long as it aligns with the license agreements... It probably won't in the current state given the Musixmatch API being difficult to obtain.)\n\n  \u003cbr /\u003e\n\n### Credits\n\nA big thank you to @BlueCatSoftware for providing the [Lyrix](https://github.com/BlueCatSoftware/Lyrix) through Musixmatch,\nand to @sglkc for the inspiration behind this project ([Chrome Extension](https://github.com/sglkc/moegi)).\n\n  \u003cbr /\u003e\n\n### License\n\nMIT License\n\nCredits appreciated but not necessary.\n\n  \u003cbr /\u003e\n\n### Have Questions or Feature Requests?\n\nFeel free to start a new [Discussion](https://github.com/in-c0/spotify-lyrics-translator/discussions) or create a new [Issue](https://github.com/in-c0/spotify-lyrics-translator/issues). Contributions are welcome via issues or PRs!\n\n  \u003cbr /\u003e\n\n### Disclaimer\n\nPlease note that directly modifying the Spotify Desktop client may violate **Spotify's Terms of Service**. Although this app does **not** modify the Spotify client directly, please ensure that you comply with all relevant terms and conditions when using this app.\n\n[Spotify Developer Policy](https://developer.spotify.com/policy/)\n\n[Spotify Terms of Service](https://www.spotify.com/legal/end-user-agreement/)\n\n  \u003cbr /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fin-c0%2Fspotify-lyrics-translator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fin-c0%2Fspotify-lyrics-translator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fin-c0%2Fspotify-lyrics-translator/lists"}