mass conversion from ogg to mp3

525 views
Skip to first unread message

ZephyrQ

unread,
May 25, 2009, 2:20:08 PM5/25/09
to
I have a large number of music files (17 gig worth...yes, for all prying
eyes they are legal...) that I find I need to convert from .ogg to .mp3.

Not that I want to...but between a teenager with an iphone and being
saddled with cell phone that won't play .ogg...well, you get the picture.

What is the best way to do this? I would prefer a CLI option that I can
run in the background, but I want to save as much sound quality as I can
with the transfer...

--
To UNSUBSCRIBE, email to debian-us...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Harry Rickards

unread,
May 25, 2009, 2:30:09 PM5/25/09
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/25/09 18:55, ZephyrQ wrote:
> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
> Not that I want to...but between a teenager with an iphone and being
> saddled with cell phone that won't play .ogg...well, you get the picture.
>
> What is the best way to do this? I would prefer a CLI option that I can
> run in the background, but I want to save as much sound quality as I can
> with the transfer...
>
>
>

Try using the following command in the CLI:

for i in *.ogg; do [[ ! -a "${i%ogg}mp3" ]] && oggdec "$i" -o - | lame
- --preset standard - "${i%ogg}mp3" ; done

Haven't tried it myself, but got if off the Ubuntu forums at
http://ubuntuforums.org/archive/index.php/t-299969.html. You'll obvously
have to have lame and oggdec installed.

Alternatively use ffmpeg:

ls *.ogg | while read file; do
echo $file
ffmpeg -i "$file" -acodec mp3 "$file"\.mp3
done

- --
Many thanks
Harry Rickards (GPG Key ID:646ED06A)

- -----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GAT/GCM/GCS/GCC/GIT/GM d? s: a? C++++ UL++++ P- L+++ E--- W+++ N o K+
w--- O- M- V- PS+ PE Y+ PGP++ t 5 X R tv-- b+++ DI D---- G e* h! !r y?
- ------END GEEK CODE BLOCK------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkoa43QACgkQ1kZz3mRu0GoivACeO08iPhJOJLfKllvHIl0SThyf
Pn8AoLJ8grC7hIB6ltkxy1FY3YNeiS7P
=9Ssd
-----END PGP SIGNATURE-----

JoeHill

unread,
May 25, 2009, 2:30:15 PM5/25/09
to
ZephyrQ wrote:

> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
> Not that I want to...but between a teenager with an iphone and being
> saddled with cell phone that won't play .ogg...well, you get the picture.
>
> What is the best way to do this? I would prefer a CLI option that I can
> run in the background, but I want to save as much sound quality as I can
> with the transfer...

The _first hit_ when I googled 'convert ogg to mp3 linux command line':

http://liquidat.wordpress.com/2007/12/03/short-tip-convert-ogg-file-to-mp3/

There are probably a kajillion others :-)

--
J

Tony Baldwin

unread,
May 25, 2009, 2:50:12 PM5/25/09
to
ZephyrQ wrote:
> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
> Not that I want to...but between a teenager with an iphone and being
> saddled with cell phone that won't play .ogg...well, you get the picture.
>
> What is the best way to do this? I would prefer a CLI option that I can
> run in the background, but I want to save as much sound quality as I can
> with the transfer...
>
>
>

Maybe something like

for i in $(ls -1 *.ogg)
do
n=$i
sox "$n" "$n".mp3"
done

or

oggdec *ogg
lame --preset 192 -ms -h *wav
rm -f *ogg
rm -f *wav
done

/tony

--
voy a desplegar mis alas, aunque peligro aunque yo me caiga,
voy alcanzar las nubes y besarlas...

http://tonytraductor.livejournal.com
non compos mentis

Matthew Moore

unread,
May 25, 2009, 2:50:13 PM5/25/09
to
On Monday 25 May 2009 11:55:53 am ZephyrQ wrote:
> What is the best way to do this? I would prefer a CLI option that I can
> run in the background, but I want to save as much sound quality as I can
> with the transfer...

You should write a script that does the following:

-) decodes the ogg files (using oggdec)
-) saves their tags (using vorbiscomment)
-) use grep to parse out tags like artist, album, etc
-) give lame the wav file from the decode and the tag information and encode at
high quality

Any way that you do this you are going to lose quality since you are
transcoding. The only thing that you can do is make sure that you encode your
mp3s at high enough quality so that you cannot tell the difference between them
and the original ogg file. If you don't have a regular directory structure, you
might want to do something like

find . -name "*.ogg" | while read oggfile; do

at the start of your script.

MM

Paul Johnson

unread,
May 25, 2009, 4:20:13 PM5/25/09
to
ZephyrQ wrote:
> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
> Not that I want to...but between a teenager with an iphone and being
> saddled with cell phone that won't play .ogg...well, you get the picture.

Sounds like an early lesson in why you should use devices that support
open formats. More seriously, why not find a program for the iPhone
that plays oggs? That seems like a better idea than stripping all the
audio fidelity out of the music like MP3s tend to do.

signature.asc

Harry Rickards

unread,
May 25, 2009, 4:20:14 PM5/25/09
to

If you jailbreak it, vlc4iphone does a great job of playing most media
files. I think mplayer plays ogg's as well.


Thanks
Harry Rickards

ZephyrQ

unread,
May 25, 2009, 4:50:11 PM5/25/09
to
Just for the record, I did just that (minor differences). My issue
isn't finding a way...it is finding the *best* way...and I don't have
time to go through a kajillion options...

...which is why I asked a list full of knowledgeable users who know a
lot more than I about CLI...

JoeHill wrote:
> ZephyrQ wrote:
>
>> I have a large number of music files (17 gig worth...yes, for all prying
>> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>>
>> Not that I want to...but between a teenager with an iphone and being
>> saddled with cell phone that won't play .ogg...well, you get the picture.
>>
>> What is the best way to do this? I would prefer a CLI option that I can
>> run in the background, but I want to save as much sound quality as I can
>> with the transfer...
>
> The _first hit_ when I googled 'convert ogg to mp3 linux command line':
>
> http://liquidat.wordpress.com/2007/12/03/short-tip-convert-ogg-file-to-mp3/
>
> There are probably a kajillion others :-)
>


--

marc

unread,
May 25, 2009, 5:00:15 PM5/25/09
to
ZephyrQ said:

> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
> Not that I want to...but between a teenager with an iphone and being
> saddled with cell phone that won't play .ogg...well, you get the
> picture.
>
> What is the best way to do this? I would prefer a CLI option that I can
> run in the background, but I want to save as much sound quality as I can
> with the transfer...

ogg is a container, so unless you used a lossless codec (i.e. FLAC) then
the mp3s are going to sound horrible, especially as mp3 also has "sound
shaping" and, usually, produces variable bit rate files.

If you really have to do this, then I'd use the best codec you can find
and stick to CBR files.

Since you are using these on an iPhone, you'd be far better off going to
AAC, imo. mp3 is vastly inferior to AAC.

Of course, starting from the lossless files will produce infinitely
better results.

Why not try all the options, on a variety of material, and use your ears?
Then decide.

--
Best,
Marc

"Change requires small steps."

Tzafrir Cohen

unread,
May 25, 2009, 5:00:19 PM5/25/09
to
On Mon, May 25, 2009 at 07:29:08PM +0100, Harry Rickards wrote:

> Try using the following command in the CLI:
>
> for i in *.ogg; do [[ ! -a "${i%ogg}mp3" ]] && oggdec "$i" -o - | lame
> - --preset standard - "${i%ogg}mp3" ; done

This loses all the metadata in the file. The audio stream will be mostly
kept (barring the fact that you re-save it in another lossy format) but
any other fields will be lost.

--
Tzafrir Cohen | tza...@jabber.org | VIM is
http://tzafrir.org.il | | a Mutt's
tza...@cohens.org.il | | best
ICQ# 16849754 | | friend

Joel Roth

unread,
May 25, 2009, 5:10:08 PM5/25/09
to
On Mon, May 25, 2009 at 12:55:53PM -0500, ZephyrQ wrote:
> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
> Not that I want to...but between a teenager with an iphone and being
> saddled with cell phone that won't play .ogg...well, you get the picture.
>
> What is the best way to do this? I would prefer a CLI option that I can
> run in the background, but I want to save as much sound quality as I can
> with the transfer...

I've used a perl script, ogg2mp3. I haven't compared other
methods. This does get the tags. It depends on a couple
of utilities. Looks like you will still need to write a
script to recurse through all your music directories.

HTH


--
Joel Roth

Tony Baldwin

unread,
May 25, 2009, 7:00:11 PM5/25/09
to
ZephyrQ wrote:
> Just for the record, I did just that (minor differences). My issue
> isn't finding a way...it is finding the *best* way...and I don't have
> time to go through a kajillion options...
>
> ...which is why I asked a list full of knowledgeable users who know a
> lot more than I about CLI...
>


Ah, but this is opensource, and there are always numerous options, so
asking a list of knowledgable users will get you a list of potential
options.
Everyone has their favorite *best way* of dealing with these matters...

/tony

>

--
http://www.photodharma.com
art & photos | tony baldwin

ZephyrQ

unread,
May 25, 2009, 10:00:17 PM5/25/09
to
This sounds like what I need...now I just have to dust off a few
websites to remember how to write a bash script...

Matthew Moore wrote:
> On Monday 25 May 2009 11:55:53 am ZephyrQ wrote:

>> What is the best way to do this? I would prefer a CLI option that I can
>> run in the background, but I want to save as much sound quality as I can
>> with the transfer...
>

> You should write a script that does the following:
>
> -) decodes the ogg files (using oggdec)
> -) saves their tags (using vorbiscomment)
> -) use grep to parse out tags like artist, album, etc
> -) give lame the wav file from the decode and the tag information and
encode at high quality
>
> Any way that you do this you are going to lose quality since you are
transcoding. The only thing that you can do is make sure that you encode
your mp3s at high enough quality so that you cannot tell the difference
between them and the original ogg file. If you don't have a regular
directory structure, you might want to do something like
>
> find . -name "*.ogg" | while read oggfile; do
>
> at the start of your script.
>
> MM
>
>

ZephyrQ

unread,
May 25, 2009, 10:10:10 PM5/25/09
to

Not an early lesson...rather a frustration. I've done this in the past
where I research what I can use and then purchase it. I now have to
teenage children who, for lack of a better description, do not share the
love of tech intricacies as I do. They just want something that works.
I constantly have to deal with the 'roll of the eyes' whenever my 16
year-old comes home and wants to upgrade her iphone apps (she has given
up and does it at a friends house) or needs marching band music (a HUGE
gap in Linux support, BTW). She has also given up trying to convince me
to load XP 'just so I can get stuff done'.

Now, she is a firm believer in OOffice and other Open Source apps...and
she has used Linux for years...but she runs into the same frustration I do:

Why is it so hard to find appliances (cell phones, etc.) or production
apps (sheet music, etc.) that support open formats? Especially when it
is cheaper/easier/faster/more convenient to just 'pick from the list'.

David Fox

unread,
May 25, 2009, 10:20:11 PM5/25/09
to
On Mon, May 25, 2009 at 6:49 PM, ZephyrQ <zep...@sbcglobal.net> wrote:

> it at a friends house) or needs marching band music (a HUGE gap in Linux
> support, BTW).  She has also given up trying to convince me to load XP 'just
> so I can get stuff done'.

I hope you're not hinting that Linux and marching band music don't go
together :).

> Why is it so hard to find appliances (cell phones, etc.) or production apps
> (sheet music, etc.) that support open formats?  Especially when it is
> cheaper/easier/faster/more convenient to just 'pick from the list'.

There are open cell phones - it's just that the Iphone isn't one of
them, it seems. OpenMoko and Android seem to be better. But I don't
have or use cell phones, and I'm a luddite in that respect. Then
again, there are a number of mp3 players that support ogg. Even those
that don't explicitly mention it, I've been suprised to find, can
handle ogg files without screwing up.

I just had to retire my Ivo Sound M620 (worked perfectly with Linux)
media player last week when the stem in an aftermarket headphone
decided to break off *in* the player. So I went around and looked at
Amazon, and picked up from Ebiz Pro LLC (in Boise ID) a replacement
media player that only set me back $83 including shipping. And I got
it in 2 days (I'm in California). There are some rough edges, but the
player does work with Linux (I will probably have to tweak HAL to make
it work better) and holds 16 GB capacity. Not bad. And it'll play ogg
files just fine - even though it isn't advertised or documented that
it does.

And if you're looking for sheet music - there's tons of it at the
Petrucci Music Library (http://imslp.org/wiki/Main_Page) - all either
public domain or Creative Commons licensed stuff. All pdfs. Will keep
your printer busy for a while :).


--
thanks for letting me change the magnetic patterns on your hard disk.

Jochen Schulz

unread,
May 26, 2009, 4:00:08 AM5/26/09
to
Paul Johnson:

> ZephyrQ wrote:
>
>> I have a large number of music files (17 gig worth...yes, for all prying
>> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>>
>> Not that I want to...but between a teenager with an iphone and being
>> saddled with cell phone that won't play .ogg...well, you get the picture.
>
> Sounds like an early lesson in why you should use devices that support
> open formats.

What I find even more important: there is no real reason anymore to
store ripped CDs in lossy formats. You can save round about 300 CDs in
FLAC using only 1/10 of a current 100$ hard disk.

That way, you can always encode the files to any format you like (or
need) without introducing unnecessary loss of quality.

J.
--
I want to keep my skin looking good but I believe all computers do the
same job.
[Agree] [Disagree]
<http://www.slowlydownward.com/NODATA/data_enter2.html>

signature.asc

Mike Castle

unread,
May 26, 2009, 12:40:12 PM5/26/09
to
On Mon, May 25, 2009 at 1:54 PM, marc <gm...@auxbuss.com> wrote:
> ogg is a container, so unless you used a lossless codec (i.e. FLAC) then
> the mp3s are going to sound horrible, especially as mp3 also has "sound
> shaping" and, usually, produces variable bit rate files.

I thought most ogg's were typically vorbis. And vorbis has all of
those same qualities that you ascribe to mp3: shaping and VBR.

> If you really have to do this, then I'd use the best codec you can find
> and stick to CBR files.

Unless one is dealing with a broken player that can't handle VBR,
you'd want to choose VBR over CBR. The codec is able to assign more
bits to portions that need it, and fewer bits where it isn't as
necessary. CBR might be useful for broadcast or real time streaming.
But for storage/playback, you'll want VBR.

mrc

marc

unread,
May 26, 2009, 1:30:17 PM5/26/09
to
Mike Castle said:

> On Mon, May 25, 2009 at 1:54 PM, marc <gm...@auxbuss.com> wrote:
>> ogg is a container, so unless you used a lossless codec (i.e. FLAC)
>> then the mp3s are going to sound horrible, especially as mp3 also has
>> "sound shaping" and, usually, produces variable bit rate files.
>
> I thought most ogg's were typically vorbis. And vorbis has all of those
> same qualities that you ascribe to mp3: shaping and VBR.

Nothing wrong with VBR, but you need to take care when munging it once
more.

Vorbis codes completely differently than mp3 and has far less audible
artefacts, in general. It's also easier to "tune" Votbis to avoid its own
artefacts, ime.

>> If you really have to do this, then I'd use the best codec you can find
>> and stick to CBR files.
>
> Unless one is dealing with a broken player that can't handle VBR, you'd
> want to choose VBR over CBR. The codec is able to assign more bits to
> portions that need it, and fewer bits where it isn't as necessary. CBR
> might be useful for broadcast or real time streaming. But for
> storage/playback, you'll want VBR.

It all depends, as always :-) The music content will also dictate the
choice. And it might be appropriate to use different encoders for
different musical styles.

I guess it seems like a lot of work to some folk, but a 12 hour flight is
the wrong time to discover that your chosen type of music sounds crap now
you are really listening to it.

Anyway, the OP is going to mp3, so he's screwed whatever he does, imo :-)

--
Best,
Marc

"Change requires small steps."


Stefan Monnier

unread,
May 26, 2009, 4:00:14 PM5/26/09
to
> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.

> Not that I want to...but between a teenager with an iphone and being saddled
> with cell phone that won't play .ogg...well, you get the picture.

> What is the best way to do this? I would prefer a CLI option that I can run
> in the background, but I want to save as much sound quality as I can with
> the transfer...

You may want to consider this conversion, not as a way to replace your
Ogg collection with an MP3 collection, but just as a way to get
a specialized version of your collection for some particular devices.

My main collection is in Flac format, but I convert it to Ogg(96kb/s)
before uploading it to my "MP3" player, since Flac would take up too
much space. The quality is not as high, but given the circumstances in
which I listen to it, I can't really tell the difference.

As for the conversion, I use the script below.


Stefan


#!/bin/sh

bitrate="bitrate=98304" # 96Kb/s
samplerate=""
delete=false
dontrun=false
outformat=ogg

if [ -x "/usr/bin/gst-launch-0.10" ]; then
gst_launch="/usr/bin/gst-launch-0.10"
resample="audioresample !"
decode="decodebin"
oggmux="! oggmux"
else
gst_launch="gst-launch-0.8"
resample="audioscale !"
decode="spider"
oggmux=""
fi

usage () {
echo "usage: $(basename $0) [--bitrate=KBITS] [--samplerate=HZ] [--delete] FROM [TO]"
}

while [ $# -gt 0 ]; do
case "$1" in
--bitrate=*) bitrate="bitrate=$(expr "$(echo "$1" | sed 's/.*=//')" "*" 1024)";;
--quality=*) bitrate="quality=$(echo "$1" | sed 's/.*=//')";;
--samplerate=*)
rate=$(echo $1 | sed 's/.*=//')
samplerate="$resample audio/x-raw-int,rate=$rate !" ;;
--help) usage; exit 0 ;;
--delete) delete=true ;;
--flac) outformat=flac ;;
-n ) dontrun=true ;;
-*) usage ; exit 1 ;;
*) from="$1"; to="$2"; if [ $# -gt 1 ]; then shift; fi ;;
esac
shift
done

case "$outformat" in
ogg )
fileext="64.ogg"
encoder="vorbisenc $bitrate $oggmux"
;;
flac )
fileext="flac"
case "$bitrate" in
quality=* ) ;;
* ) bitrate="" ;;
esac
encoder="flacenc $bitrate"
;;
esac

if [ "$from" = "" ]; then
usage; exit 1
fi

run () {
echo "$@"
if [ "$dontrun" = "false" ]; then
"$@"
fi
}

convertfile() {
from="$1"
to="$2"

if [ "$to" = "" ]; then
to="."
fi

if [ -d "$to" ]; then
case "$from" in
/* ) fromrel="$(basename $from)" ;;
* ) fromrel="$from"
esac
base="$(echo "$fromrel" | sed 's/\.[^.][^.]*$//')"
to="$to/$base.$fileext"
fi

if [ "$to" = "$from" ]; then
echo "Don't know how to overwrite!"
exit 1
fi
echo "Converting "'"'"$from"'"'" to "'"'"$to"'"'
# "gst-inspect vorbisenc" shows available options
#
# FIXME! The stupid flacenc/flacdec/audioconvert step works around
# a problem I found when converting Ogg files that had been split by
# mp3splt (in which case, oggmux seems to get confused and outputs an
# empty file).
run $gst_launch filesrc location="$from" ! $decode ! $samplerate audioconvert ! $encoder ! filesink location="$to"
if [ "$?" = "0" ] && [ "$delete" = "true" ]; then
run rm "$from"
fi
}

convert () {
case "$1" in
*."$fileext" ) ;; # Nothing to do.
* )
if [ -d "$1" ]; then
case $1 in */) from="$1" ;; *) from="$1/" ;; esac
for f in "$from"*.ogg \
"$from"*.flac \
"$from"*.m4a \
"$from"*.mp3 \
"$from"*.ac3 \
"$from"*.wav \
"$from"*/;
do
if [ -r "$f" ]; then
convert "$f" "$2"
fi
done
else
convertfile "$1" "$2"
fi
esac
}

convert "$from" "$to"

# arch-tag: d65ee1c6-1f4e-4175-b9ea-b9d512566b15

marc

unread,
May 26, 2009, 4:20:08 PM5/26/09
to
Stefan Monnier said:

>> I have a large number of music files (17 gig worth...yes, for all
>> prying eyes they are legal...) that I find I need to convert from .ogg
>> to .mp3.
>
>> Not that I want to...but between a teenager with an iphone and being
>> saddled with cell phone that won't play .ogg...well, you get the
>> picture.
>
>> What is the best way to do this? I would prefer a CLI option that I
>> can run in the background, but I want to save as much sound quality as
>> I can with the transfer...
>
> You may want to consider this conversion, not as a way to replace your
> Ogg collection with an MP3 collection, but just as a way to get a
> specialized version of your collection for some particular devices.
>
> My main collection is in Flac format, but I convert it to Ogg(96kb/s)
> before uploading it to my "MP3" player, since Flac would take up too
> much space. The quality is not as high, but given the circumstances in
> which I listen to it, I can't really tell the difference.
>
> As for the conversion, I use the script below.

Thanks for sharing the script, Stefan.

--
Best,
Marc

"Change requires small steps."


ZephyrQ

unread,
May 26, 2009, 9:50:07 PM5/26/09
to
Stefan Monnier wrote:
>> I have a large number of music files (17 gig worth...yes, for all prying
>> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
>> Not that I want to...but between a teenager with an iphone and being saddled
>> with cell phone that won't play .ogg...well, you get the picture.
>
>> What is the best way to do this? I would prefer a CLI option that I can run
>> in the background, but I want to save as much sound quality as I can with
>> the transfer...
>
> You may want to consider this conversion, not as a way to replace your
> Ogg collection with an MP3 collection, but just as a way to get
> a specialized version of your collection for some particular devices.
>
> My main collection is in Flac format, but I convert it to Ogg(96kb/s)
> before uploading it to my "MP3" player, since Flac would take up too
> much space. The quality is not as high, but given the circumstances in
> which I listen to it, I can't really tell the difference.
>
> As for the conversion, I use the script below.
>
<script cut>

This looks great...just to make sure...I can use it to convert my oggs
to mp3 on the fly? Just point it to a directory and pipe it to a
destination and I have my mp3s?

Forgive my ignorance concerning scripts, but I haven't written one since
DOS 6.2...

Sjoerd Hardeman

unread,
May 27, 2009, 3:10:19 AM5/27/09
to
I found http://tldp.org/LDP/abs/html/ a very useful resource for script
programming.

Sjoerd

signature.asc

Mark Neidorff

unread,
May 29, 2009, 7:00:20 PM5/29/09
to
On Monday 25 May 2009 01:55 pm, ZephyrQ wrote:
> I have a large number of music files (17 gig worth...yes, for all prying
> eyes they are legal...) that I find I need to convert from .ogg to .mp3.
>
> Not that I want to...but between a teenager with an iphone and being
> saddled with cell phone that won't play .ogg...well, you get the picture.
>
> What is the best way to do this? I would prefer a CLI option that I can
> run in the background, but I want to save as much sound quality as I can
> with the transfer...


Attached is a script that I downloaded from the net. I use it all the time
and it works without a glitch. It is currently configured to take wav files
from one directory and convert them to mp3 format and write the converted
file out to a different folder. Then it deletes the wav file. The script is
very easy to hack to meet your needs. It will get you back into scripting.

Happy hacking,

Mark

autolame
Reply all
Reply to author
Forward
0 new messages