Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: MP3 repacker (Read 587647 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

MP3 repacker

Reply #100
So, the command line will put up that warning then keep going, whereas the GUI will put up the warning and die?

The most likely cause of it is that you have another mp3.pm on the path somewhere. I added the close method in version 0.07. Did you have another version before that?

[edit: didn't need to quote all that]
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #101
Aha, that seemed to fix it.  I had a few stray copies of mp3.pm around on my hard drive, and deleting them fixed the problem.

MP3 repacker

Reply #102
I think it would be useful if somebody with all the components (perl, mp3.pm, the frontend, anything else this requires to run) could make available a zip or rar to download containing all of these. It would make it more convenient for those of us with nothing.

MP3 repacker

Reply #103
Perl may be too big to include in such a package. Psyllium's frontend comes packaged with mp3packer.pl but he may not have updated it to the latest version yet. Either way, you shouldn't have too much work to do.

MP3 repacker

Reply #104
It wouldn't be wise to include Perl, but a link to the ActiveState download page from the first post would certainly be helpful to a lot of new users. The frontend is a separate project, and until that is updated, it's best to just replace the two perl files from this one and use them with the frontend.

UED77
UED77
wavpack 4.50 -hx3; lame 3.97 -V4 --vbr-new

MP3 repacker

Reply #105
I've just now updated the .zip package for WinMP3Packer to include version 0.10 of the script.

MP3 repacker

Reply #106
Speaking of which...

MP3 repacker

Reply #107
i think i have read this fixes the nano suttering problems? righ?

MP3 repacker

Reply #108
Quote
i think i have read this fixes the nano suttering problems? righ?
[a href="index.php?act=findpost&pid=364776"][{POST_SNAPBACK}][/a]

Does it? I suppose if the problem actually is that it can't handle VBR correctly, then using the "unpack" to CBR mode would help. Howener, if the problem is that it doesn't handle high bitrate files, then mp3packer won't help a bit (the amount of data to process is always the same).

It'd be interesting if somebody tested it out and repored back.


As for including Perl, I'm sure it's possible, but the script depends on a couple of standard modules, which depend on a few more modules, etc. It'd be easier to compile an exe file out of it, and even that is pretty difficult.


Regarding the option to rename the original files, I think it's a good idea. However, I'll want to extend it so that it will work on directories as well (that is, it will move all the original files into a new directory) I'll tinker with that when I have the time.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #109
It should help in theory. I believe the problem was that the firmware wouldn't change change the CPU clockspeed fast enough to deal with the bitrate jumps.

MP3 repacker

Reply #110
eactly, so, anyone with nanos can test it?

MP3 repacker

Reply #111
Mmmm.... is it me, or mp3 repacker doesn't maintain the encoder_delay and encoder_padding from the LAME header?

Prev:
Code: [Select]
enc_delay = 576
enc_padding = 2076
mp3_accurate_length = yes
bitrate = 320
codec = MP3
encoding = lossy
channels = 2
samplerate = 44100
mp3_stereo_mode = joint stereo
tagtype = apev2|id3v1
----------
9607332 samples @ 44100Hz
File size: 8 718 065 bytes


Post:
Code: [Select]
enc_delay = 0
enc_padding = 0
mp3_accurate_length = yes
bitrate = 320
codec = MP3
encoding = lossy
channels = 2
samplerate = 44100
extrainfo = VBR
mp3_stereo_mode = joint stereo
tagtype = apev2|id3v1
----------
9610607 samples @ 44100Hz
File size: 8 709 308 bytes



(Also... i got quite puzzled to see a 1/1000% saving :S this was a 3.90.3 --api )

MP3 repacker

Reply #112
Quote
,Feb 23 2006, 10:36 AM]Mmmm.... is it me, or mp3 repacker doesn't maintain the encoder_delay and encoder_padding from the LAME header?

(Also... i got quite puzzled to see a 1/1000% saving :S this was a 3.90.3 --api )
[a href="index.php?act=findpost&pid=366620"][{POST_SNAPBACK}][/a]

MP3packer 0.10 should keep the delays. Which version are you using?

Using MP3packer on a LAME 3.90.3 API encode won't give you the same savings as with 3.96.1 because API in 3.90.3 actually uses the bit reservoir. 3.96.1 doesn't, so any unused bits in a frame are wasted. This is what MP3packer was designed to clean up. There was a big, flame-riddled thread about this somewhere.

[ edit: I hadn't realized that 3.97 uses the bit reservoir again. I'm also getting ~0.1% improvement in API. I guess my "2-10%" statement was pretty short-lived! ]

(PS. The output file is 1/1000 smaller, or 0.1% smaller, but not 1/1000%  )
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #113
i used winmp3packer  feb/04, version 0.4.2226.41761  (extracted from file properties)
and mp3packer.pl feb/13 version 0.10  (I opened the file and has the whatsnew for 0.10)

I've searched all my hard drive to verify that there isn't another mp3packer.pl.

(thanks for pointing out the % typo :S )

MP3 repacker

Reply #114
Hm. Weird. Maybe 3.90.3 writes a different type of LAME header than I'm used to and mp3packer doesn't parse it correctly.

Do you think you could e-mail me the first ~100K of the file? I PMed you with my e-mail address.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #115
Hm. Did you run mp3gain on the file?

Normally XING tags have a null side info, but this one didn't. Everything is null except the frame gain information. My program sees the non-null side info and assumes that the frame has actual audio data in it. The spec says that XING/LAME tags should have nothing in the side info, but I suppose I can work around it.

I'm currently working on the next version. It's a complete rewrite in OCaml, and it uses "1.5" passes, so it'll be faster and use less memory. And it won't require any runtimes or anything, so everybody without Perl can stop complaining.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #116
Quote
Hm. Did you run mp3gain on the file?
[a href="index.php?act=findpost&pid=367253"][{POST_SNAPBACK}][/a]


I don't remember (I did it in 2003), but it's quite possible, since i wanted to do mixes..

MP3 repacker

Reply #117
I just whipped together a simple beta-quality version of the next mp3packer. (version 0.9.99)

New features:
* Completely rewritten in OCaml
* Standalone Windows binary (no runtimes or perls needed anymore)
* Uses less memory than the old "-m" option
* Faster than the fastest setting for the old versions

Still needs work:
* Only file -> file works at the moment (no directory support)
* NOT extensively tested yet
* No binaries for any other operating systems. I'll release the source when I get everything organized
* I'm really tired right now and have no idea what kind of bugs I just introduced
* Usage screen does not appear if no files are given. Use "-help" to view.

Get it here. I'm going to bed.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #118
/me wait for the source code!

MP3 repacker

Reply #119
Quote
I just whipped together a simple beta-quality version of the next mp3packer. (version 0.9.99)

New features:
* Completely rewritten in OCaml
* Standalone Windows binary (no runtimes or perls needed anymore)
* Uses less memory than the old "-m" option
* Faster than the fastest setting for the old versions

Still needs work:
* Only file -> file works at the moment (no directory support)
* NOT extensively tested yet
* No binaries for any other operating systems. I'll release the source when I get everything organized
* I'm really tired right now and have no idea what kind of bugs I just introduced
* Usage screen does not appear if no files are given. Use "-help" to view.

Get it here. I'm going to bed.
[a href="index.php?act=findpost&pid=370780"][{POST_SNAPBACK}][/a]


WOW talk about a speed improvement! Well done. I've found there's minimal change required for the GUI, so y'all can expect a new version of the WinMP3Packer soon enough. The only thing that is missing at the moment is the status messsages to give the % complete on individual files... not such a big deal now that it runs so fast.

If I am a bit slow in doing this though, send a reminder post on the WinMP3Packer thread - I have subscribed to it

MP3 repacker

Reply #120
Quote
Well done. I've found there's minimal change required for the GUI, so y'all can expect a new version of the WinMP3Packer soon enough.

If I am a bit slow in doing this though, send a reminder post on the WinMP3Packer thread - I have subscribed to it
[a href="index.php?act=findpost&pid=370983"][{POST_SNAPBACK}][/a]
No hurry. I still haven't nailed down what I want the options to be like. OCaml doesn't have nearly as good a command-line argument parser as Perl does, so I might just make my own.

Quote
WOW talk about a speed improvement!
Yeah, it is a tad faster. The combination of doing both passes simultaneously and switching from Perl really speeds things up. I didn't really do any optimizations or anything.

Quote
The only thing that is missing at the moment is the status messsages to give the % complete on individual files... not such a big deal now that it runs so fast.
Oh yeah. I forgot about that. I added it to the "-i" info processing, but not the repacking. It'll be in the next release.

I'll try to get a "less-beta" version out in the next few days.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #121
All right, I think this is good enough. I just released version 1.00 of mp3packer, freshly rewritten in OCaml. It works a bit differently from the Perl version.
* Full-directory parsing is no longer available. This will be fixed in the near future.
* Ditto for the "-X" delete input file option.
* No runtimes or Perls or extra downloads required.
* The "-m" switch is no longer needed or supported. The new version reads the file once (like the old "-m" mode) but uses about the same amount of memory as the 2-pass normal mode.
* The arguments can no longer be tacked together. In the Perl version, "-st" meant "-s -t". Now "-st" will throw an error.
* New "-debug" switch for... debugging. Use "-debug all" to print out heaps o' data.

Also, the "-b" switch has been modified slightly. If an exact bitrate is given (like "-b 128") the program will change the smallest bitrate per frame to allow a more exact bitrate. For example "-b 128" will limit the first frame to an unpadded 128kbps frame, wheras the second frame will be limited to a padded 128kbps frame.

The result of this is that if all frames are the smallest possible, it follows the standard CBR dithering pattern.

If you give a number to "-b" which is one more than a valid bitrate, then the smallest bitrate would be a padded frame of that bitrate. All other bitrates round up to the next highest unpadded bitrate. For example:
Code: [Select]
130 -> Unpadded 160
129 -> Padded 128
128 -> Unpadded, padded, padded... 128 (depending on frame)
127 -> Unpadded 128
126 -> Unpadded 128
113 -> Padded 112
112 -> Unpadded, padded padded, unpadded... 112


One of the results of this is that the highest bitrate possible is actually obtained with "-b 321" which results in a bitrate of 320.03 kbps.

ALSO NOTE:
The Perl versions were public domian, the new versions will be GPL. This means it can still be distributed with closed-source applications like psyllium's winmp3packer, but it should point out the copyright holder (me!) and contain a copy of the GPL.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #122
Omion. I try to compile the MP3 Repacker source on Mac OS X, but it dont play nicely.
I ocaml-3.09.1 installed and working. But the process fail when I run "make".

Quote
make
ocamlopt -c mp3types.ml
ocamlopt -c pack.ml
ocamlopt -c mp3types.cmx pack.cmx mp3read.ml
File "mp3read.ml", line 426, characters 16-26:
Unbound value Crc.create
make: *** [mp3read.cmx] Error 2

Do you have any hints?
I have never heard of 'ocaml' before, so this is all new to me.

MP3 repacker

Reply #123
Oops. I think my makefile isn't in the right order. Run "make mp3packer" to do things correctly. makefiles are pretty new to me

[edit: deleted quote]
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

MP3 repacker

Reply #124
Success!
Now on to testing this...