My song library contains mostly ogg/vorbis recordsdata, and
I most indispensable to retailer the textual protest that is sung at once in the recordsdata.
This is mostly uncharted territory – on the very least for .ogg recordsdata.
It took three weeks of research to safe out about the probabilities,
solutions in other file formats and concerns.
Featured Content Ads
add advertising here- Lyrics formats
- MP3
- ogg/vorbis
- WMA
- AAC
- Instruments
- Hardware
- Demo recordsdata
- Apps missing embedded lyrics make stronger
- Conclusion
Lyrics formats
Lyrics might well doubtless just additionally be synchronized or unsynchronized:
-
unsynchronized lyrics is pleasurable the song textual protest as you
look it in the booklet of a CD
Or no longer it’s undeniable textual protest with newlines .
-
synchronized lyrics is the textual protest plus timing files,
which enables media gamers to order the actual line that is for the time being
being sung. Karaoke depends upon upon this.
Featured Content Ads
add advertising hereAs well to the textual protest lines, timing files is most indispensable
– be it for lines and even single phrases or syllables.
Standalone lyrics file formats
There is a
noble
series of various formats
that enable you to retailer lyrics/subtitles in separate recordsdata.
- LRC
-
Easy to learn and simple to write textual protest-easiest format:
One line of textual protest per lyrics line.
Appears to be like to be usual nowadays for song.
- srt
-
Very standard for movies.
More verbose than LRC, nonetheless level-headed plaintext.
- MP3+G
-
Binary format extinct in Karaoke CDs.
The karaoke textual protest is ripped into .cdg recordsdata which ought to have the
identical title as the audio recordsdata.
MP3
Let’s have a glimpse at MP3 first
because tool make stronger is better and there is an official usual for
both synchronized and unsynchronized lyrics.
“Obliging” is not any longer no doubt pleasurable right here; the MP3 usual
does no longer command how one can retailer meta files in a file:
Featured Content Ads
add advertising hereThe MP3 requirements enact no longer command trace formats for MP3 recordsdata,
nor is there a vulnerable container format that might well maybe make stronger
metadata and obviate the need for tags.
Nonetheless, several de facto requirements for trace formats exist.
As of 2010, the most frequent are ID3v1 and ID3v2,
and the more recently presented APEv2.
Files storage
The ID3v2 usual has meta
tags for both synced and unsynced lyrics:
-
USLT
-
Contains the encoding of the textual protest, the language, a top level belief
and the actual song textual protest.
More than one entries allowed, that manner you can have lyrics in numerous
language.
-
SYLT
-
Additionally contains encoding, language, the time trace format
(MPEG frames or milliseconds), form and time-stamped textual protest in an outlined
format.
Instruments to add lyrics
On Linux, there is kid3 and
SYLTeditor (which did no longer install on
Ubuntu 14.04).
For Windows, it’s doubtless you’ll doubtless additionally have got MiniLyrics,
SYLTeditor and
there once was Window Media Participant 11
which might well also add synchronized lyrics to mp3 recordsdata.
kid3-cli might well doubtless just additionally be extinct on the shell
to add lyrics
kept in .lrc recordsdata to mp3:
$ kid3-cli -c "website SYLT='countdown.lrc' ''" countdown.mp3
Extracting the lyrics thru CLI is also
that it’s doubtless you’ll mediate:
$ kid3-cli -c "acquire SYLT:/dev/stdout" countdown.mp3
Exhibiting lyrics
On Linux, there is no longer a single application
that shows
synchronized lyrics kept in the file when taking half in
an song phrase.
All other gamers that claim lyrics make stronger both depend on local .lrc
recordsdata or strive and download the lyrics from someplace on the catch.
On Windows it’s doubtless you’ll doubtless additionally just spend MiniLyrics which
reads and shows SYLT files in mp3 recordsdata with out concerns.
Musique and Rhythmbox on the very least
order embedded unsynchronized lyrics.
ogg/vorbis
ogg/vorbis is a patent-free audio codec and thus my most standard alternative over
mp3.
Map make stronger for lyrics is almost non-existent.
Files storage
A small list of meta files tags for ogg/vorbis is listed in
Vorbis
I specification: 5.2.2. Yell vector format
and standalone in
comment field
and header specification.
As well, the xiph wiki lists
proposed field
names
and hyperlinks to 3 websites that indicate some extra ones
(
1,
2,
3).
Neither of them mentions lyrics.
The topic was mentioned on the vorbis mailing list
in 2006
and
2008
with the conclusion that there is rarely any usual, one might well doubtless just level-headed strive
CMML.
I did no longer safe any instruments, example recordsdata or supporting purchasers for it, though.
OggKate might well doubtless just additionally be extinct for synchronized lyrics,
and kid3 uses the LYRICS trace to retailer
unsyced lyrics in ogg recordsdata.
OggText
was
brainstormed
in 2008 as effectively, nonetheless was by no manner brought any extra.
OggKate
In 2008
OggKate,
a format for synchronized lyrics in ogg/vorbis recordsdata,
was invented and applied.
Kate
is an overlay codec, in the muse designed for karaoke and textual protest,
that can additionally be multiplexed in Ogg.
It does no longer easiest provide undeniable textual protest lyrics nonetheless also animations,
varied colors, fonts and other types.
Hasten
It isn’t any longer some files in a meta files trace field, nonetheless a separate stream
inner an .ogg file, accompanying the song stream
(pleasurable like movie recordsdata have both video and audio streams):
Lyrics in meta files
+----------+--------------------------+ | Metadata | Audio stream | +----------+--------------------------+
Lyrics as stream
+----------+--------------------------+ | Metadata | A u d i o s t r e a m | | | L y r i c s s r e a m | +----------+--------------------------+
This has several implications:
-
✔
When taking half in the file, the textual protest is on hand when it wants
to be displayed.
No deserve to allocate extra reminiscence for the lyrics, and
no need for added timing files in the lyrics files.
-
✔
Interweaving the audio and lyrics files makes it correct sort for
stay audio streams that simply can not have the total lyrics on hand
in the muse.
-
✘
Alongside with lyrics is not any longer simply setting a trace nonetheless breaking apart the total
file and re-assembling the total file.
-
✘
Extracting lyrics requires studying the total file and re-assembling the
single devices.
Gamers will deserve to enact this if they no longer easiest are eager to order the most modern
line or syllable, nonetheless provide a scrutinize to the following ones.
The 99% usual spend case
– lyrics for song recordsdata of max. 10 minutes length –
does no longer exhaust pleasure in this format.
Even operas with a length of several hours easiest have about
100kiB files of timed lyrics (LRC), which is nothing for the day prior to this’s
hardware.
Any other argument for streaming was made on the
Xiph MIME Forms and File Extensions
focus on net page:
When you occur to establish to have it with out the timing, it be essential to retailer it in headers,
as streaming this can acquire you the textual protest easiest as its presentation time
is reached.
That it’s doubtless you’ll doubtless also enact that while you occur to were loading from a file, nonetheless that’s easiest
a special case, so it be easiest to crawl away that textual protest interleaved with other
streams.
A player eager to order the total lot of the lyrics instantly would have
to, if that it’s doubtless you’ll mediate (eg, if no longer streaming), scan the total file to get better
the textual protest.
Parsing Ogg packets is relatively hasty, so a threaded player might well doubtless enact this
while starting streaming a file and have the textual protest ready in below a second
for a conventional song I recount.
I possess no longer accept as true with the “special case” argument; even will have to you are taking half in
the center of a ogg/vorbis file thru HTTP you level-headed have to fetch
the muse of the file to acquire files about the header and
traditional structure.
Map make stronger
Rising and studying OggKate streams is executed thru
kateenc and katedec.
oggenc‘s --lyrics easiest works if kate make stronger
is compiled in, which is rarely any longer the case on Ubuntu 14.04.
The top tool in a location to order
OggKate lyrics streams in audio recordsdata I stumbled on is
VLC 2.2.2,
while you occur to birth up taking half in and then take the subtitle.
(2.1.6 does no longer detect the subtitle stream at all).
Rising OggKate streams
kateenc from libkate-instruments on Ubuntu 14.04 enables
one to transform .lrc and .srt into
kate streams, which then might well doubtless just additionally be muxed into ogg audio recordsdata with
oggz:
$ kateenc -o lyrics.ogg -t lrc -l en countdown.lrc $ oggz-merge -o countdown-with-lyrics.ogg countdown.ogg lyrics.ogg
Extracting the lyrics as LRC is that it’s doubtless you’ll mediate with katedec:
$ katedec -t lrc oggz-kateenc-countdown.ogg
Taking half in recordsdata with Kate streams
Taking half in kate’d ogg/vorbis recordsdata works gorgeous on VLC,
mplayer, armarok, xine, dauntless and ogg123
(although they enact no longer order the lyrics).
GStreamer-essentially essentially based mostly purposes like
Rhythmbox and Totem originate a brand fresh
window that looks for extensions that understand “Kate decoder”,
nonetheless fail.
Totem performs the file nontheless, nonetheless Rhythmbox does no longer.
Amarok 2.8 in most cases opened that window, nonetheless also performs the file.
Patches
The OggKate creator – who by no manner left his title any place by the reach –
offered
OggKate patches
for several media gamers:
- xine
-
The
mailing list discussion
did no longer outcome in something because it appears to be like to be.
Xine does no longer order kate lyrics.
- mplayer
-
The
patch
was
rejected;
the mplayer authors didn’t are eager to make stronger but another subtitle format
and most standard ASS.
- gstreamer
-
The patch
purchased included in 2009 into gst-plugins-hideous 0.10.Sadly it’s miles
no longer included
in gstreamer 1.0 (but), which explains the installation popup. - Thoggen (DVD-Ripper)
-
The
impartial inquire of
is level-headed originate for Thoggen.
Unsynced lyrics in .ogg
There’s rarely any such thing as a officially suggested vorbis trace/field for unsynchronized lyrics.
The top trace in the wild I stumbled on was LYRICS
which is created by the kid3 editor and
lyrico.
$ vorbiscomment -a file.ogg -t LYRICS="$(cat lyrics.txt)" $ vorbiscomment --list countdown-unsync-vorbiscomment.ogg title=Countdown aligned artist=cweiske date=2016 genre=Speech encoder=Lavf53.21.1 LYRICS=ten 9 eight seven six 5 4 3 2 1 0
oggz-comment might well doubtless just additionally be extinct to add
unsynchronized lyrics to .ogg recordsdata:
$ oggz-comment file.ogg -o file-with-lyrics.ogg LYRICS="$(cat lyrics.txt)" $ oggz-comment -l file-with-lyrics.ogg Vorbis: serialno 0033215013 Seller: Lavf53.21.1 title: Countdown aligned artist: cweiske date: 2016 genre: Speech encoder: Lavf53.21.1 LYRICS: ten 9 eight seven six 5 4 3 2 1 0
Both Lollypop and Rhythmbox
order them.
WMA
Windows Media Audio recordsdata make stronger synced and unsynced lyrics of their
meta tags.
The
ASF
specification
unfortunately does no longer command meta files trace names
and thus also no meta files lyrics formats.
kid3 shows the synchronized lyrics in the .wma file
with a trace title of WM/Lyrics_Synchronized.
Instruments to add lyrics
Windows explorer on Windows XP is in a location
to add unsychronised lyrics,
Windows Media Participant 11 might well doubtless write both
synchronized and unsynchronized lyrics.
Exhibiting lyrics
No tool I examined is in a location to order the lyrics embedded in .wma recordsdata
while taking half in song.
exiftool on the very least shows them on cli,
and kid3 notices that there are synchronized lyrics
inner – nonetheless does no longer order them.
AAC
The
Evolved
Audio Coding format is mostly extinct by Apple’s iTunes.
I noticed screenshots of the iTunes meta files editor that had a
(unsynchronized) lyrics field.
I did no longer practice this any extra.
MiniLyrics
claims to make stronger
lyrics in .m4a/.aac recordsdata.
The list of instruments I stumbled on that might well maybe also work with lyrics embedded in
audio recordsdata, alphabetically sorted:
Clementine
Clementine is a song player
that is in a location to order unsynchronized lyrics from mp3 recordsdata.
Does neither make stronger ogg lyrics nor synchronized textual protest.
eyeD3
eyeD3 is a linux order line
application that reads and writes mp3 tags, supporting ID3v1, 2.3 and 2.4.
Sadly it’s no longer in a location to extract a single trace
in a reach that’s readable by other purposes, and is also no longer in a location
to extract synchronized lyrics:
$ eyeD3 --verbose countdown-sync-minilyrics.mp3 countdown-sync-minilyrics.mp3 [ 258.24 KB ] ------------------------------------------------------------------------------- Time: 00: 10 MPEG1, Layer III [ ~0 kb/s @ 44100 Hz - Mono ] ------------------------------------------------------------------------------- ID3 v2.4: title: Countdown aligned artist: cweiske album: year: 2016 boo phrase: genre: Speech (identification 101) ------------------------------------------------------------------------------- ID3 Frames: Title/>songname/protest description (TIT2): Countdown aligned> Lead performer(s)/Soloist(s) (TPE1): cweiske> Release time (TDRL): 2016> Content type (TCON): Speech> Software/>Hardware and settings extinct for encoding (TSSE): Lavf53.21.1> Synchronised lyric/text Frame (SYLT)>
It’s a long way in a location to add unsynchronized lyrics to mp3 recordsdata:
$ eyeD3 --lyrics="eng::ten 9 eight seven six 5 4 3 2 1 0" countdown.mp3
exiftool
exiftool
is the swiss military knife of meta tags.
Or no longer it’s in a location to extract files from most image, doc and audio file forms.
It shows synchronized lyrics from mp3 and wma recordsdata, and unsynchronized
from mp3, ogg and wma:
$ exiftool countdown-sync-kid3-id3v2.4.mp3 |grep -i lyr Synchronized Lyrics Kind : Lyrics Synchronized Lyrics Description : Synchronized Lyrics Textual protest : [00:00.00].ten, [00:01.00].9, [00:02.00].eight, [00:03.00].seven, [00:04.00].six, [00:05.00].5, [00:06.00].4, [00:07.00].3, [00:08.00].2, [00:09.00].1, [00:10.00].0, [00:11.00]. $ exiftool countdown-sync-wmp11.wma |grep -i lyr Lyrics : ten..9..eight..seven..six..5..4..3..2..1..0 Lyrics Synchronised : ..vsynchronized lyricstennine�.eight�.seven�.six�.5�.4�.3p.2X.1@.0(#
It does no longer order OggKate texts.
Foobar2000: order lyrics 3 plugin
The home windows-easiest Foobar2000
supports plugins, and one amongst the plugins/”parts” is
Lyrics Show Panel 3 (foo_uie_lyrics3).
While it claims in an effort to learn both synced and unsynced lyrics from
ogg and mp3 recordsdata, it does so by the utilization of its delight in (configurable) meta trace,
storing LRC in the trace for synced textual protest.
It does no longer make stronger SYLT/USLT tags.
kid3
The meta files editor kid3
runs on Linux and supports mp3, ogg and wma.
It has a usable synced lyrics editor and
documentation
for it.
Importing LRC is supported.
kid3-qt was the finest tool that in actuality supported storing
unsynced lyrics inner ogg/vorbis recordsdata by setting the LYRICS
trace.
kid3-cli is a order line tool that can additionally be extinct to
learn and
write .lrc recordsdata from and
to mp3 recordsdata.
Lollypop
Gnome application Lollypop
supports SYLT in mp3 recordsdata, on the very least of us who were added by
SYLT Editor, nonetheless no longer these by
kid3.
It also reads .lrc recordsdata.
lyrico
lyrico
robotically finds and downloads unsynchronized lyrics and is in a location to embed
them into mp3, ogg, wma and m4a recordsdata.
It does no longer make stronger synchronized textual protest.
MiniLyrics
MiniLyrics is
no longer on hand for Linux.
It reads synchronized and unsynchronized lyrics from mp3 meta files,
nonetheless does no longer make stronger the WMP11 generated lyrics
in wma recordsdata, nor does it make stronger .ogg.
It claims to make stronger
M4A (AAC) recordsdata, nonetheless I did no longer check that.
It involves an editor for synchronized lyrics and can import LRC recordsdata.
Musique
Musique model 1.4 is in a location
to learn and order unsynchronized lyrics from mp3 recordsdata.
Rhythmbox
Gnome’s Rhythmbox
shows unsynchronized lyrics in .ogg recordsdata because
I made a patch for it.
SYLT Editor
SYLT editor
is Freeware for Windows and Linux, nonetheless it did no longer install
on Ubuntu 14.04 precisely.
On home windows it labored, nonetheless proved to no longer make stronger SYLT lyrics embedded by
other editors.
It even once did no longer learn SYLT from a file that it wrote itself beforehand..
I’m able to’t recommend it.
VLC – VideoLan Consumer
VLC was the finest application I stumbled on
in a location to order OggKate lyrics in .ogg recordsdata
– when enabling audio visualization, the textual protest is printed on top of that.
(model 2.2.2 labored, 2.1.6 did no longer)
It
does no longer make stronger SYLT,
nonetheless
it’s doubtless you’ll load
.srt subtitle recordsdata
when taking half in song with audio visualization enabled.
Windows Explorer
Windows XP’s Explorer is in a location to order and edit meta files of
.wma recordsdata – and it helps you to add unsynchronized lyrics.
That it’s doubtless you’ll doubtless no longer website the lyrics language because it’s doubtless you’ll doubtless additionally with
Windows Media Participant 11, though.
Windows Media Participant 11
Windows Media Participant 11 was on hand on Window XP and Windows Vista.
To my files it’s miles the finest application in a location to add synchronized lyrics
to .wma recordsdata thru its Evolved Mark Editor.
This trace editing capabilities were eliminated in Windows Media Participant 12,
worthy
to
the dismay of users.
Windows Media Participant was no longer in a location to if truth be told order the
synchronized lyrics, which doubtless was the reason in the again of its elimination.
However the elimination of the lyrics editing impartial from WMP manner
that Microsoft officially has given up on lyrics in .wma,
and even maybe on .wma itself.
When you occur to ever strive and install Windows Media Participant 11 on an vulnerable reproduction
of Windows XP, it’s doubtless you’ll doubtless look that this can fail because it might well maybe probably perchance not
demonstrate the XP installation as “superior” anymore.
That it’s doubtless you’ll doubtless work around this by manually extracting
wmp11-windowsxp-x86-DE-DE.exe with
7-zip and manually executing
the total wm*.exe recordsdata.
Hardware
Checklist of hardware song gamers with lyrics make stronger:
- iPod traditional
- iPod nano (4th gen)
-
Clicking 3 cases on the wheel button shows the lyrics.
offer
Demo recordsdata
For the length of the direction of my research I created a series of audio recordsdata
with the a huge series of instruments.
As hideous I extinct
countdown.ogg
from
Corsica_S’s
countdown.wav nonetheless had to align it to the actual stout seconds
with Audacity.
Then I created a lyrics .lrc file and extinct the a huge series of instruments
to add lyrics to it.
Apps missing embedded lyrics make stronger
The following purposes omit make stronger for embedded lyrics:
- Amarok
-
Bug 184325: amarok desire: fetch lyrics from the ID3 lyrics trace
since 2009
- EasyTAG
-
Bug 769201: Add lyrics trace make stronger
since 2016
- eyeD3
-
State #103: Demonstrate synchronized lyrics
since 2016
- GStreamer
-
Bug 784634: unsynchronized lyrics no longer extracted from mp3 recordsdata
since 2017
- song player daemon
-
#3100: Add make stronger for lyrics trace
since 2010
- Musique
-
Enhance for synchronized lyrics in MP3 recordsdata
since 2016
-
Read lyrics from ogg/vorbis recordsdata
since 2016
- Quod Libet
-
#1989: synchronized lyrics plugin: Enhance embedded lyrics
since 2016
- Rhythmbox
-
Bug 463978: Lyrics studying embedded tags
since 2007.
I added make stronger for ogg/vorbis lyrics
trace make stronger in 2017.
- VLC
-
#17207: Demonstrate mp3 synchronized lyrics SYLT trace as subtitle
since 2016
Conclusion
I’m upset with the stammer of embedded lyrics make stronger on Linux.
For ogg/vorbis recordsdata – of which my song library consists mostly –
I did no longer safe an acceptable resolution.
OggKate is too complicated for numerous needs;
something like SYLT for
vorbis would be better suitable – and even simply embedding LRC
correct into a SYNCLYRICS trace.
The ID3v2 SYLT format is binary and would will have to be hideous64 encoded,
because it’s miles executed with album art in vorbis recordsdata, t