Help with UNSYNCEDLYRICS Case Conversion


#1

Hello, i'm a rookie with mp3tag. It's the brest software to organize my collection, but i'm having some problem with the case conversion at lyrics.

The problem:

i like to have the tags album, artist and title and the filename in Mixed Case, but when i was configuring the action Case Conversion in "Field" I select "_ALL". It works fine but affects the lyrics. Now i want to fix the lyrics, creating a new action to set them in "Sentence case" mode but i can't make the program to recognize the line breaks.

Can you help me?

I guess it could be done with "Replace with..." but I don't understand very well the script command. Thanks


#2

The best way to correct the formatting failure within the lyrics text field seems to be ...
... to export the tag field content into a file and let an external spell checker (e. g. MS Word, Notepad++ Aspell) try to recreate well written words.
Afterwards import the text back into the tag field.

The following proposal is not a real "Sentence Case" but can work as first help for entire lines ...
Action "Format value"
Field: COMMENT
Formatstring: $caps3($lower(%COMMENT%),$char(10))

This proposal takes not into account, that a sentence in general is delimited by a point character and can span over more than one line.

DD.20100821.1020.CEST


#3

I've too been adding lyrics and looking for a good way to Sentence-Case correct them but also noticed that "Action: Case Conversion / Sentence Case" only changed the first line of lyrics.

Finding this thread, I took what you had, experimented a bit, and finally changed it to this, which seems to be the formatting that works:

Action: Format Value
Field: unsyncedlyrics
Format String: $caps3($lower(%unsyncedlyrics%),$char(124)$char(10))

Unicode 124 being the "|" vertical line character that follows the language designation (ex: eng||) which permits the first letter of the first line of lyrics also to be capitalized.

Any other characters people would want to trigger a capitalization after, such as brackets, parenthesis, or quotes should, I gather, also be entered in unicode in similar fasion.

I then added several more "Replace" actions to my "Sentence-Case Conversion (Lyrics)" action group to capitalize additional words that are always capitalized; such as "i" -> "I" (only as whole word), "i'm" -> "I'm", "america" -> "America", and "english" -> "English"; but there are so many possible such words this could go on and on forever.

Any comments appreciated on that.

=================================================

I have also been wondering if there is a way to combine $caps3 with $caps2 -- in that I want to use Sentence Case on a per-line basis in the unsyncedlyrics field -- but I don't want it to overwrite lower-case letters on proper names and places or acronyms that are already capitalized correctly.

A $caps4 perhaps?

I'd use this when all the lyrics are pretty much all lowercase except for the proper names and acronyms; and I wanted to capitalize the first letter of each line of lyrics.

Too complicated?

Thanks!


#4

Yes, the help manual says about the function $caps2, that a second parameter is optional and it can contain a string of characters, which trigger the upcasing of the immediately following letter.

So the example for the linefeed character and the pipe symbol could also be written as ...

$caps2(%UNSYNCEDLYRICS%,$char(10)'|') ... or ... $caps2(%UNSYNCEDLYRICS%,$char(10)$char(124))

Because this is the problem, I do recommend to use an external spell checker application.

DD.20110504.0538.CEST


#5

Doh! How much time I could have saved if I realized I could do the apostrophe thing around special characters and not had to figure out what unicode character codes were! Lol. Oh, well, knowledge is power I guess.

You, Sir, are a bloody genius!

That works exactly as requested. I've now set up both versions as separate actions.

Sentence-Case Conversion (Lyrics)

and

Sentence-Case Conversion (Lyrics) Preserving Existing Capital Letters

that I can choose between on a case-by-case basis.

Awesome. As always, thanks a bunch!


#6

Because of the loose syntax of Mp3tag you can also write ...
$caps2(%UNSYNCEDLYRICS%,$char(10)|)
$caps2(%UNSYNCEDLYRICS%,|$char(10))

DD.20110505.0422.CEST


#7

For anyone interested, I added four more "Regular Expression Replace" items to this action to clean up extra white space. My OCD was bugging me that the lyrics weren't perfectly centered in my Export to HTML report.

Make sure #2 runs before #3 and the others come after both or you will likely have poor results:

  1. ".{3,}" -> " ... "

(reduces all strings of 3 or more periods to standard ellipses)

  1. " +" -> " "

(reduces all instances of multiple spaces to one space)

  1. "|| " -> "||"

(deletes space between language designator and start of lyrics)

  1. " \r\n|\r\n " -> "\r\n"

(deletes spaces at the beginning and end of each line -- like the $Trim(x) function but works on each line of lyrics)


#8

Copied all of the above to a separate action I made also to remove trailing periods.

6] Regexp Replace ".\r\n" with "\r\n"

7] Regexp Replace "..\r\n" with "...\r\n"

(7) being necessary to add back the period (6) trims from trailing elipses, which I want to keep.

The downside is I can't run this globally because sometimes a trailing period is a good thing; like when the lyrics are prose or when the line ends in an abbreviation.

But normally, they just bug me.

I suppose if I keep at this long enough I'll make a script that searches for abbreviations to add back the period and add a line length counter to help separate prose from verse. Any neurotics out there already make one?? :slight_smile:


#9

Hello all,
I saw this menu on Tag Panel of Mp3tag.
What is the difference between LYRICIST and UNSYNCEDLYRICS ?
I try to use this menu to import my lyrics, but always got errors. It says: Cannot parse line 1 till line 55.
Could you explain me more details how to use this menu? Frankly, I want to import my lyrics in txt format into a MP3 song, but always failed.

Any suggestion would be greatly appreciated, thanks in advance.


#10

For importing lyrics text, ...
... which has been written by a lyricist (who might speak in other terms than an exorcist)
... into the tag-field UNSYNCEDLYRICS try this ...
http://help.mp3tag.de/en/options_format.html#textfile

DD.20110916.1944.CEST


#11

Thanks DetlevD, I've done as your instruction and it seems work fine. But, why cannot appear during playback on my MPC (Media Player Classic)? Even within MediaInfo of MPC properties I saw the word Lyrics by its contents (I use MPC ver 1.5.2.3262).

Is there something wrong on my MPC, or how to display the lyrics on the MPC during playback?
Thanks before.


#12

This depends a lot on how your device/program supports lyrics.
Try to copy the contents of UNSYNCEDLYRICS into the field SUBTITLE and see what your device makes of it.


#13

Sorry, for my poor English...

Hmm, is it subtitle for video? Nope, I can usually make my own the lyrics for a VideoClips as subtitles using TMPGEnc softwares.
But, this time I mean just Lyrics for MP3 song only. So, I mean if we start playback with WinAmp (correction, not MPC as I wrote above), automatically show up a small window (popup) containing the lyrics text according to its song.

To be more clear, I attach a sample song got from friends, but in Midi format (pls open with Winamp).
So, my question: Could it be apply to MP3 song as well?

sample.zip (8.59 KB)