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: WinMP3Packer Beta released (Read 234759 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

WinMP3Packer Beta released

Hi all,

Some of you may have seen or used Omion's 'mp3packer' tool in this thread.

To make it a bit more user friendly, I've created a GUI for it:


Download Windows Installer version

A plain zip file without installer is also available.

Note: You will need the .NET Framework 1.1 redistributable which is available from here.

Reasons why you might want to use this tool:
. Reduce the size of high bitrate CBR files, turning them into VBR files. (This is the original idea of mp3packer)
. Take a Variable Bitrate (VBR) MP3 file and convert it into a Constant Bitrate (CBR) MP3 file. WinMP3Packer does this by finding a CBR bitrate that the VBR file will fit into.
This is useful if you want to play the audio on hardware players that do not support VBR files properly (e.g. Pioneer DJ equipment, CDJ-200)
. Strip headers from the start and/or end of the files.

Features in this version:
. Allows for batch processing - multiple files and folders may be selected.
. Allows for processing whole folders. Will also recurse into the sub-folders and process the files in there.
. When processing whole folders, the option 'Recreate sub-folders' will put the output files into the same sort of directory structure as the input files.

Let me know how it goes! There's no doco for this thing ... so if you have any questions just send me a PM.

Changelog:
----------
1.0.13 (22 Oct 2006)
- Includes new version 1.13 of mp3packer.exe
- Improved refresh rate of progress dialog when processing files.
- New option to 'Copy unprocessed MP3s' when using a custom output folder. This option will ensure all the input MP3s end up in the output folder regardless of whether they require processing or not.
- Fixed bug where the settings portion of the screen was not being disabled while processing.
- New option to 'Super-squeeze files' which sends option '-z' to mp3packer.exe
- New option to use an 'Alternate broken frame behaviour' which sends option '-w'
- New checkbox for input type 'All' which basically just checks the CBR and VBR checkboxes. This is just for GUI niceness and no other reason.
- New checkbox to enable/disable the 'Append text to filenames' option.
- When the 'Overwrite existing files' checkbox is enabled and the program has the same input/output filename for an operation, the existing file will be replaced by the newly processed file. The enable this behaviour, untick the 'Append text to filenames' option and set the 'Output folder' to 'Same as input'. This comes with a warning though: The original files will be replaced!
- The installation package now contains some example profile settings. These include the default settings and profiles to convert to CBR or VBR (these will overwrite the original mp3 files). The settings are stored in WinMP3Packer-config.xml. A copy of the new settings is available in WinMP3Packer-config-default.xml.

1.0.4 (15 Jul 2006)
- Includes new version 1.04 of mp3packer.exe
- Settings get saved into the file WinMP3Packer-config.xml in the same directory as the program. You can save different 'profiles' of settings which are all stored in the same file.
- Drag-and-Drop of files and folders into the processing list from Windows Explorer now works.

1.0.3 (10 Jun 2006)
- Includes new version 1.03 of mp3packer.exe
- Individual progress bar for each file is back.
- New 'About mp3packer' dialog accessible from clicking the 'mp3packer' version the status bar. This dialog will show the contents of mp3packer.html and also allows for the upgrading of the mp3packer.exe program.
- Removed the 'Delete original' files option as it didn't seem to work anyway.

1.0 (22 Apr 2006)
- New version based on the mp3packer.exe program. Perl is no longer required. Much faster.
- Created .msi installer package
- Removal of the individual progress bar for updating files for now.

0.4.1 beta (16 Feb 2006)
- Updated bundled mp3packer.pl to version 0.10 (bug-fixes).
- No changes to the front-end program itself.

0.4 beta (04 Feb 2006)
- Support for mp3packer.pl 0.09 (included in package).
- Multiple attempts at converting VBR->CBR are no longer necessary, thanks to the new switch, '-i' (thanks Omion). As a result, the 'attempts' field has been removed.
- Removed the 'Only for VBR input' option which was causing confusion.
- New options to filter out the input files depending on their type.
'Automatic' (the default) will convert only the files that need processing.
This means:
. When converting *to* VBR, only CBR files will be processed.
. When converting *to* CBR, only VBR files will be processed.
If you want all mp3 files to be processed no matter what, untick the 'Automatic' option and tick the CBR/VBR checkboxes as appropriate.
. Message box prompt when processing is complete, informing you of how many files were processed, skipped, or had errors.

0.3 beta (26 Jan 2006)
- Support for mp3packer.pl 0.08 (included in package).
- Support for multiple attempts at making CBR files. Will now loop from the average bitrate of the VBR file up to the largest packet size of the VBR file. e.g. 201kbps file may now be a 256kbps CBR file instead of a 320kbps CBR file. To revert to the old behaviour, set 'Attempts' to '2'.
- File list window now has icons, and will show you the bitrate and VBR/CBR type of the input files. There is no information available on the files within folders (... yet)
- Status window will show % complete in its title bar. Handy for when you are running it in the background.
- New option 'Only for VBR input' when in CBR mode. This is on be default. It means that if the input file is CBR, the output file will be CBR with the same bitrate.

0.2 beta (22 Jan 2006)
- Fix bug where output was not being captured properly - app was not determining VBR files in that case.
- Reduce logging when creating/checking directories.

0.1 beta (21 Jan 2006)
- Initial release

WinMP3Packer Beta released

Reply #1
HOORAY!!!!!     

Last night a DJ saved my life!!


Quote
Hi all,

Some of you may have seen or used Omion's 'mp3packer' tool in this thread.

To make it a bit more user friendly, I've created a GUI for it:


You can download WinMP3Packer version 0.1 beta from here. The readme.txt in there should tell you anything u need to know... basically u just need a perl.exe available in your path, the .NET Framework (version 1.1), and you are set...

Reasons why you might want to use this tool:
. Reduce the size of high bitrate CBR files, turning them into VBR files. (This is the original idea of mp3packer)
. Convert VBR MP3 files into CBR MP3 files. The CBR files will inherit the bitrate from the largest frame in the file, usually 320kbps. This is useful if you want to play the audio on hardware players that do not support VBR files properly (e.g. Pioneer DJ equipment, CDJ-200)
. Strip headers from the start and/or end of the files.

Features in this version:
. Allows for batch processing - multiple files and folders may be selected.
. Allows for processing whole folders. Will also recurse into the sub-folders and process the files in there.
. When processing whole folders, the option 'Recreate sub-folders' will put the output files into the same sort of directory structure as the input files.

Let me know how it goes! There's no doco for this thing ... so if you have any questions just send me a PM.

edit; You'll need a perl runtime to run the app. Check out http://www.activestate.com/store/languages...x?id=ActivePerl (no reg req'd)
[a href="index.php?act=findpost&pid=358731"][{POST_SNAPBACK}][/a]

WinMP3Packer Beta released

Reply #2
Very nice psyllium 

One thing I would change is the fact that your GUI requires the setting of a minimum bitrate, whereas you can just let the MP3 Packer to scan the file twice and automatically choose.

Other than it's superb 

WinMP3Packer Beta released

Reply #3
Quote
Very nice psyllium  

One thing I would change is the fact that your GUI requires the setting of a minimum bitrate, whereas you can just let the MP3 Packer to scan the file twice and automatically choose.

Other than it's superb 
[a href="index.php?act=findpost&pid=358744"][{POST_SNAPBACK}][/a]


If you leave the setting on '0', it will figure it out... yeah I can see how it might cause extra confusion... I was thinking of relabelling '0' to 'Auto' ... I might do that for the next version.

A tip for anyone converting VBR -> CBR, if you know what the max bitrate is of the input files already (e.g. 320 or 256), if you select that in the GUI, it should only need to process each file once, as opposed to twice. Only a performance thing

Thanks for the feedback

WinMP3Packer Beta released

Reply #4
Does the switch -b 0 mean auto then? I just leave the switch out usually

WinMP3Packer Beta released

Reply #5
Quote
Does the switch -b 0 mean auto then? I just leave the switch out usually
[a href="index.php?act=findpost&pid=358750"][{POST_SNAPBACK}][/a]


Yeah ... '-b 0' results in the defaut behaviour... which means that the lowest possible bitrate will be used wherever... but yeah I can see why you wouldn't bother typing it then ! 

WinMP3Packer Beta released

Reply #6
Holy smokes!!  I asked him the other day if maybe he could get the program to "deal with" sub folders, so I don't have to move my VBR mp3s around before I run them thru the program.  I simply could not have asked for a better solution!!!  It re-creates the dirs that your original music was in and then fills them full with the files with appended with either -vbr, or cbr, your choice.  So now... I don't have to move any of my vbr  mp3 files around (outside of their dirs), and I sure don't have to move the specific  folders to a main dir for batch processing to begin with (like I'd imagined this might be solved thru)

I could not be any happier at all!    wow!  I don't even have any suggestions!!  You are the MAN!! I wish I could take you to a bar and buy you some drinks!!!  beers, tacos- whatever else you want!! you just saved me sooooo much hassle!!  I'm going to convert hundreds of gigs of VBR mp3s to CBR and now take them out on the road with me to clubs and gigs with my cdj-200 units.  These pioneers are now a rock-solid investment, in my eyes.

do you mind if I make a post over at pioneerprodjforums.com and explain to them how silly it is to recommend Easy CD creator for mp3 conversions like this.  I'm sure they will be super-impressed.  is your software strong enough to handle the massive onslaught of newbies that will surely follow?

WinMP3Packer Beta released

Reply #7
Glad to hear you are happy with the program  we were both in the same boat with the CDJ-200's... so I put it whatever I thought would be handy for me... heheh... you get em as a bonus

Quote
do you mind if I make a post over at pioneerprodjforums.com and explain to them how silly it is to recommend Easy CD creator for mp3 conversions like this.  I'm sure they will be super-impressed.  is your software strong enough to handle the massive onslaught of newbies that will surely follow?
[{POST_SNAPBACK}][/a]


I've made a post over there already ... I didn't start a new thread cos I'm scared of DJ Pulse  I replied to this post instead [a href="http://www.pioneerprodjforums.com/ubbthreads/showthreaded.php?Cat=&Board=UBB6&Number=129735&page=0&view=collapsed&sb=5&o=&vc=1]http://www.pioneerprodjforums.com/ubbthrea...ed&sb=5&o=&vc=1[/url] and made a reply in the CDJ-200 VBR thread as well... I didn't want to plug it too much tho - but you can certainly feel free to post about it on the Pioneer forums...

WinMP3Packer Beta released

Reply #8
I've uploaded a new version 0.2 beta to here. There was a problem where the application was not capturing the output from the script correctly. This would result in the second pass of the 'Force CBR' option to be skipped. Only seemed to happen on some PCs (fast ones?  )

WinMP3Packer Beta released

Reply #9
Can I make it ignore files that are allready VBR?

WinMP3Packer Beta released

Reply #10
@psyllium:
Looks good! Definitely easier to use than the command line. This also gets me out of supporting folder recursion!

I also see that -M 40 is the default. Is that based on a percentage of the user's memory, or is it always 40? I was planning on making -M * the default, but couldn't figure out what to use, so I'll just take your default. 

One thing about the CBR calculation: I'm assuming that your program takes the highest bitrate from the first pass and makes a CBR file at that bitrate. That works, but it's not always the best bitrate. The problem is that raising the smallest bitrate with the -b switch will increase the bit reservoir, which will tend to lower the highest bitrate. To do it correctly the following has to be done:
1) Figure out the average bitrate of the input file. You can't make a VBR file into a CBR file of lower bitrate unless the encoder did something wrong.
2) Put through mp3packer with -b set to the next larger valid bitrate
3) Keep raising -b until a CBR file is produced.
I think this method may need up to 10 passes, so I didn't bother.

@all:
Just to re-affirm, -b 0 gets turned into -b 32 in the program, which really means to use all the frame sizes. (Well, it turns into -b 16 for MPEG-2 files, but it still means the same)

Also, has anyone confirmed that the program produces files that work for the CDJ-200? I don't see why they wouldn't, but some feedback would be nice.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

WinMP3Packer Beta released

Reply #11
Quote
@psyllium:
One thing about the CBR calculation: I'm assuming that your program takes the highest bitrate from the first pass and makes a CBR file at that bitrate. That works, but it's not always the best bitrate. The problem is that raising the smallest bitrate with the -b switch will increase the bit reservoir, which will tend to lower the highest bitrate. To do it correctly the following has to be done:
1) Figure out the average bitrate of the input file. You can't make a VBR file into a CBR file of lower bitrate unless the encoder did something wrong.
2) Put through mp3packer with -b set to the next larger valid bitrate
3) Keep raising -b until a CBR file is produced.
I think this method may need up to 10 passes, so I didn't bother.

@all:
Just to re-affirm, -b 0 gets turned into -b 32 in the program, which really means to use all the frame sizes. (Well, it turns into -b 16 for MPEG-2 files, but it still means the same)

Also, has anyone confirmed that the program produces files that work for the CDJ-200? I don't see why they wouldn't, but some feedback would be nice.
[a href="index.php?act=findpost&pid=358804"][{POST_SNAPBACK}][/a]


I understand how the CBR files should behave now - it will make the files smaller, but will take a bit longer to process. Is there a quick and easy way for me to find the bitrate of an input file? I know there's mp3info in the linux world, but we're in windows now

I might make it an option. I might also make the program save your last settings in the registry as well

And YES the CBR files that come out of the app *DO* work in the CDJ-200 - I burnt some to CD and played them (in my loungeroom setup, heheh) last night.

WinMP3Packer Beta released

Reply #12
Quote
I understand how the CBR files should behave now - it will make the files smaller, but will take a bit longer to process. Is there a quick and easy way for me to find the bitrate of an input file? I know there's mp3info in the linux world, but we're in windows now

Well, it looks like mp3info has a Windows version, available here. Use "mp3info -x -r a file.mp3" to get the average bitrate.

The easiest way would be to read the LAME tag at the beginning of the file, which has the number of frames, then use that and the file size to get the average bitrate. However, since not everything writes a LAME tag, that's not always possible.

I can easily write something which spits out any LAME info found, then exits. I have the functions to read the tag in MP3.pm, so it wouldn't be hard.

Failing that, you could just start with -b 192, and if it gives a CBR file then try lower -b settings.

Quote
And YES the CBR files that come out of the app *DO* work in the CDJ-200 - I burnt some to CD and played them (in my loungeroom setup, heheh) last night.
[a href="index.php?act=findpost&pid=358886"][{POST_SNAPBACK}][/a]

GREAT! I was actually having doubts with it. My program outputs a different kind of CBR than most programs. When you specify -b 320, you actually get 319.725kbps, since my program won't use padded frames with that much wasted space. That means my output bitrate is more constant than most CBR files, but I wasn't sure if the machine expected a normal CBR file or not.


One more thing that I noticed with the GUI: the options for -b go up to 448, I'm assuming it's since you read the %mp3::Bitrates variable at the top of mp3.pm. However, much of mp3.pm is more general than mp3packer is, and while mp3.pm can handle mp1 and mp2 files, mp3packer can not.

In summary, the only way to get a bitrate > 320 is to start with an mp1 or mp2, which are both invalid for mp3packer. The valid bitrates are as follows:

MPEG-1 layer 3 (most common):
32 40 48  56  64  80  96 112 128 160 192 224 256 320

MPEG-2/2.5 layer 3: (not nearly as common)
8 16 24  32  40  48  56  64  80  96 112 128 144 160

Specifying -b 320 on an MPEG-2 file will simply peg it to 160, so there's no real need to check for which version of MP3 the file is before processing. Also using e.g. -b 144 on an MPEG-1 file (where it is not a valid bitrate) will use the next higher valid bitrate (160). If that makes any sense.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

WinMP3Packer Beta released

Reply #13
It looks really good, psyllium. Wish I could download it and give it a try. But I refuse to have that [insert expletive here] .NET Framework anywhere near my machine.

Regards,
Madrigal

WinMP3Packer Beta released

Reply #14
Quote
I might also make the program save your last settings in the registry as well [a href="index.php?act=findpost&pid=358886"][{POST_SNAPBACK}][/a]
or in an 'ini' file?



[span style='font-size:8pt;line-height:100%']EDIT: reads better now[/span]

WinMP3Packer Beta released

Reply #15
Quote
It looks really good, psyllium. Wish I could download it and give it a try. But I refuse to have that [insert expletive here] .NET Framework anywhere near my machine.

Regards,
Madrigal
[a href="index.php?act=findpost&pid=358927"][{POST_SNAPBACK}][/a]


Yeah I can understand where you are coming from... hell, I use linux as my primary OS at home... not Windows  ... I develop in .NET for work though, so it was much easier for me to do it this way... I would have liked to have made a Java version, but I'm not a big fan of GUIs in Java...

WinMP3Packer Beta released

Reply #16
A new version is on the way, to cater for version 0.08+ of mp3packer.pl. It is suggested that you use the bundled version 0.07 of mp3packer for now.

Here's a sneak preview:

WinMP3Packer Beta released

Reply #17
Version 0.3 beta released:
- Support for mp3packer.pl 0.08 (included in package).
- Support for multiple attempts at making CBR files. Will now loop from the average bitrate of the VBR file up to the largest packet size of the VBR file. e.g. 201kbps file may now be a 256kbps CBR file instead of a 320kbps CBR file. To revert to the old behaviour, set 'Attempts' to '2'.
- File list window now has icons, and will show you the bitrate and VBR/CBR type of the input files. There is no information available on the files within folders (... yet)
- Status window will show % complete in its title bar. Handy for when you are running it in the background.
- New option 'Only for VBR input' when in CBR mode. This is on be default. It means that if the input file is CBR, the output file will be CBR with the same bitrate.

WinMP3Packer Beta released

Reply #18
Thanks for the update and effort put into this GUI.  And of ocurse thanks to Omion for the prog.
Quote
- New option 'Only for VBR input' when in CBR mode. This is on be default. It means that if the input file is CBR, the output file will be CBR with the same bitrate.
[a href="index.php?act=findpost&pid=359789"][{POST_SNAPBACK}][/a]
Does that mean it gets ignored, i.e. nothing happens at all to the file, or that it does go through some processing to amend the file?  I assume nothing happens right?  If so, maybe just reword your update to make it a little clearer.

WinMP3Packer Beta released

Reply #19
CANT GET PERL TO WORK... is there any direct link to the app needed please???

WinMP3Packer Beta released

Reply #20
Quote
CANT GET PERL TO WORK... is there any direct link to the app needed please???
[{POST_SNAPBACK}][/a]
The perl you need is linked to in [a href="http://www.hydrogenaudio.org/forums/index.php?showtopic=32379&view=findpost&p=282556]this[/url] post from another thread.

Regards,
Madrigal

WinMP3Packer Beta released

Reply #21
what exactly does the in-memory option do?  I have 2 gigs of fast RAM.  should I increase the # to a higher one? It seems to make it work faster, but I don't want to encourage the program to crash during a -huge- list of batch commands.

last night I converted almost 30 gigs of vbr mp3s to cbr.  I never thought it could be this easy!!!

WinMP3Packer Beta released

Reply #22
Quote
what exactly does the in-memory option do?  I have 2 gigs of fast RAM.  should I increase the # to a higher one? It seems to make it work faster, but I don't want to encourage the program to crash during a -huge- list of batch commands.

last night I converted almost 30 gigs of vbr mp3s to cbr.  I never thought it could be this easy!!!
[a href="index.php?act=findpost&pid=360510"][{POST_SNAPBACK}][/a]

The way mp3packer works, it has to pre-parse the file in order to not run into problems with very large frames.
Normally (with the in-memory off) the first pass only returns how much data is in every frame, which is a fairly small overhead. However, this means the file needs to be re-read in order to get the actual data.
The in-memory option will actually read the file data on the first pass, so the file does not need to be read again during the second pass. The number represents the cutoff where all files smaller than that will be parsed in-memory, and everything larger than it will be read twice.

Since each file is processed separately, the max amount of memory taken up is determined by the largest file smaller than the cutoff value, times 2 (since Perl is not that efficient). So a small number of large files will take up more memory than a large number of small files.
With 2GB of RAM, you'd only run into problems with MP3 files larger than about 700MB, which I havenever run into. So you can safely set the limit to 700, but the actual amount of memory taken up will be much less.
"We demand rigidly defined areas of doubt and uncertainty!" - Vroomfondel, H2G2

WinMP3Packer Beta released

Reply #23
Quote
Thanks for the update and effort put into this GUI.  And of ocurse thanks to Omion for the prog.
Quote
- New option 'Only for VBR input' when in CBR mode. This is on be default. It means that if the input file is CBR, the output file will be CBR with the same bitrate.
[a href="index.php?act=findpost&pid=359789"][{POST_SNAPBACK}][/a]
Does that mean it gets ignored, i.e. nothing happens at all to the file, or that it does go through some processing to amend the file?  I assume nothing happens right?  If so, maybe just reword your update to make it a little clearer.
[a href="index.php?act=findpost&pid=359876"][{POST_SNAPBACK}][/a]


I'm back from holidays now ... phew

The description I posted is actually correct - the files *WILL* get re-packed, but the output file will end up being the same bitrate as the input file. Ideally, I would have had time to add an option to decide whether to either ignore the CBR files, or process them anyway. Keep in mind that some people might use the program to strip the non-MP3 data at the beginning and/or end of the file, and would want the files processed no matter what... although I don't use it for that  I reckon a new option, with some form of better description, will be available in the next version...


WinMP3Packer Beta released

Reply #24
ok, cool