Help - Search - Members - Calendar
Full Version: metamp3 - command line tool
Hydrogenaudio Forums > Lossy Audio Compression > MP3 > MP3 - General
Pages: 1, 2, 3
Martin H
@Tycho

Thank you so much for this great release Tycho. Also, this version is working perfectly without needing an external manifest file, so that is also great. Btw, i have also VC++ 2005 Express SP1 installed and have compiled and built wavpack.exe, wvunpack.exe and wvgain.exe and i didn't need an external manifest file there either. Anyway, i'm just glad that the issue is no longer present now. This version really kicks a** and once again, thank you so much for implementing my suggestions, i really appreciate it. Now the ID3v2.3 "mp3gain_undo" TXXX frame is deleted upon using the "--undo-gain" switch. The ID3v1 genres are being set up to number 147 perfectly and the ID3v2.3 TCON frames are not pre-fixed with the ID3v1 genre identify numbers anymore. Finally, ID3v1.1 tags are shown with their de-facto names. I am really excited about these changes and the tool is just awesome, so again, many thank's Tycho, for all your efforts. The only thing i would still like is to get an ID3v2.3 TCON frame set, when running "metamp3 --fit --genre Testing *.mp3", but since you haven't implemented that change, then you must then not think that it's logical and that's also perfectly fine with me and i'm just so gratefull for all the suggestions of mine that you do have implemented.

@Jebus

Thank's for letting me/us know about if you had any manifest file problems.
tycho
Hmm. Windows 64 refuses to run metamp3 beta 4 (in 32-bit mode): 'The system cannot execute the specified program.' Strange, because v0.91 worked fine. I may have to create completely new project files.

@martin, thanks again. --fit will take unknown genres into account in the next release.
Martin H
@Tycho

Yesterday when i told you that this new beta worked on my system, then i can now see that this was only because i had just installed VC++ 2005 Express SP1, but i had no clue about that this was the reason for it working at that time. I only installed VC++ 2005 Express SP1 to make a couple of compiles and i didn't have any use for it after that, so i have just ghosted my C:\ drive back to a state just before i had installed VC++ 2005 Express SP1 and then when i was about to do some more tests with metamp3, then it again said "The system cannot execute the specified program" and so i had to make an external manifest file and place it in the apps folder and now it works again. I have the VC8 runtimes installed perfectly and it's the same problem on two PC's, and the evidence for that my VC8 runtime installs on the two PC's are working propperly, is that metamp3 v0.91 works without a problem and without a need for an external manifest file on both PC's.

Btw, i forgot to ask you about this at yesterday, so could you please tell me if i'm understanding the new displayed console message : "Arg Used: x x" right in that the first "x" is the number of metamp3.exe switches used and the final "x" is the total amount of commands/switches/parameters used in the whole command-line ?

Also, i'm very gratefull for you implementing my suggested change to the "--fit" switch for the next release, i really appreciate it.

Again, i can't thank you enough for all your efforts, my friend.

CU, Martin.
Martin H
QUOTE(tycho @ Oct 30 2006, 23:28) *

[...] I'd like to add it to automatically write SoundCheck tag values for the iPod, when it computes and writes replaygain id3tags. A useful link is here, but I must know exactly how to convert the replaygain value to a SoundCheck value in order to do that.

Just in case you should have missed it :
QUOTE(Aero)

The C code for converting ReplayGain to SoundCheck is : soundcheck = 1000 * pow(10.0, (-0.1 * gain))

Source : http://www.hydrogenaudio.org/forums/index....st&p=230971
Martin H
Hi again, Tycho.

When having files called e.g. : "01 - TrackName.wav.mp3", then you can't run "metamp3 [...] *.mp3", but only "metamp3 [...] *.wav.mp3", as else the files isn't found.

Btw, i don't normally have files named like that, but i noticed it just because i had first tested something about genre setting with lame.exe and then afterwards used that output file to test something with metamp3.exe, and when you don't specify an output name to lame.exe, then it names the output files like that.

CU, Martin.
Martin H
I have also just noticed that the command-line parser in metamp3.exe treats the filename parameter case-sensitively, so if we have a file named "01 - TrackName.mp3", then this wouldn't work : metamp3 [...] "01 - trackname.mp3", but only this : metamp3 [...] "01 - "TrackName.mp3".

Landoro
@Tycho

Thanks for your excellent tool.
I appreciate the possibility to add the command line option for preserve the original file date and time.

For example:

mp3gain.exe
/p (Preserve original file timestamp)

metaflac.exe
--preserve-modtime (Preserve the original modification time in spite of edits)



Thanks.
JJZolx
QUOTE(tycho @ Mar 5 2007, 08:49) *

Hmm. Windows 64 refuses to run metamp3 beta 4 (in 32-bit mode): 'The system cannot execute the specified program.'

I get this same error when trying to run 0.92b4 in 32-bit Windows XP Pro.
Martin H
Instructions for getting the metamp3 beta to run :

First the VC8 runtimes needs to be installed, if they aren't allready :
http://www.microsoft.com/downloads/details...;displaylang=en

Then copy and paste the following text into a file named "metamp3.exe.manifest" and place it in metamp3's folder.
CODE
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>


Alternative solution for people that dosen't want to install the VC8 runtimes with the official installer :

First download "msvcr80.dll" and "msvcp80.dll" and place them + the above mentioned manifest file into metamp3's folder. Then another manifest file is needed, which also should be placed in metamp3's folder and named "microsoft.vc80.crt.manifest" :
CODE
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright © 1981-2001 Microsoft Corporation-->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
                                 manifestVersion="1.0">
  <noInheritable/>
  <assemblyIdentity
    type="win32"
    name="Microsoft.VC80.CRT"
    version="8.0.50608.0"
    processorArchitecture="x86"
    publicKeyToken="1fc8b3b9a1e18e3b" />
  <file name="msvcr80.dll"/>
  <file name="msvcp80.dll"/>
</assembly>


Note: If having VC++ 2005 Express or Visual Studio 2005 installed, then metamp3 can run without any changes needed.
nyaochi
Hi tycho,

Thanks for the nice tool. There's no such handy and modern command-line tool for tagging MP3 files other than metamp3.

I have one fatal problem. As lapyu reported in the post #3, the current metamp3 still cannot handle multibyte characters in a filename. I uploaded the screenshot as you might not be familar with multi-byte characters.
http://nyaochi.sakura.ne.jp/temp/metamp3_ja.png
In short, metamp3 rejects MP3 files with Japanese names.
Nik
1. Is metamp3 supporting /k option from mp3gain, so it prevents clipping?

I don't see it in the list of command line parameters.

Usage
-----
metamp3.exe [options] [mp3files]

options:
--artist <artist> audio/song artist
--album <album> audio/song album
--track <track>[/total] audio/song track number
--title <title> audio/song title
--year <year> audio/song year of issue (1 to 9999)
--genre <genre> audio/song genre name
--comment [[desc]][{lng}]<text> add user-defined text
--user-text [[desc]]<text> add user text frame (TXXX)
--user-url [[desc]]<URL> add user URL frame (WXXX)
--frame <frame:text> set any T* or W* type frame
--pict [[desc]][{type}]<file> add picture artwork
--save-pict <pict> pict=[[desc]][{type}]<file>
--list-pict-types list possible picture type numbers
--list-frames list Text and URL id3v2.3 frames
--list-genres list standard id3v1.1 genres
--1 add id3v1 tag only (default both v1 and v2)
--2 add id3v2 tag only (--1 --2 will add both)
--fit add id3v1 + id3v2 if tag does not fit id3v1
--remove [[desc]]<frame> remove frame(s). accepts wildcards *,?
--replay-gain calculate and set replay gain tags
--apply-gain <gain> change volume. gain=[album|radio]<+dB|-dB>
--undo-gain undo previous apply-gain
--info print detailed mp3/lametag info
--version show version info
--info show this help

I like that it writes ID3v2 tags, instead of APEv2

2. When it calculates and applies Replay Gain, does it do album gain or track gain?
LazyBoy
Why not use/preserve the mp3gain style tags?

I'm a fan of mp3gain and EAC, which has led me to REACT and metamp3. Reading about metamp3, I can't help but wonder why you didn't want to be compatible with mp3gain.

It seems that the ability to use either tool (without re-analysis & without two sets of tags if you run mp3gain after metamp3) would be good. Must I give up mp3gain if I use metamp3?

Are the APEv2 tags so distasteful?

LB
Nik
QUOTE(LazyBoy @ Mar 23 2007, 13:57) *

Why not use/preserve the mp3gain style tags?

I'm a fan of mp3gain and EAC, which has led me to REACT and metamp3. Reading about metamp3, I can't help but wonder why you didn't want to be compatible with mp3gain.

It seems that the ability to use either tool (without re-analysis & without two sets of tags if you run mp3gain after metamp3) would be good. Must I give up mp3gain if I use metamp3?

Are the APEv2 tags so distasteful?

LB


Not really.
They use same source, so they are more or less the same.
The only reasons why I would like ID3 instead of APE is consistency (lame writes other tags in ID3 format) and avoiding possible problems in the future.
I read that some players had (or still have) problems reading APE tags.
But, I'm using WinAmp, so I should be O.K.

Much bigger issue is clipping.
I would like to use some equivalent of /k option in metamp3, so I'm protected from clipping, but I don't see it
kolossal
This is exaclty the tool that i need, but i'm a linux user...
Any chance for a Linux release anytime soon?
Thanks
LazyBoy
QUOTE(Nik @ Mar 23 2007, 09:46) *

I read that some players had (or still have) problems reading APE tags.

Players don't need to read the mp3gain tags.
tycho
Hi all,
As you probably can guess, I am terrible occupied so I haven't been able to work much on metamp3 (or REACT). When there is time, adding all mp3gain (equivalent) options should be fairly easy. Also allowing multi-byte char filenames, and UTF-8 support if it's not too hard should be next. I don't think a Linux will be made in the near future, I'm afraid.

You should also look at the recent lame patch made by john33 that allows to add both command line album art frame and any text-frame id3v2.3 tags.
Jebus
QUOTE(tycho @ Mar 23 2007, 15:35) *

Hi all,
As you probably can guess, I am terrible occupied so I haven't been able to work much on metamp3 (or REACT). When there is time, adding all mp3gain (equivalent) options should be fairly easy. Also allowing multi-byte char filenames, and UTF-8 support if it's not too hard should be next. I don't think a Linux will be made in the near future, I'm afraid.

You should also look at the recent lame patch made by john33 that allows to add both command line album art frame and any text-frame id3v2.3 tags.


Thanks Tycho! I'd use Lame's built-in routines, but you can't tag an existing mp3 with them AFAICT (only encode a new one).

Could you please, at your earliest op, at least roll a static binary with no dependencies so people without visual studio can use this .exe without any manifest or .dlls or such? This beta seems to be working fine!
mRuss
Tycho, please update your readme.txt file with the link to the VC++ runtime files that users need to have installed for your program to work.

http://www.microsoft.com/downloads/details...;displaylang=en

I had much trouble getting REACT to function because it uses your program and their documentation does not mention the runtime files either.

Other than that, your program works very well and very fast. Thanks for your efforts.

Russ.
tycho
QUOTE(mRuss @ Mar 28 2007, 17:43) *

Tycho, please update your readme.txt file with the link to the VC++ runtime files that users need to have installed for your program to work.

http://www.microsoft.com/downloads/details...;displaylang=en

I had much trouble getting REACT to function because it uses your program and their documentation does not mention the runtime files either.

Other than that, your program works very well and very fast. Thanks for your efforts.

Russ.


I will. However, the reason why the beta versions doesn't work for most people is because they were compiled with VC++ 2005 SP1. It requires a new vcredist_x86-sp1.exe which is not available from Microsoft's site - nore is it included in the VC 2005 Express installation!!! It is however in the VC++ 2005 Standard version. I can get hold of this file, but then I'm not sure I am allowed to redistribute it, although the name should imply it wink.gif

There are three ways:
1) Distribute vcredist_x86-sp1.exe (if legal)
2) Uninstall SP1, recompile
3) Link statically with runtime libraries: compiler option /MT instead of /MD. This will create a rather bloated .exe file, but should always work!

Any suggestions?


Edit: read the gory details about all the problems with SP1: http://blogs.msdn.com/vcblog/archive/2006/...1-released.aspx
Nik
QUOTE(LazyBoy @ Mar 23 2007, 20:38) *

QUOTE(Nik @ Mar 23 2007, 09:46) *

I read that some players had (or still have) problems reading APE tags.

Players don't need to read the mp3gain tags.

If they cannot read mp3gain tags (i.e. Replay Gain tags) then they are what's on this forum usually called non-Replay Gain aware players.
They will play with the gain adjusted with mp3gain.
However Replay Gain aware players (the ones that can read mp3gain tags) have two advantages:
1. They can adjust gain more precisely (non RG aware players have resolution of 1.5dB)
2. You can choose whether to play tracks with AlbumGain or TrackGain.
With non-RG aware player, you can play with the gain which is applied to the track and that can be only one of them, of course.

Everyone will decide for himself whether these two issues are important to him.

I showed examples and more details in the guide, to get clearer picture.
Martin H
QUOTE(tycho @ Mar 29 2007, 09:59) *

There are three ways:
1) Distribute vcredist_x86-sp1.exe (if legal)
2) Uninstall SP1, recompile
3) Link statically with runtime libraries: compiler option /MT instead of /MD. This will create a rather bloated .exe file, but should always work!

Any suggestions?

Ahh, nice to know what the problem was about smile.gif Just do whatever you preffer, but i would personally link statically smile.gif Thank's, mate.
tycho
I have made a link to vcredist_x86-sp1.exe in the first post (which should fix all manifest problems), and also made a link to metamp3 0.92 beta 5. I built that some time ago, and don't exactly remember what it fixed (probably a minor thing). More details later.

edit: now I remember: command line syntax changed a little. Hopefully more consistent.
Jebus
A static binary would be excellent.
Nik
QUOTE(Nik @ Mar 22 2007, 23:40) *

1. Is metamp3 supporting /k option from mp3gain, so it prevents clipping?

2. When it calculates and applies Replay Gain, does it do album gain or track gain?


Anyone can answer this?
I would guess from Tycho's reply that answer on 1. is No. sad.gif

Thanks
tycho
1. Next version will support the prevent clipping option, along with other mp3gain options (equals).

2. It does both when specifying multiple input files, e.g. *.mp3, just like mp3gain. Only track gain when specifying one input file.

edit: also, the executable will be linked statically with the VC8 runtime libraries.
gsa999
QUOTE(tycho @ Oct 30 2006, 23:28) *

(note that some command line options has changed, and are not backward compatible).


Can you advise which commands are NOT backward compatible. With beta 5 REACT2 does not seem to work properly. I think it might be related to the pict command
Nik
QUOTE(tycho @ Apr 2 2007, 09:03) *

2. It does both when specifying multiple input files, e.g. *.mp3, just like mp3gain. Only track gain when specifying one input file.

But it cannot apply both!
I understand that it calculates and writhes both in tags, but only one can be applied in global gain field, so non-ReplayGain aware players can play files with adjusted gain.
steve3386
QUOTE
In addition to the features already available, I'd like to add it to automatically write SoundCheck tag values for the iPod, when it computes and writes replaygain id3tags. A useful link is here, but I must know exactly how to convert the replaygain value to a SoundCheck value in order to do that.


Tycho, the following thread has info on this. Look at the posts from 2006-2007. There are two programs there that copy the RG values to the soundcheck tags. You may be able to use these in metamp3, or incorporate them into REACT2. It sure would be great to write the RG album value to the soundcheck tag when ripping (or at least while RG tagging) so that it is all done at once.
Link
davelasker
QUOTE
In addition to the features already available, I'd like to add it to automatically write SoundCheck tag values for the iPod, when it computes and writes replaygain id3tags. A useful link is here, but I must know exactly how to convert the replaygain value to a SoundCheck value in order to do that.

Also, take a look at this page. Towards the bottom you will find some perl code which converts a replaygain volume adjustment (i.e. a signed number of dB) into the hexadecimal values found in the iTunNORM tag.

The formula for converting replaygain adjustment to a soundcheck adjustment in iTunNORM is:

CODE
sc = pow(10, -rg/10) * base,

where:
rg = replaygain adjustment, in +/- dB
base = 1000 for the 1st and 2nd numbers in iTunNORM tag, and
2500 for the 3rd and 4th numbers in iTunNORM tag
sc = value of the 1st 4 numbers in iTunNORM using the above base.

I did some experiments that indicate this is correct:
1) I manually set 1st 4 hex numbers in iTunNORM tag using the above formula and verified that iTunes's Get Info command shows the same dB adjustment.
2) I used MP3Gain to alter the volume of a track, removed its iTunNORM tag, reimported it into iTunes to generate a new iTunNORM tag, and used the inverse of the above formula
CODE
rg = -10 * log10(sc/base)
to verify that 1st 4 numbers of iTunNORM tag changed by the same amount as the MP3Gain adjustment.

Hope that helps...

Dave
tycho
Thanks folks. I hope I find a few hours to implement this soon. Actually, I'd like to add an option to take the track replay gain value from the lame header and copy it to a regular id3v2 RG tag. (metamp3 is already capable to read the replaygain value created by lame in the lametag). How is then the formula to compute the album RG from a set of mp3 files with precomputed track RGs? I guess it is some kind of avaraging?

With this, we could write album RG, track RG, and SoundCheck tags, without doing any file scanning at all!
davelasker
QUOTE(tycho @ Apr 23 2007, 02:17) *

How is then the formula to compute the album RG from a set of mp3 files with precomputed track RGs? I guess it is some kind of avaraging?

Sorry but I don't think this is possible. To compute the album gain, you need to playback all of the album's tracks, and feed their pcm values to the replaygain algorithm. The album gain calculation essentially treats all the album's tracks as a single track, and computes that track's track gain.

You might get a rough approximation by averaging the track gain values, but it won't be the same as computing it via playback.

Dave
tycho
QUOTE(davelasker @ Apr 23 2007, 09:25) *

QUOTE(tycho @ Apr 23 2007, 02:17) *

How is then the formula to compute the album RG from a set of mp3 files with precomputed track RGs? I guess it is some kind of avaraging?

Sorry but I don't think this is possible. To compute the album gain, you need to playback all of the album's tracks, and feed their pcm values to the replaygain algorithm. The album gain calculation essentially treats all the album's tracks as a single track, and computes that track's track gain.

You might get a rough approximation by averaging the track gain values, but it won't be the same as computing it via playback.

Dave

Yep, I think you're right. I still suppose that track gains weighted with number of seconds divided on total number of seconds for the album should be pretty close, but I won't try it.
scooterfrog
synching / fixing soundcheck and mp3gain /metamp3 gains would be great.

I have run into problems appplying mp3 gain to soundchecked files only to find them doubley alterd when played back with soundcheck on.

when tis is ready ( the soundcheck part.
I will use tis progeam to celanup all my gain tags/levels.
for a simple radio ( track gain) that will acutally work no matter where I play it.
steve3386

That would be great if we could write the RG values to the soundcheck tags. The program would be most flexible if you could choose thorugh a command line switch which RG value (track or album) to write to the soundcheck tag. Then, for those like me that do not scale their tracks using RG track values, they could use the RG album value as the soundcheck tag. Just my two cents.

gsa999
I'm sure this is a really dumb question but how can I get metamp3 to work recursively through all my folders. I want it to replaygain all my mp3's

Rgds
tycho
QUOTE(gsa999 @ Oct 26 2007, 05:34) *

I'm sure this is a really dumb question but how can I get metamp3 to work recursively through all my folders. I want it to replaygain all my mp3's

Rgds

You can do it with a dos command batch script. But it's much simpler and faster to use foobar2000 for this - especially when you have a dual core machine.

Also to convert RG tags to SoundCheck itunes tags, load the RG'd files into mp3tag and apply one of the RG to SC actions (you'll find the actions to use by searching in the forum).
jespers
metamp3 seems like a nice tool for applying track- and album-gain to id3v2-tags. My only gripe with it is that no version is available for linux. I'd rather not use wine for such a processor-intensive task as calculating replaygain info.
Does anyone know of a similar tool for linux, or a port of metamp3 somewhere?
noorotic
-tycho: Thank You very much for this tool.. it is what I've been looking for. I have been using ID3 but have been unable to figure out the syntax (if it is even possible) for it to write 'undefined' tags, such as Venue, etc.

I have some questions regarding correctly using metamp3 as far as when and where to use ID3v2 defined tags for things like composer, and when to define a tag within the TXXX frame (if I am even using the correct terminology).

My application is writing tags for recordings of live concerts, etc... non-commercial recordings.

Any suggestions anyone, for a forum or thread where I might find such assistance?

Thanks,

Bob smile.gif
Synthetic Soul
I'm certainly no expert in this field, but I would always consider the ID3v2 specs, and use the defined frames where possible (e.g.: TCOM for composer). If you wish to store information that is not covered by any of the defined frames then, and only then, revert to using a TXXX frame.

I have referenced the 2.3 spec, as metamp3 currently writes 2.3 tags.

Edit: As another point of reference, it may be useful to take a look at the foobar2000 ID3 tag mapping.
noorotic
Synthetic Soul, I'd say you are about as close to expert-level as anyone. smile.gif I am using Tag for everything but ID3, including (at the moment) reading and parsing existing tags. I do not necessarily need to be totally compatibile with Foobar2000, as I personally am using the ID3v2.3 'compatibility' setting.

I am to a point now of allowing people to add their own custom fields. I may pre-design any of the standard fields in, but much of what might be included would be for example, taping details, who initially distributed the recording and when, etc. These would not likely be recognized by many players, but they are more for archival purposes, and would probably be in FLAC files. Some method of retrieving outside of a player software would be needed. Still, I would like as much to be compatible with portable players, etc, as possible.

I appreciate your suggestions, I've read much of ID3.org.

I am very grateful to tycho. I see many requests online for this, it would be nice if more easily found, probably.


Bob
bilbo
QUOTE(tycho @ Apr 23 2007, 05:17) *

Thanks folks. I hope I find a few hours to implement this soon. Actually, I'd like to add an option to take the track replay gain value from the lame header and copy it to a regular id3v2 RG tag. (metamp3 is already capable to read the replaygain value created by lame in the lametag). How is then the formula to compute the album RG from a set of mp3 files with precomputed track RGs? I guess it is some kind of avaraging?

With this, we could write album RG, track RG, and SoundCheck tags, without doing any file scanning at all!


Has this ever been implemented in metamp3?
Vitriolic
I've noticed a weird buggy thing - I am using this to embed album art in foobar using foo_run. I also have created a "styles" tag that is a multiple entry tag, with the entries deliminated by our pal the ';'. Once I update the MP3 file by embedding the art, these multiple entry tags seem to be corrupted, with a tab space placed after the semicolon rather than the space which was there prior to adding the album art.

As an example, I whipped up this image - The top shows what happens once I run the tool on it, (and I just noticed it ate the ö as well. Huh.) The bottom shows what it should look like. I embedded the actual tag in each example as well.
IPB Image
Another odd thing is that until I actually play one of the files, these changes don't show up. I can actually open the properties and copy the tag, then paste it back down again, and the problem goes away.

Weird. Any ideas?
Moonbase
First, I wish to thank you, Tycho, for all your incredible efforts and for taking up suggestions and feature requests so readily! This has really become a very usable and handy tool! Also, let me thank all of the others above who helped with their testing, suggestions and requests.

I’m just playing around with metamp3 v0.92b5 and have some questions:

1. Would it be possible to completely remove a set of tag info, i.e. ID3v1?

I tried

metamp3 --1 --remove * *.mp3
and
metamp3 --1 --remove [*] *.mp3

and it tells me about Updating ID3: <filenames> but apparently something must have been left behind:

When doing a
metamp3 --info *.mp3

it tells me:
ID3v1.1 tags:


ID3v2.3 tags:

TXXX: [replaygain_album_peak]: 1.180283
TXXX: [replaygain_album_gain]: -8.79 dB
TXXX: [replaygain_track_peak]: 1.054268
TXXX: [replaygain_track_gain]: -8.55 dB
TALB: Kingdom Of Rock
TPE1: Guardian
TBPM: 0
TCON: Christian Rock
TIT2: Voyager
TRCK: 10/10
TYER: 1996


This can be verified with other tagging software like Mp3tag, all of these state there would be ID3v1 and ID3v2.3 tags in the file. The ID3v1 tags are nonexistant (at least not shown) after above remove, the ID3v2.3 tags still unharmed (as expected).

What am I doing wrong?

---

2. I found I was unable to remove an unknown frame SEBR from a file (list shows it).

If it’s not my error, could you find the heart to implement something like: if doing a remove, try to find one or more tags that correspond to what the user has typed (i.e. SEBR, SE*) and, if a match was found, remove it regardless? This would allow removing non-standard tags someone left in the files.

Of course we couldn’t add, extract, or list these (because we don’t know their structure), but being able to at least remove them would be just great and make metamp3 even more versatile!

---

3. Do I understand correctly, that
  • if you use --replay-gain, only the gain is calculated and written to (ID3) tags, and nothing else is changed, and
  • if you use --apply-gain, it will do what MP3Gain does, i.e. change the audio frames?


---

The intention of all this (for me) is, I want to do some »cleaning up«, i.e. remove ID3v1 tags completely, remove »foreign« tags like SEBR and the like, and do some album-replaygaining, all from batch files. I use ID3v2.3 with ISO-8859-1 encoding throughout, so after some research, I found your tool being »just the Good Thing«.

Many thanks again.
tycho
QUOTE(Moonbase @ Oct 28 2008, 21:24) *

First, I wish to thank you, Tycho, for all your incredible efforts and for taking up suggestions and feature requests so readily! This has really become a very usable and handy tool! Also, let me thank all of the others above who helped with their testing, suggestions and requests.

Well, I haven't been to much help lately (for at least a year or so), but thanks anyway.

QUOTE

1. Would it be possible to completely remove a set of tag info, i.e. ID3v1?

Sorry, no. I think it only blanks tags in the ID3v1 block. It would have to analyse if all the tags where blanked and then remove the complete ID3v1 block. Or a specific option could do it (e.g. --remove-all-id3v1).

QUOTE

2. I found I was unable to remove an unknown frame SEBR from a file (list shows it).
If it’s not my error, could you find the heart to implement something like: if doing a remove, try to find one or more tags that correspond to what the user has typed (i.e. SEBR, SE*) and, if a match was found, remove it regardless? This would allow removing non-standard tags someone left in the files.

Of course we couldn’t add, extract, or list these (because we don’t know their structure), but being able to at least remove them would be just great and make metamp3 even more versatile!

Well, I'm relying on the functionality of id3lib to remove tags, which unfortunately is a little limited.
QUOTE

3. Do I understand correctly, that
  • if you use --replay-gain, only the gain is calculated and written to (ID3) tags, and nothing else is changed, and
  • if you use --apply-gain, it will do what MP3Gain does, i.e. change the audio frames?


You are correct.

QUOTE

The intention of all this (for me) is, I want to do some »cleaning up«, i.e. remove ID3v1 tags completely, remove »foreign« tags like SEBR and the like, and do some album-replaygaining, all from batch files. I use ID3v2.3 with ISO-8859-1 encoding throughout, so after some research, I found your tool being »just the Good Thing«.

There are severe limitations in using id3lib as basis for the tool, as it has: no multi-byte characters support - only ansi, no id3v2.4 support, and it is a little buggy. I once started to implement metamp3 using TagLib instead, but it also was somewhat buggy at the time. Taglib 1.5 may be better, and I really would like to rewrite metamp3 using that (+ it would support vorbistags, ape, and aac tags). TagLib is well-written C++ code, and is therefore much easier to use and extend with e.g. specific features that you suggest. One issue with TagLib though is that it only support writing of id3 v2.4. I will have to add support for writing id3v2.3, which is the defacto id3v2 standard. I'll let you know if/when I get this started.
Moonbase
QUOTE(tycho @ Oct 29 2008, 11:39) *

Or a specific option could do it (e.g. --remove-all-id3v1).

Would it be a terrible effort to put this in before something new starts?

QUOTE(tycho @ Oct 29 2008, 11:39) *

I'll let you know if/when I get this started.

Count me in for testing (or maybe help). You might want to drop me an email then, since I’m on so many forums, I might overlook it otherwise … ;-)

Cheers for the quick answers!
UberNewf
Hello,

===ISSUE 1===
I want to 0-pad track numbers when making MP3s with React2\ACDIR\MetaMP3\EAC. This was asked back in 2007 but I did not see an answer to it. I am a new user and I have the same problem/request. Can anyone help, please?


===ISSUE 2===
May or may not be caused by MetaMP3 but I also want to name my files like this:

01 - A Perfect Circle - Mer de Noms - The Hollow.mp3

I tried this in my REACT.INI (in the [UserOutputNames] section), but it causes ACDIR to actually crash!

TrackName_SA_acdir=$N - $~A - $C - $T

Any ideas (or recommendation for the proper forum <g> if not here)?

THX,
UN
Moonbase
I just did some testing and found that metamp3 seems to be extremely »intelligent« on updating replay gain values:

I used a command like
metamp3.exe --2 --replay-gain "file1.mp3" "file2.mp3" "file3.mp3" …
on the tracks of an album that had replaygain tags before, except that I deleted them from one file, to see what it would do.

Apparently it »detected« that one file from the album had no replaygain tags and so it would have to recalculate all files in order to find an appropriate album gain. (Which it did.)

When using exact the same command again, it would just say »Updating ID3…« and be finished much faster (without re-calculating all the gains again).

Can this really be true? Did anyone verify this?

If that is really how it works – KUDOS again to Tycho!!!

And we all will have an integration with Mp3tag to do »failsafe« correct album+track replay gains on whole collections soon, hooray! (That’s what I’m currently working on, because not everyone loves foobar2000 and it tends to choke on samplers where the single titles are scattered all over the disc, i.e., if your folder structure is artist-oriented.)
Synthetic Soul
QUOTE(UberNewf @ Oct 29 2008, 17:39) *
Any ideas (or recommendation for the proper forum <g> if not here)?
I think you should post your questions to the REACT 2 thread. Issue 2 is certainly not related to metamp3 in any way (and I'm not sure that you actually believe that it is).
UberNewf
QUOTE(Synthetic Soul @ Oct 29 2008, 15:20) *

QUOTE(UberNewf @ Oct 29 2008, 17:39) *
Any ideas (or recommendation for the proper forum <g> if not here)?
I think you should post your questions to the REACT 2 thread. Issue 2 is certainly not related to metamp3 in any way (and I'm not sure that you actually believe that it is).


Fair 'nuf.
Akkurat
The "--list-picture-types" option which is documented in metamp3.txt and in command line help doesn't work in 0.92b5. The "--list-pict-types" from older versions works.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.