Show HN: CLI for writing SYLT synced lyrics to MP3 files

15 hours ago 1

A pretty convenient CLI tool that reads and writes synced lyrics to MP3 files in SYLT (SYnchronized Lyrics/Text) format.

Software License Go Report Card Coverage Status

  • Supported input formats: LRC, SRT, and VTT
  • Configurable language codes (ISO 639-2 format)
  • Read and display existing SYLT lyrics from MP3 files
  • Creates output files with " - sylt" suffix to preserve originals

Still, backing up originals is recommended.

Visit the Releases page for pre-compiled binaries.

You can also build from source:

git clone https://github.com/mogita/go-sylt cd go-sylt go build
go-sylt [--lang <code>] <mp3_file> [lyrics_file]

Currently go-sylt supports ID3v2.3 and ID3v2.4 tags only. For MP3 files with older or unsupported ID3 versions, please convert them to a supported version first. You can use tools like Kid3 for this purpose.

# Write SYLT lyrics to MP3 file ./go-sylt song.mp3 lyrics.lrc # Write lyrics and specify English language ./go-sylt --lang eng song.mp3 lyrics.srt # Write lyrics using VTT format in Chinese ./go-sylt --lang zho song.mp3 subtitles.vtt # Read existing SYLT lyrics from MP3 file and display ./go-sylt song.mp3

The tool creates a new MP3 file with the same name as the input file but with " - sylt" appended before the extension. For example:

  • Input: song.mp3 → Output: song - sylt.mp3

Contributions are welcome! Should you find any issues or have any suggestions, kindly submit an issue or PR with the provided templates. Thank you!

# Run tests go test -v # Run linter golangci-lint run

Visit the Releases page, create a release on the main branch with a tag in the format of X.Y.Z or X.Y.Z-rc1. The workflow will automatically build and upload the binaries.

MIT © mogita

Read Entire Article