[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Adjusting sound file volume



Marc Shapiro wrote:
> I know that sox can adjust the volume of a sound file and I have
> used it before, but... sox will not read this file.  It is an .m4a
> file that someone else recorded and sent to us.  Sox and play will
> not read it, the error when  try to adjust the volume is:
> 
> :~$ sox -v 0.1 Kedushah.m4a Kedushah.mp3
> sox FAIL formats: can't open output file `Kedushah.mp3': SoX was
> compiled without MP3 encoding support

The problem is that the mpeg formats are patented.  They are not
freely available.

  http://en.wikipedia.org/wiki/MP3

That prevents them from being available in Debian.  It doesn't meet
the DFSG.

If you get the version of sox built with the non-free mp3 libraries
then it should play it.  I have not installed it but I believe that
such a version is available from the http://debian-multimedia.org/
Marillat site.  Please be kind to them and use a mirror to keep their
bandwidth use reasonable.

> Xine, also, will not read it.  Only mplayer will play the file.

Is mplayer already a version from the Marillat?  I would guess so.

> Is there any way to adjust the volume?  Can mplayer be told to
> adjust the volume of a file that it is playing?  I have looked
> through the man file and used -list-options, but if it is there then
> missed it.

Since your mplayer can play it I would simply use mplayer to produce a
wav file and then adjust the volume on the wave file and then encode
the wav file to ogg.

  $ mplayer -ao pcm:fast:waveheader:file=Kedushah.wav Kedushah.m4a

And if you were scripting this then you might try to reduce the
mplayer output noise by using the following options too.  But this
isn't important for a one-off run.
  -novideo -vc null -vo null -quiet -really-quiet -msglevel all=1 -prefer-ipv4 -nojoystick -nolirc

Then having a wav file you should be able to play it and adjust the
volume and everything.

  $ sox -v 0.7 Kedushah.wav Kedushah-vol0.7.wav

Also sox can produce ogg format natively.

  $ sox -v 0.7 Kedushah.wav Kedushah-vol0.7.ogg

Not necessary to listen to it but will reduce the space needed.  With
all of the caveats about transcoding artifacts and all of that.  The
result seems to be identical to having used oggenc to convert the wav
but without the human progress indication.

  $ oggenc Kedushah-vol0.7.wav

Hope that helps,
Bob

Attachment: signature.asc
Description: Digital signature


Reply to: