Exporting doesn't work

How do I export the contents of the lyrics field (USLT?) to a textfile?

So, if the song:
U2-Please.mp3
contained lyrics there should be a textfile called:
U2-Please.txt
with the lyrics inside of course, preferably in the same directory or folder. Or, how do I make sure that it goes in the same directory?

  1. How do I do that for several files (2,000) at once?
    I'd really like a CSV-file with the lyrics in one field or column, but so far I havent figured out how to do that.

Alternatively, could you explain how to copy the lyrics to the comment field?
The info in the TAg -TAG section is so limited, I couldn't make it work.

Please be explicit with your answers, cos sadly, I need a lot of handholding. Pictures (dare I ask?) would be REALLY nice.

There is a tread that meanders around the problems when exporting data with linebreaks/linefeeds.
Backup and restore

As the lyrics field is one of these fields, the export of %unsyncedlyrics% to a text file falls in this general category.
and if you dare to read German have a look at this thread - the code should be easy to identfy and that is what you need.
Wenn Export nach *.csv ausgeführt wird -

reading german is kinda schiesse ...

It's actually spelled with ei instead of ie - like this it means "shoot". And AFAIK this kind of jargon is not welcome if you follow the forum guidelines.

You could have left out the German bits and just read the code - as the syntax is the same in any language..
Unfortunately, you do not tell if the numerous lines of code helped you.

@ohrenkino: Weisst Du was seine/ihre Antwort im MusicBrainz-Forum ist?

Nicht gerade die feine Art, oder?

@GwenkillRRRRbeee: Please don't complain about the people here in this forum on MusicBrainz (as "GwenKillerby"). I'm sure that you will find people who can help you. If you would see german speaking people yelling "shit" about some english answers, you would shake your head in disbelief too, right?

It would interesting to know which thread advised not to use V1 tags ... I mean if the basis is the use of lyrics then you would have to use V2.3 tags as V1 do not support UNSYNCEDLYRICS.
Anyway: fact is that MP3tag does not support LyricsVx but only UNSYNCEDLYRICS

I spelled it correctly, you've jumped to a conclusion. Anyways, some parts of the Anglophone world say 'shoot' if they're too repressed to properly say 'shit'.

I am touched that you think I found the numerous lines of code, let alone could read the numerous lines of code, assuming I could recognize he numerous lines of code if I saw them... :frowning: :wink::wink:

Seriously, I can read a bit of code and I've tried to use this script

$filename(Mp3tag.tagdump.col.txt,ANSI)$loop(%_path%)^
_UNSYNCEDLYRICS:''%_unsyncedlyrics%''
_MD5:''%_md5%''
_PATH:''%_path%''
$regexp($regexp($regexp($list(,:'',''$char(13)_$char(10)),\r,U+000D),\n,U+000A),\r_\n,\r\n)$$

$loopend()

and that worked, just not in the way I wanted it to work.

This was the output:

^
_UNSYNCEDLYRICS:''
_MD5:'4EA3BF0609D03377871A5D44F40A549B'
_PATH:'c:\@mp3\!!!!!!!!\000\005film\leonard cohen - everybody knows.mp3'
ALBUMARTIST:'leonard cohen'U+000D_U+000AARTIST:'leonard cohen'U+000D_U+000ATITLE:'everybody knows'U+000D_U+000AGENRE:'folk'U+000D_U+000AUNSYNCEDLYRICS:'eng||Everybody knows that the dice are loadedU+000DU+000AEverybody rolls with their fingers crossedU+000DU+000AEverybody knows that the war is overU+000DU+000AEverybody knows the good guys lostU+000DU+000AEverybody knows the fight was fixedU+000DU+000AThe poor stay poor, the rich get richU+000DU+000AThat's how it goesU+000DU+000AEverybody knowsU+000DU+000AU+000DU+000AEverybody knows that the boat is leakingU+000DU+000AEverybody knows that the captain liedU+000DU+000AEverybody got this broken feelingU+000DU+000ALike their father or their dog just diedU+000DU+000AU+000DU+000AEverybody talking to their pocketsU+000DU+000AEverybody wants a box of chocolatesU+000DU+000AAnd a long stem roseU+000DU+000AEverybody knowsU+000DU+000AU+000DU+000AEverybody knows that you love me babyU+000DU+000AEverybody knows that you really doU+000DU+000AEverybody knows that you've been faithfulU+000DU+000AAh give or take a night or twoU+000DU+000AEverybody knows you've been discreetU+000DU+000ABut there were so many people you just had to meetU+000DU+000AWithout your clothesU+000DU+000AAnd everybody knowsU+000DU+000AU+000DU+000AEverybody knows, everybody knowsU+000DU+000AThat's how it goesU+000DU+000AEverybody knowsU+000DU+000AU+000DU+000AEverybody knows, everybody knowsU+000DU+000AThat's how it goesU+000DU+000AEverybody knowsU+000DU+000AU+000DU+000AAnd everybody knows that it's now or neverU+000DU+000AEverybody knows that it's me or youU+000DU+000AAnd everybody knows that you live foreverU+000DU+000AAh when you've done a line or twoU+000DU+000AEverybody knows the deal is rottenU+000DU+000AOld Black Joe's still pickin' cottonU+000DU+000AFor your ribbons and bowsU+000DU+000AAnd everybody knowsU+000DU+000AU+000DU+000AAnd everybody knows that the Plague is comingU+000DU+000AEverybody knows that it's moving fastU+000DU+000AEverybody knows that the naked man and womanU+000DU+000AAre just a shining artifact of the pastU+000DU+000AEverybody knows the scene is deadU+000DU+000ABut there's gonna be a meter on your bedU+000DU+000AThat will discloseU+000DU+000AWhat everybody knowsU+000DU+000AU+000DU+000AAnd everybody knows that you're in troubleU+000DU+000AEverybody knows what you've been throughU+000DU+000AFrom the bloody cross on top of CalvaryU+000DU+000ATo the beach of MalibuU+000DU+000AEverybody knows it's coming apartU+000DU+000ATake one last look at this Sacred HeartU+000DU+000ABefore it blowsU+000DU+000AAnd everybody knowsU+000DU+000AU+000DU+000AEverybody knows, everybody knowsU+000DU+000AThat's how it goesU+000DU+000AEverybody knowsU+000DU+000AU+000DU+000AOh everybody knows, everybody knowsU+000DU+000AThat's how it goesU+000DU+000AEverybody knows'U+000D_U+000A$

And these were the original lyrics

QUESTION:
how do I fit this detlevcode into the above script to make it work better?

... hin ...
$replace(%UNSYNCEDLYRICS%,$char(13)$char(10),'U+000DU+000A')
... und zurück ...
$replace(%UNSYNCEDLYRICS%,'U+000DU+000A',$char(13)$char(10))

... oder so ...
$replace(%UNSYNCEDLYRICS%,$char(13)$char(10),'<r><n>',$char(9),'<t>')
$replace(%UNSYNCEDLYRICS%,'<r><n>',$char(13)$char(10),'<t>',$char(9))

... oder so ...
$replace(%UNSYNCEDLYRICS%,$char(13),' !*+# ',$char(10),' !§$% ',$char(9),' !"§? ')
$replace(%UNSYNCEDLYRICS%,' !*+# ',$char(13),' !§$% ',$char(10),' !"§? ',$char(9))

... oder so ...
$replace(%UNSYNCEDLYRICS%,$char(13),' $char(13) ',$char(10),' $char(10) ',$char(9),' $char(9) ')
$replace(%UNSYNCEDLYRICS%,' $char(13) ',$char(13),' $char(10) ',$char(10),' $char(9) ',$char(9))

Tusend takk!

PS
If anyone could post the original layout/setup of the csv.mte I'd be grateful.

Donkeyshown! :wink:

If you have a lyrics-field (that actually shows in MP3tag) and you want to have a proper csv-file with just one line for each record then the control characters have to be replaced.

The "hin" in DetlevD's script mean "to" or "into" and the "oder so" mean "or like this".

The $chr(9) is the TAB character which you might know from MS Word that bridgeds the space between two tab stops.

So, depending on the contents of the source field DetlevD's command replaces all invisible control characters with a string that will probably not appear in plain text.
The result in the end is a very long single line as you have found in the excerpt you posted as

But as these strings are usually not part of the lyrics they can be replaced easily with the external text-editor's function to restore the original linebreaks.
Or even within MP3tag if you apply DetlevD's $replace in an action of the type "Format tag field" for "Unsyncedlyrics" if the pre-processed text is already in such a field.