Generating multiple spectrograms

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Generating multiple spectrograms

Peter Shute
I need to generate a spectrogram for some wav files, but sox only allows a maximum spectrogram width of 5000 pixels. The horizontal scale I need means that this will only be good for about 3 minutes, but my files are much longer than that.

I've been generating spectrograms with commands like:
sox test.wav -r 16k -n rate remix 1 spectrogram -S 0:00 -d 3:00 -m -l -x 5000 -y 642 -o spectrogram1.png
sox test.wav -r 16k -n rate remix 1 spectrogram -S 3:00 -d 3:00 -m -l -x 5000 -y 642 -o spectrogram2.png
sox test.wav -r 16k -n rate remix 1 spectrogram -S 6:00 -d 3:00 -m -l -x 5000 -y 642 -o spectrogram3.png
(I've cobbled those together from examples I've found. The intention is to resample the 44.1kHz file to 16kHz because I only want the spectrograms to show up to 8kHz, and I only want the left channel. Are my commands correct?)

I'll join these images together to form one long one.

I.e. I have to manually create a command per 3 minute segment. Is there a better way?

It ought to be faster if I only resample the file once, and I suspect it's not efficient to select the segment with -S compared to splitting the file. Can I use the newfile and restart effects to do it in one command without generating intermediate files? I'm afraid I just don't understand the syntax enough to see if I can do this or not.

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Ulrich Klauer-2
Peter Shute <[hidden email]>:

> I need to generate a spectrogram for some wav files, but sox only  
> allows a maximum spectrogram width of 5000 pixels. The horizontal  
> scale I need means that this will only be good for about 3 minutes,  
> but my files are much longer than that.

> I've been generating spectrograms with commands like:
> sox test.wav -r 16k -n rate remix 1 spectrogram -S 0:00 -d 3:00 -m  
> -l -x 5000 -y 642 -o spectrogram1.png

> (I've cobbled those together from examples I've found. The intention  
> is to resample the 44.1kHz file to 16kHz because I only want the  
> spectrograms to show up to 8kHz, and I only want the left channel.  
> Are my commands correct?)

Generally, yes, but it would be more efficient to
- use "trim" to extract the relevant part (as you already suspected),  
as in "trim 0:00 3:00",
- reverse the order of remix and rate (no need to resample the  
channels that are discarded anyway), and
- unless you absolutely need a height of exactly 642 pixels, go to  
either 513 (= 2^9+1) or 1025 (= 2^10+1).
So a faster version is:
sox test.wav -n trim 0:00 3:00 remix 1 rate 16k spectrogram -m -l -x  
5000 -y 1023 -o spectrogram1.png
(The last point is the most important. In an example I ran, -y 642  
took 110 seconds, while -y 1025 only took 9. And I don't mean 109, but  
9.)

> I'll join these images together to form one long one.
> I.e. I have to manually create a command per 3 minute segment. Is  
> there a better way? ... Can I use the newfile and restart effects to  
> do it in one command without generating intermediate files?

Not directly, because the spectrogram output will use the same file  
name each time, overwriting the previous output. (You could write to a  
named pipe, though, or something like that.)

Probably the easiest way is to lift the width limit of 5000 pixels, as  
it appears to be arbitrary. I don't know if there is a real limit  
(imposed by PNG/libpng perhaps?), but I changed it to 20000 in the  
source code and that seems to have worked. How many pixels do you need?

Ulrich


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Ulrich Klauer-2
> -y 1023

Should have been 1025, of course.

Ulrich


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_123012
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Peter Shute
In reply to this post by Ulrich Klauer-2
Ulrich Klauer [[hidden email]]:

>So a faster version is:
>sox test.wav -n trim 0:00 3:00 remix 1 rate 16k spectrogram -m -l -x
>5000 -y 1023 -o spectrogram1.png
>(The last point is the most important. In an example I ran, -y 642
>took 110 seconds, while -y 1025 only took 9. And I don't mean 109, but
>9.)



I'm not seeing such big differences. I get 21 seconds for -y 642, and 15 for -y 1025. It's only 6 for -y 513, but it's still not the 11x difference you're seeing. Maybe something to do with the complexity of the audio file?



>> I'll join these images together to form one long one.
>> I.e. I have to manually create a command per 3 minute segment. Is
>> there a better way? ... Can I use the newfile and restart effects to
>> do it in one command without generating intermediate files?
>
>Not directly, because the spectrogram output will use the same file
>name each time, overwriting the previous output. (You could write to a
>named pipe, though, or something like that.)

That's a pity. I saw how easy it is to use:
trim 0 3:00 : newfile : restart
to split it into 3 minute files and hoped spectrograms could be done in a similar way.



>Probably the easiest way is to lift the width limit of 5000 pixels, as
>it appears to be arbitrary. I don't know if there is a real limit
>(imposed by PNG/libpng perhaps?), but I changed it to 20000 in the
>source code and that seems to have worked. How many pixels do you need?

That's tempting, but every time I get involved in recompiling, it ends up as a series of brick walls till I give up (I'd need a Windows version). 50,000 should do for 30 minutes, but I might need perhaps 4 or 6 times that, assuming png format will allow it.

It might be that I'll need to do it in pages anyway, and I'd rather use an off the shelf version so I can forward instructions for my procedure to others.

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Ulrich Klauer-2
Peter Shute <[hidden email]>:

> I'm not seeing such big differences. I get 21 seconds for -y 642,  
> and 15 for -y 1025. It's only 6 for -y 513, but it's still not the  
> 11x difference you're seeing.

Well, that's surprising. But if -y 642 is fast enough for you, by all  
means do use it. :)

> That's a pity. I saw how easy it is to use:
> trim 0 3:00 : newfile : restart
> to split it into 3 minute files and hoped spectrograms could be done  
> in a similar way.

In principle, it can (just put the spectrogram effect after trim and  
before the ":"), but there is no way to specify different output file  
names for each pass. You could try to move each file out of the way  
while the next part is being analyzed (the file won't be overwritten  
before the spectrogram is complete), but that's not very reliable.

As you are on Windows, my idea regarding named pipes won't work  
either. Outputting to stdout might achieve the same, but it is a  
recent addition and not in any released version, thus would require  
recompiling.

So the only way seems to be to resort to shell scripting, some  
equivalent of this bash script:
for i in `seq 1 15`
do
   sox ... trim $((3*i)):00 3:00 ... -o spectrogram$i.png
done
This at least saves you from typing a lot of lines.

>> Probably the easiest way is to lift the width limit of 5000 pixels,  
>> as it appears to be arbitrary. I don't know if there is a real limit
> That's tempting, but every time I get involved in recompiling, it  
> ends up as a series of brick walls till I give up (I'd need a  
> Windows version). 50,000 should do for 30 minutes, but I might need  
> perhaps 4 or 6 times that, assuming png format will allow it.

Seems to be OK. In the meantime, I read that PNG supports up to two  
billion pixels (2^31-1), and tried successfully with 100000 pixels, so  
libpng apparently doesn't mind. (Imagemagick's display crashed with a  
segmentation fault, but I could view the result in GIMP.)

Ulrich


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Fmiser
In reply to this post by Peter Shute
> > Ulrich wrote:
> >
> > Probably the easiest way is to lift the width limit of 5000
> > pixels, as it appears to be arbitrary. I don't know if there
> > is a real limit (imposed by PNG/libpng perhaps?), but I
> > changed it to 20000 in the source code and that seems to have
> > worked. How many pixels do you need?

> Peter Shute wrote:
>
> That's tempting, but every time I get involved in recompiling,
> it ends up as a series of brick walls till I give up (I'd need
> a Windows version). 50,000 should do for 30 minutes, but I
> might need perhaps 4 or 6 times that, assuming png format will
> allow it.
>
> It might be that I'll need to do it in pages anyway, and I'd
> rather use an off the shelf version so I can forward
> instructions for my procedure to others.

Imagemagick is scriptable and can combine images.  Not the same
as doing it all in SoX, but it should run on MSWin.

--   Philip

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Rob Sykes
In reply to this post by Ulrich Klauer-2
----- Original Message -----



> Probably the easiest way is to lift the width limit of 5000 pixels, as 
> it appears to be arbitrary. I don't know if there is a real limit 


Yes, I'm sure it can be changed upward—when I wrote this stuff 5 years ago, a few thousand pixels was enough to invoke a warning that loading the image might use so much memory as to cause the PC to lock up! I expect things have moved on a bit since then.

Cheers,
Rob

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Peter Shute
You added the spectrogram option to SoX? Thanks for doing that! I'm sure there are other spectrogram generation programs out there, but I haven't been able to find a good one, and I was pleased to find such a mainstream program could do it.

5000 pixels is still fairly large by most people's standards, and I'm guessing that even though the image files support much larger ones, there will be programs that struggle to handle them. It would be good if the standard distribution of SoX could go higher, but it might be more generally useful if it supported numbered spectrogram output files for use with trim and : newfile : restart like it does with audio files, or even if it simply created them if necessary.

Perhaps there could be a parameter for the total width in pixels and one for the number of pixels per file.

Are such future enhancements possible with SoX?

________________________________
From: Rob Sykes [[hidden email]]
Sent: Monday, 31 December 2012 8:19 PM
To: [hidden email]
Subject: Re: [SoX-users] Generating multiple spectrograms

----- Original Message -----



> Probably the easiest way is to lift the width limit of 5000 pixels, as
> it appears to be arbitrary. I don't know if there is a real limit


Yes, I'm sure it can be changed upward—when I wrote this stuff 5 years ago, a few thousand pixels was enough to invoke a warning that loading the image might use so much memory as to cause the PC to lock up! I expect things have moved on a bit since then.

Cheers,
Rob

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Peter Shute
In reply to this post by Ulrich Klauer-2
"Well, that's surprising. But if -y 642 is fast enough for you, by all means do use it."

Perhaps it's because this is a 24 bit file?

Thanks for confirming I'll need to use a script. I didn't want to do that if there was an easier way.

Apologies for the top quoting, but that's what OWA does.

________________________________
From: Ulrich Klauer [[hidden email]]
Sent: Monday, 31 December 2012 6:45 PM
To: [hidden email]
Subject: Re: [SoX-users] Generating multiple spectrograms

Peter Shute <[hidden email]>:

> I'm not seeing such big differences. I get 21 seconds for -y 642,
> and 15 for -y 1025. It's only 6 for -y 513, but it's still not the
> 11x difference you're seeing.

Well, that's surprising. But if -y 642 is fast enough for you, by all
means do use it. :)

> That's a pity. I saw how easy it is to use:
> trim 0 3:00 : newfile : restart
> to split it into 3 minute files and hoped spectrograms could be done
> in a similar way.

In principle, it can (just put the spectrogram effect after trim and
before the ":"), but there is no way to specify different output file
names for each pass. You could try to move each file out of the way
while the next part is being analyzed (the file won't be overwritten
before the spectrogram is complete), but that's not very reliable.

As you are on Windows, my idea regarding named pipes won't work
either. Outputting to stdout might achieve the same, but it is a
recent addition and not in any released version, thus would require
recompiling.

So the only way seems to be to resort to shell scripting, some
equivalent of this bash script:
for i in `seq 1 15`
do
   sox ... trim $((3*i)):00 3:00 ... -o spectrogram$i.png
done
This at least saves you from typing a lot of lines.

>> Probably the easiest way is to lift the width limit of 5000 pixels,
>> as it appears to be arbitrary. I don't know if there is a real limit
> That's tempting, but every time I get involved in recompiling, it
> ends up as a series of brick walls till I give up (I'd need a
> Windows version). 50,000 should do for 30 minutes, but I might need
> perhaps 4 or 6 times that, assuming png format will allow it.

Seems to be OK. In the meantime, I read that PNG supports up to two
billion pixels (2^31-1), and tried successfully with 100000 pixels, so
libpng apparently doesn't mind. (Imagemagick's display crashed with a
segmentation fault, but I could view the result in GIMP.)

Ulrich


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Peter Shute
In reply to this post by Fmiser
That was my intention, although Ulrich has found it can't handle 100,000 pixels. I'm intending to use this image as input to AviSynth to pan across it as it plays, so it might be more efficient if I work out a way to do that with 5000 pixel segments rather than choke it with a giant image.

________________________________
From: Fmiser [[hidden email]]
Sent: Monday, 31 December 2012 7:16 PM
To: [hidden email]
Subject: Re: [SoX-users] Generating multiple spectrograms

Imagemagick is scriptable and can combine images.  Not the same
as doing it all in SoX, but it should run on MSWin.

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Ulrich Klauer-2
Happy New Year to everyone! (I know, it's still 2012 in the Americas;  
just re-read it later if you live there. ;-) )

Peter Shute <[hidden email]>:

> but it might be more generally useful if it supported numbered  
> spectrogram output files for use with trim and : newfile : restart  
> like it does with audio files, or even if it simply created them if  
> necessary.
> Are such future enhancements possible with SoX?

Possible, yes. This is a very specific task, however, and I doubt that  
the added complexity is worth it.

But, a new approach to your problem recently crossed my mind:
Make a text file like the attached spsp.txt. You might need to add  
more lines at the end if (some of) your audio files are longer than  
30*3 = 90 minutes. Then, run SoX like this:
   sox --effects-file spsp.txt test.wav -n
This is quite similar to the newfile-restart concept, just a little  
less elegant, since the spectrogram file names aren't chosen  
automatically. A particular advantage is that you can reuse the same  
spsp.txt and the same command line for different audio files. If the  
audio is only, say, 15 minutes long, the lines that aren't needed will  
be ignored.

By the way, if you don't already know about it, you might be  
interested in the -r option to the spectrogram effect ("raw"  
spectrogram, no legend). This would need to be added to each line in  
spsp.txt via search-and-replace.

[Imagemagick]
> That was my intention, although Ulrich has found it can't handle  
> 100,000 pixels.

I can't promise that. :-)  It didn't work for me, but it might have  
been an uncaught out-of-memory situation (thus work OK on a system  
with more memory), or a problem in the X display driver (thus work on  
Windows, or work when the result is written to a file and not  
displayed).

Ulrich

------------------------------------------------------------------------------
Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
and more. Get SQL Server skills now (including 2012) with LearnDevNow -
200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only - learn more at:
http://p.sf.net/sfu/learnmore_122512
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users

spsp.txt (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Ulrich Klauer-2
For future versions of SoX, I've now increased the maximum width for  
spectrograms (to 200000; still arbitrary, of course).

Ulrich


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Peter Shute
Cool, thanks! I see that 14.4.0 was released last March, so I should expect this new limit to be available within 6 months or so?

________________________________
From: Ulrich Klauer [[hidden email]]
Sent: Thursday, 3 January 2013 11:44 AM
To: [hidden email]
Subject: Re: [SoX-users] Generating multiple spectrograms

For future versions of SoX, I've now increased the maximum width for
spectrograms (to 200000; still arbitrary, of course).

Ulrich


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users
Reply | Threaded
Open this post in threaded view
|

Re: Generating multiple spectrograms

Chris Bagwell
Yeah, we should probably get ready for a new release soon.

On Wed, Jan 2, 2013 at 9:41 PM, Peter Shute <[hidden email]> wrote:
Cool, thanks! I see that 14.4.0 was released last March, so I should expect this new limit to be available within 6 months or so?


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Sox-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/sox-users