{"id":15328854,"url":"https://github.com/timbru31/mp3lyrics","last_synced_at":"2025-02-26T18:30:45.593Z","repository":{"id":29422349,"uuid":"32958047","full_name":"timbru31/mp3lyrics","owner":"timbru31","description":"🎵 📝 CLI for mp3 lyrics fetching. Uses ruby-mp3info and some lyric wikis","archived":true,"fork":false,"pushed_at":"2023-06-27T17:56:29.000Z","size":392,"stargazers_count":8,"open_issues_count":14,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-20T17:26:43.343Z","etag":null,"topics":["cli","genius","itunes","lyrics","metrolyrics","mp3-files","mp3info","mp3tag","music","ruby","ruby-mp3info"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/mp3lyrics","language":"Ruby","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/timbru31.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["timbru31"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://paypal.me/timbru/"}},"created_at":"2015-03-26T23:49:44.000Z","updated_at":"2024-10-25T14:26:13.000Z","dependencies_parsed_at":"2023-01-14T14:53:56.792Z","dependency_job_id":null,"html_url":"https://github.com/timbru31/mp3lyrics","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbru31%2Fmp3lyrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbru31%2Fmp3lyrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbru31%2Fmp3lyrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/timbru31%2Fmp3lyrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/timbru31","download_url":"https://codeload.github.com/timbru31/mp3lyrics/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240911462,"owners_count":19877381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cli","genius","itunes","lyrics","metrolyrics","mp3-files","mp3info","mp3tag","music","ruby","ruby-mp3info"],"created_at":"2024-10-01T09:45:28.000Z","updated_at":"2025-02-26T18:30:45.283Z","avatar_url":"https://github.com/timbru31.png","language":"Ruby","funding_links":["https://github.com/sponsors/timbru31","https://paypal.me/timbru/"],"categories":[],"sub_categories":[],"readme":"# MP3Lyrics\n\n[![Ruby](https://github.com/timbru31/mp3lyrics/workflows/Ruby/badge.svg)](https://github.com/timbru31/mp3lyrics/actions?query=workflow%3ARuby)\n\n[![Code Climate coverage](https://img.shields.io/codeclimate/coverage/timbru31/mp3lyrics)](https://codeclimate.com/github/timbru31/mp3lyrics)\n[![Code Climate](https://img.shields.io/codeclimate/maintainability/timbru31/mp3lyrics)](https://codeclimate.com/github/timbru31/mp3lyrics)\n[![Known Vulnerabilities](https://snyk.io/test/github/timbru31/mp3lyrics/badge.svg)](https://snyk.io/test/github/timbru31/mp3lyrics)\n[![Dependabot Status](https://api.dependabot.com/badges/status?host=github\u0026repo=timbru31/mp3lyrics)](https://dependabot.com)\n\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE.md)\n\n### Still in Alpha, ugly and WIP :)\n\n## Info\n\nMP3Lyrics is a tool written in Ruby (currently only CLI) to download song lyrics from [AZLyrics](https://www.azlyrics.com) or [Genius](https://genius.com).\nThe lyrics are added to the mp3 file via the [USLT (Unsynchronised lyric/text transcription)](https://id3.org/id3v2.4.0-frames) tag (with the power of [ruby-mp3info](https://github.com/moumar/ruby-mp3info)).\n\n## Motivation\n\n#### Why Ruby?\n\nBecause I wanted to try another language than Java.\n\n#### Why are you not using the LyricWiki API?\n\n~~Although they have got a pretty neat [REST API](http://api.wikia.com/wiki/LyricWiki_API/REST) the lyrics can't be fully retrieved, most likely due to licensing issues.~~\nThey no longer offer an API since January 2016. The site has since been shut down as of October 2020.\n\n#### Why are you not using musiXmatch API?\n\nSimply because they charge me (the developer) for retrieving the lyrics.\n\n#### Why are you not using MetroLyrics API?\n\nThe site has been shut down as of July 2021.\n\n#### Why are you not using Genius API?\n\nThey do not offer fetching lyrics via the API (yet).\n\n#### Why not iTunes Lyrics Adder, Lyrics for iTunes, iSongText, Get Lyrical, ...?\n\nEither they were tied to iTunes and ugly DLL libraries, outdated/inactive, closed source or not cross platform. I'm mainly developing on my MacBook and my iTunes library is on my Windows system. I need something that works anywhere.\n\nBy dropping the need (and support) of iTunes running somewhere in the background, the tool is more lightweight.\n\n## Dependencies\n\n1. Bundler\n2. Nokogiri for HTML parsing\n3. mp3info as a MP3 library\n4. require_all for easier requiring of the wiki_api folder\n5. For testing purposes you should install rubocop, rake, minitest and optionally coverage reporters for CodeClimate\n\n## Installation\n\n```shell\ngem install mp3lyrics\n```\n\n## Usage\n\n```shell\nmp3lyrics \u003cdir\u003e [-override true/false] [-use genius/azlyrics]\n```\n\n**dir** is the folder with your music, it's iterated recursively.  \n**override** is a boolean toggle to override existing lyrics (defaults to _false_).  \n**use** is a specific wiki to be used to download lyrics (all wikis are used by default).\n\n### Development usage\n\nThe same options as above apply, but the binary has to be invoked from\n\n```shell\n./lib/mp3lyrics.rb\n```\n\n## Tests\n\nTo execute the tests run\n\n```shell\nbundle exec rake\n```\n\n## Future plans // ToDo\n\n- ~~Add support to other lyrics sites when 404 is returned from LyricWiki~~\n- GUI for easier usage (maybe)\n- Add test cases, see [#1](https://github.com/timbru31/mp3lyrics/issues/1)\n\n---\n\nBuilt by (c) Tim Brust and contributors. Released under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimbru31%2Fmp3lyrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimbru31%2Fmp3lyrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimbru31%2Fmp3lyrics/lists"}