Skip to content

type-abhay/larry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Larry: CLI Based Lyric Embedder

App icon

Larry

Get it on GitHub

A command-line utility built in Go for managing audio metadata. Lyric Embedder allows you to search, view, and embed both synced (LRC) and plain text lyrics directly into your music files. It supports MP3, FLAC, and M4A formats using native bit-stream manipulation.


🚀 How to Use

  • Download the .exe from the releases, PASTE IT IN YOUR MUSIC FOLDER.
  • It is IMPORTANT that the .exe is in your music folder(where you have the files you want to embed lyrics in).
  • When you launch the program, it scans your current directory and opens an interactive command loop. Simply type a command and press Enter.

Usage of Commands

Command Description Example
search <term> Finds all files in the current context containing the keyword. search linkin
info <file> Displays full metadata (Title, Artist, Format, Duration, etc.). info "in the end"
get <file> Fetches lyrics from the API and lets you choose what to embed. get "numb"
bulk <folder> Automatically embeds lyrics for every file in a folder. bulk "C:/MyMusic"
bulk current Runs the automated bulk process on your starting directory. bulk current
help Displays the command reference guide. help
exit Safely closes the application. exit

Calling the API for embedding a singular file

  1. Type get <song name>.
  2. The app reads your local tags and queries the LRCLIB API.
  3. If a match is found, you choose between Synced (time-stamped) or Plain lyrics.
  4. BOOM the metadata is edited and you lyrics are embedded :)

The Bulk Flow

The bulk command is designed for speed. It prioritizes Synced lyrics; if those aren't found, it falls back to Plain text. If the API has no record of the song, it skips the file and provides a summary report at the end.


🛠️ Building from Source

If you want to compile the project yourself, follow these steps:

Prerequisites

  • Go 1.20+ installed.
  • rsrc tool for Windows resource embedding:
    go install github.com/akavel/rsrc@latest

Build Steps

  1. Generate the Windows Resource File: Ensure icon.ico and main.manifest are in the root directory, then run:
    rsrc -manifest main.manifest -ico icon.ico -o rsrc.syso
  2. Download Dependencies:
    go mod tidy
  3. Compile the Executable:
    go build -o lyric-tool.exe

Caution

  • Corrupt Files: If the program encounters an extremely corrupted MP3 header, it may throw a "Critical Error." Please ensure your files play correctly in a standard media player.
  • API Limits: When using bulk mode on more than 100 files, you may encounter temporary rate limitingThis README.md is designed to look professional while clearly explaining the transition from a standard "wizard" flow to your new, powerful command-based interface.

🆘 Caution

  • API Limits: When using bulk mode on more than 100 files, you may encounter temporary rate limiting from the API provider.
  • Issues: Found a bug? Open an issue on the GitHub repository or contact the maintainer.

Support the Project

Just give it a ⭐ or share if you found it useful :)

Credits

Uses LRCLIB API to fetch lyrics. These guys the goats for providing lyrics in the first place :)


Created with ❤️ & Personal Need 👀

About

Larry is a CLI based lyric embedder built in GO using the LRC Library API for (FLAC/MP3/M4A) files.

Resources

Stars

Watchers

Forks

Contributors

Languages