mp3gain - normalizes volume of mp3s

Stuff that has yet to be sorted into a category.
Post Reply
Message
Author
GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

mp3gain - normalizes volume of mp3s

#1 Post by GuestToo »

mp3gain 1.4.6

MP3Gain analyzes and adjusts mp3 files
so that they have the same volume.

This is a command line program.

NOTE: this can write over your original files
backup your files before you process them

http://mp3gain.sourceforge.net/
http://mp3gain.sourceforge.net/faq.php
http://sourceforge.net/projects/mp3gain/
Attachments
mp3gain.pup
mp3gain 1.4.6
(54.05 KiB) Downloaded 1389 times

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#2 Post by GuestToo »

for example, see Lobster's Voice messagerecorder

original mp3:
http://tmxxine.com/dogbone/message15.mp3

attached is the original mp3 after being processed by typing
mp3gain -r message15.mp3

Edit: attachment removed to save space
Last edited by GuestToo on Sat 18 Nov 2006, 19:34, edited 1 time in total.

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#3 Post by Lobster »

GuestToo wrote:
original mp3:
http://tmxxine.com/dogbone/message15.mp3
I no longer seem to be able to download that file?
Is there something wrong with my server? Are others able to download it . . . GuestToo clearly has . . .
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#4 Post by MU »

Lobster wrote:
GuestToo wrote:
original mp3:
http://tmxxine.com/dogbone/message15.mp3
I no longer seem to be able to download that file?
Is there something wrong with my server? Are others able to download it . . . GuestToo clearly has . . .
Strange, if I rightclick it in Konqueror -> save as, the I get an error "file or folder does n longer exist".
But if I do the same here:
http://tmxxine.com/dogbone/
Then it works :shock:

No idea, maybe there was set an option to disallow direct download from other websites?

Test it with some other files:
http://tmxxine.com/dogbone/dogbone1.pup
http://tmxxine.com/dogbone/db1.jpg

Hmm.. if I click the .jpg I get:
Forbidden
You don't have permission to access /dogbone/db1.jpg on this server.

Maybe you uploaded from a windows-partition and forgot to set the rights?
But again, when I click it from http://tmxxine.com/dogbone/ ,then it works .

Mark

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#5 Post by Flash »

I downloded it ok but it seems to be corrupted. Gxine seems to be playing it; the progress bar moves, jerkily, but the sound is intermittent. Gxine plays other mp3 files ok.

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#6 Post by Lobster »

:shock:

Not sure what is going on - I uploaded from PuppyOfficeCE beta

this is the view from my FTP program
Downloads OK from the root as Mark suggest - but why not direct (with right click)?

:? should I get on to servage (the server company)?
Attachments
ftp.jpg
(48.94 KiB) Downloaded 1167 times
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
Flash
Official Dog Handler
Posts: 13071
Joined: Wed 04 May 2005, 16:04
Location: Arizona USA

#7 Post by Flash »

Uh, could my problem be that GuestToo zipped an mp3 file?
Last edited by Flash on Wed 23 Aug 2006, 21:03, edited 1 time in total.

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#8 Post by GuestToo »

there's also a program called ogggain which normalizes oggs ... but it doesn't actually change the sound bytes, it changes the header of the file so that the ogg player plays it back at a different volume ... xmms supports this, but Puppy's Gxine does not, so the ogg file sounds the same

there's another useful program called wavgain, which normalizes a wav file ... the wav can be encoded to ogg or mp3 after the normalization

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

how to gain mp3gain

#9 Post by Lobster »

mp3gain works OK from the command line
but I seem unable to get it working within dogbone

I also had a look at speex - as MU has created a
dotpup which includes a command line speex encoder
called encspeex
but this needs a library in the right place - so I got a little confused . . .

for now I am happy with the mp3 format

Code: Select all

#!/bin/sh
# Dogbone v1.2 by Lobster for Puppy Linux August 2006
# timer bar guage Mark Ulrich
# mp3gain found by GuestToo

export DogBone="

<vbox>
 
 <hbox>
   <button>
         <input file>/usr/local/lib/X11/pixmaps/puppy-bone48.gif</input>
         <action>dillo dogbonever1.html &</action>
   </button>
 </hbox>

 <hbox>
   <text>
    <label>Record 15 sec Message</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/ballorange16.xpm</input>
     <action>./timer.pb 15 &</action>
     <action>wavrec -s 16100 -M -t 15 -b 16 message15.wav;wavplay message15.wav &</action>
     <action>lame -a -h -b 24 --nspsytune --resample 22 --lowpass 7 message15.wav message15.mp3 &</action>
     <action>sleep 20</action>
     <action>./mp3gain -r message15.mp3 &</action>
     <action>rm message15.wav &</action> 
   </button>
  </hbox>

 <hbox>
   <text>
    <label>Record 30 sec Message</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/ballorange16.xpm</input>
     <action>./timer.pb 30 &</action> 
     <action>wavrec -s 16100 -M -t 30 -b 16 message30.wav;wavplay message30.wav &</action>
     <action>lame -a -h -b 24 --nspsytune --resample 22 --lowpass 7 message30.wav message30.mp3 &</action>
     <action>sleep 35</action>
     <action>./mp3gain -r message30.mp3 &</action>   
     <action>rm message30.wav &</action> 
   </button>
  </hbox>

 <hbox>
   <text>
    <label>Record 45 sec Message</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/ballorange16.xpm</input>
     <action>./timer.pb 45 &</action> 
     <action>wavrec -s 16100 -M -t 45 -b 16 message45.wav;wavplay message45.wav &</action>
     <action>lame -a -h -b 24 --nspsytune --resample 22 --lowpass 7 message45.wav message45.mp3 &</action> 
     <action>sleep 50</action>
     <action>./mp3gain -r message45.mp3 &</action>     
<action>rm message45.wav &</action>
   </button>
  </hbox>

<hbox>
   <text>
    <label>Record 1 min Message</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/ballorange16.xpm</input>
      <action>./timer.pb 60 &</action> 
      <action>wavrec -s 16100 -M -t 60 -b 16 message60.wav;wavplay message60.wav &</action>
      <action>lame -a -h -b 24 --nspsytune --resample 22 --lowpass 7 message60.wav message60.mp3 &</action> 
      <action>sleep 65</action>
      <action>./mp3gain -r message60.mp3 &</action> 
      <action>rm message60.wav &</action>
   </button>
  </hbox>

 <hbox>
   <text>
    <label>Show Message Directory</label>
   </text>
   <button>
    <input file>/usr/local/lib/X11/mini-icons/mini-windows.xpm</input>
     <action>rox &</action>
    </button>
 </hbox>

 <hbox>
   <button cancel></button>
 </hbox>

</vbox>

"
gtkdialog --program DogBone

unset DogBone
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#10 Post by GuestToo »

i assume from that script that you have mp3gain and the message.mp3 file in the same directory, and that it is your working directory

it might help to run your program from the command line so you can see any error messages ... i guess you've done that

you could put mp3gain in a dir in the PATH, like /root/my-applications/bin or /usr/local/bin, then it should work no matter what dir is your working dir ... you would change the line that calls mp3gain from

<action>./mp3gain -r message15.mp3 &</action>
to
<action>mp3gain -r message15.mp3 &</action>

if it finds mp3gain and it finds message--.mp3 then you would think it would work

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#11 Post by Lobster »

i assume from that script that you have mp3gain and the message.mp3 file in the same directory, and that it is your working directory
Yes
it might help to run your program from the command line so you can see any error messages ... i guess you've done that
done that
you could put mp3gain in a dir in the PATH, like /root/my-applications/bin or /usr/local/bin, then it should work no matter what dir is your working dir ... you would change the line that calls mp3gain from

<action>./mp3gain -r message15.mp3 &</action>
to
<action>mp3gain -r message15.mp3 &</action>

if it finds mp3gain and it finds message--.mp3 then you would think it would work
OK will try that . . .
do not see what difference it will make
The sleep command I used in case there was a delay required between programs - seemed to work and then not - so further work . . .
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#12 Post by GuestToo »

i looked at your program

i'm not sure how gtkdialog handles background processes, but it seems to me that the commands should run sequentially, but you are trying to run them all simultaneously as background processes

in any case, i would prefer to move the actual recording program from the gtkdialog structure

so i did ... this seems to do more or less what you intended ... have a look at it anyway

the attached dotpup package will just unzip a folder called dogbone1 in /tmp

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#13 Post by Lobster »

Thanks GuestToo ;)

I did try this moving into a separate shell program
your method (recmsg) is much better and has the
added advantage of a separate messages folder . . .

:)

However the mp3gain did not work
and also seems to stay in memory and
eat away at it (I reported this as a bug)
http://www.murga.org/~puppy/viewtopic.php?p=65111#65111

I am using PuppyOffice2.03CE (need that bug confirmed - also how is mp3gain working in other Puppy versions?)

For now two solutions present themself:

look at C code of Mp3gain (yuk!)
try one of the other solutions
(fix the gain on the wav - do we have that available?)

for now I have adopted your code
but disabled mp3gain
like so

Code: Select all

#!/bin/sh

WAVF=messages/message$1.wav
MSGF=messages/message$1.mp3

[ -z $1 ] && exit  # in case someone clicks this

./timer.pb $1 &
wavrec -s 16100 -M -t $1 -b 16 $WAVF
wavplay $WAVF
lame -a -h -b 24 --nspsytune --resample 22 --lowpass 7 $WAVF $MSGF
rm -f $WAVF
# ./mp3gain -r $MSGF
exec ./dbone11
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#14 Post by GuestToo »

i had no problems with mp3gain on my machine ... i also ran a bug trace on recmsg and everything was working properly, including mp3gain ... for example:

sh -x recmsg 15

i have a wavgain program ... it's about 300k because it requires a library file that Puppy doesn't have ... anyway, it's better for audio quality if you normalize the wave file first then encode the wav to mp3 or ogg

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#15 Post by Lobster »

thanks for testing :)

gonna leave gain for now - until what is happening is sorted :)
gonna continue this in the dogbone recorder thread ;)
Last edited by Lobster on Sat 26 Aug 2006, 06:04, edited 1 time in total.
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#16 Post by GuestToo »

ok, here's a recmsg script that uses wavegain to normalize the wav file, then plays the wav then encodes it using lame

this dotpup puts /tmp/dogbone1/recmsg in /tmp
if you have the first dogbone dotpup i made in in /tmp, recmsg will be put in the right place for the whole program to work

requires wavegain to be installed ... see:
http://www.murga.org/~puppy/viewtopic.php?t=10494

again, just an idea of what you might choose to do with your program
Attachments
dogbone2.pup
recmsg using wavegain
(999 Bytes) Downloaded 134 times

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#17 Post by Lobster »

8)

that is working fine - will provide a mini pawed cast using this system soon . . . :D
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

Post Reply