SOXオーディオ処理

13689 ワード

                ,          wav     gsm  ,asterisk    wav  ,        wav          ,       gsm  。
   :sox 00.wav -r 8000 -c 1 00.gsm resample -ql
                   
     Sox      Open Source          。        Dos、windows、OS2、S
un、Next、Unix、Linux         。
Sox    Lance Norskog   ,             ,            
            。               。      ,Sox    
    、      ,                      。  ,Sox  
     DSP  ,              。Sox        。       
         ,             。

          ,  :
sox file1.wav -v 0.6 file2.wav
-v        ,0.6   ,        ,         0.6,      ,fi
-le2.wav     。  -v      1 ,     ,       ,       
                ,           ,            。 
      ?      :

sox file1.wav -n stat -v

        "

1.003

             。   stat    ,               ,   
          ,  "-v"            "Volume Adjustment:’     
   。  -n        。                     。

sox         :
sox                   1             2 ...            
     
          ,                ,         ,     
   ,          ,      。      。
          ,       。
  SoX        , SoX   play               。
           ,      。         ,   10         ,
         ,        :

sox   .wav -n stat

        :
Samples read:          20889600
Length (seconds):    236.843537
Scaled by:         2147483647.0
Maximum amplitude:     0.996857
Minimum amplitude:    -0.993195
Midline amplitude:     0.001831
Mean    norm:          0.084509
Mean    amplitude:    -0.000000
RMS     amplitude:     0.119258
Maximum delta:         0.729645
Minimum delta:         0.000000
Mean    delta:         0.058931
RMS     delta:         0.080600
Rough   frequency:         4743
Volume adjustment:        1.003
        "Length (seconds):236.843537"   ,        236.843537  ,
   237  。       :
sox   .wav   1.wav trim 0 10

               10     ,       1.wav,0     ,10   
  ,    ,      。   SoX play        ,     1.wav    
      ,          :
rm -rfv   1.wav
sox   .wav   1.wav trim 10 227
      1.wav          。   227         ,  237  10。

SoX               , :
sox   .wav sox   .mp3
    mp3lame libmad     ,  wav    mp3  。

         ,          ,  :

sox file1.mp3 file2.mp3 file3.mp3

     , file1.mp3, file2.mp3         ,     file3.mp3,  SoX   "play"    ,          ,        , play file1.mp3 file2.mp3, 
           ,SoX rec     sox    。
         :

sox -m file1.mp3 file2.mp3 file3.mp3

file1.mp3 file2.mp3        ,         。          ,   
      。
        ,  sequence merge      ,             ,    
   。  ,  merge      :
sox -M test.wav    .wav  test1.wav
   :
sox sox: Input files must have the same sample-rate
   ,-M                    ,               。
     ,           。

                         ,   -V -n  , :
sox -V *.wav -n
Input File     : '  .wav'
Sample Size    : 16-bit (2 bytes)
Sample Encoding: signed (2's complement)
Channels       : 2
Sample Rate    : 44100
Duration       : 03:56.84 = 10444800 samples = 17763.3 CDDA sectors
Endian Type    : little
Reverse Nibbles: no
Reverse Bits   : no
           wav       。

            ,   :
sox file1.wav -r           file2.wav,           48000Hz,      :
sox file1.wav -r 48000 file2.wav 

        ,  "--interactive",               ,        
 ,      ,SoX         ,  ,    'shell'             
       。

                    ,       "--plot"   ,"--plot"   
             ,  gnuplot octave  。  :
sox --plot octave   .wav -n lowpass 1320 > plot.m
  octave plot.m           。

                   ,    "--replay-gain"           
  ,   track       , album       , off  。

        ,      ,         ,      :
sox file1.wav -c 2 file2.wav
  -c        ,-c
2    -c2,    ,-c1     ,-c4  4  。           ,    , 
            :
sox -V4 -v 1.2   file1.wav -r 48000 -c 2 file2.wav   -V4        。

          ,           ,                    
   ,              ,     ? -t  , :
sox -v 1.0 -V  file1 -t wav -r 44100 -c2 file2.wav

  man 7 soxformat              。

        ,          :
sox recital.au -r 12000 -1 -c 1 recital.wav vol 0.7 dither 4
   , Sun AU       WAV    , -1    1    ,-2,-3 -4,-8  ,-c 1
     , vol 0.7       ,      0.7,dither      ,4     。

sox -r 8000 -u -1 -c 1 file1.raw file2.wav
                 8000,  u-law(u )  ,   (-c 1),      
      。

sox file1.wav file2.wav speed 1.29
        1.299(       )。

            :

play file.wav bass -20 play file.wav bass +20

  bass            ,-20    ,+20    。   ,    ,     
 ,     。

      SoX     sox   ,  ,SoX       rec,play    ,    ,
rec      ,play         ,      sox    ,  rec       
        。      :

play                1            ...              
       ...

rec                          
  play             ,       rec   :
rec file.wav
      :
rec -r 44100 -4 -u -c2 -t mp3 test.mp3

      ,   SoX         ,      ,         ,     
          ,      SoX         :SoX   ,    。

    SoX  -SoX   
     SoX    ,   SoX        ,      ,  ,  ,  ,   
        ,  SoX       ,        ,SoX    linux    
  。            ,           ,      ,        
 。  ,           ,         ,     cpu     。    
   SoX    'play'               ,               
   。

  ,            (3.15   ,'wav'  ,44.1 kHz    ,16bit   )。 
          ,  ,           CD    ,            ,                        ,       。(     :   
   ,      ,      ,  ,         )。            
     ,                  ,        SoX        
   ,    ,    :

play   .wav mixer 0.3,0.5,0.8,0.6
     mixer   ,                  ,            
  。          :0.3                    ,0.5     
               ,0.8                    ,0.6   
                 。      :  l  ,r  ,b   ,f   , 
      :l → l, l → r, r → l,r →r,    --> , --> , --> , --> 。   
    ,     :         -     lf → lf, rf → lf,lb →  lf,    -   rb  → lf;lf-->rf,lb-->rf,rf-->rf,rb-->rf;     -      lf-->lb,rf-->lb,
lb-->lb,rb-->lb;         lf-->rb,lb-->rb,rf-->rb,rb-->rb。        
 。          16   。

        tempo(  )   :
play *.wav tempo -q 0.8 82 20  16

      ,0.8              ,82                ,  
  ,20     ,            ,16     。

        (tremolo)      :
play file.wav tremolo 3.5 60
3.5     ,,     Hz,60      ,      " "     。

    ,          ,          :
play file.wav fade t 00:00:100.09
     ,fade      ,t        ,t     , q          
   ,h       ,l   ,p      。       。00:00:100.09  hh:mm:
ss.fraq       ,        ,   8000s  8000   。

       ,             ,    :
play *.wav fade t 00:00:50.09 00:01:00 00:00:06

   t    ,00:00:50.09  0    ,           ;00:01:00      
   ,00:00:06              。    , 00:01:00    ,  6  00
:00:06       。                  ,    。

             ,          cd   ,           ,  
              ,         , SoX    ,           
   ,   earwax,    :

play file.mp3 earwax

      ,           。

         24    ,           ,  dither(    )      
    ,                ,    :

play file.wav dither 100

   100     (depth) 。

     ,      ,       ,       ,      ,        
        ,         ,          :

play file.xxx echo 0.8 0.88 60 0.4

                     ,0.8     ,0.88     ,60   , 
    ,0.4            。

        ,               :

play file.wav echo 0.8 0.88 1000 0.4

         0.5,          。

      ,    (   )      。

play file.wav 0.8 0.88 6 0.4

           :

play file.wav echo 0.8 0.9 1000 0.3 1800 0.25

         ,          ,            ,    ,    ,
        ,         ,           ,         ,   
        :

play file.wav echos 0.8 0.7 700 0.25 700 0.3

    ,echos       ,       ,         ,          ,
  700,         ,         :

play file.xxx echos 0.8 0.7 700 0.25 900 0.3

                   :

play file.wav echos 0.8 0.7 40 0.25 63 0.3

         ,         ,   ?

             ,                            
  。   :①  ,        , 3  3       ,           
      ,         。②    ,         ,         
。    。       , , ,      ;      ,          
 。SoX              ,   chorus,         ,       
'echo'  ',      。       .                。    
               。               ,          
        ,                 ,   :

play file.wav chorus 0.7 0.9 55 0.4 0.25 2 -t

   ,55   ,0.4   ,0.25     ,  Hz,2     ,      40  (40ms)
 60  (60ms),       0.25Hz  ,    2    (2ms)。-t        ,
         ,      。          :

play   .wav chorus 0.6 0.9 50 0.4 0.25 2 -t 60 0.32  0.4  1.3 -s

      -s,       。

           :

play file.xxx chorus 0.5 0.9 50 0.4 0.25 2 -t 60 0.32 0.4 2.3 -t 40 0.3 0.3 1.3 -s

       ,         ,             , SoX         
 flanger,     ,       。              ,         
    ,         ,      20ms.        ,        。fla-
nger            ,             。         :

play   .wav flanger

                      :

       ,                       :

play   .wav flanger triangle

            :

play   .wav flanger quadratic

                        :

play   .wav flanger quadratic flanger lin flanger sine flanger triangle

           ,            :

play   .wav flanger 8 5 90 90 8  triangle 80 quadratic

   ,8      ,   0 - 10  ,   0(    ms).5        ,   0
- 10  ,   2(    ms).90                  ,   -95 - 95
  ,   0。   90                ,   0-100  ,   71。8 
    ,   0.1-10  ,   0.5。triangle       ,  sin      。80
           ,0 = 100 =          ,   0 - 100,   25。quadrat-ic     ,       lin。              ,     。     
      。

             ,  reverb。  (reverb)          ,      
 ,            。reverb                 。      
              ,        ,            ,    :

play   .wav reverb 1 600 180

   ,1     ,600     ,180     ,            1/4 1/2。 
           ,            ,    :play   .wav reverb 1 600
180 200。    。

        ,            ,    SoX  phaser       ,phaser
     flanger  ,   reverb  echo,      。       。   :

play file.wav phaser 0.8 0.74 3 0.4 0.5 -t

3     ,     5ms,0.4    ,    0.5,0.5     ,    2Hz,-t  
    ,            -s。            :

            ,          :

play   .wav phaser 0.6 0.66 3 0.6 2 -t

            :

play file.wav phaser 0.89 0.85 1 0.24 2 -t

          ,      repeat    :

play file.wav repeat 2

          , 0     。

    ,        ,            ,           ,     
    ,        ,            ,       ,       。 
         。                    ,           
  ?          。  -               。          
  ,               ,          (  )  ,        
 。SoX         compand          ,   :

sox asz.flac asz-car.flac compand 0.3,1 6:-70,-60,-20 -5 -90 0.2

    ,compand      ,0.3     (            ),1     , 
           ,                            。
6:-70         ,   dB,              ,           
(-70dB  )      ,                       。   -60dB
 0dB(    )       ,    60dB          20dB,        
                。   -60 -20   。-5     ,      ,
-90              ,                 。0.2      
                     。

             ,  --plot    SoX。  :

sox  --plot gnuplot *.wav -n  compand 0,0 6:-70,-60,-20 -5 -90 0.2 > my.plt

  gnuplot my.plt      。

          FM      ,         :

            play file.xxx vol -3dB filter 8000- 32 100 mcompand \
            "0.005,0.1 -47,-40,-34,-34,-17,-33" 100 \
            "0.003,0.05 -47,-40,-34,-34,-17,-33" 400 \
            "0.000625,0.0125 -47,-40,-34,-34,-15,-33" 1600 \
            "0.0001,0.025 -47,-40,-34,-34,-31,-31,-0,-30" 6400 \
            "0,0.025 -38,-31,-28,-28,-0,-25" \
            vol 15dB highpass 22 highpass 22 filter -17500 256 \
            vol 9dB lowpass -1 17801


filter  8000- -17500     ,32     ,100 256      。filter  Sinc
   ,                                。filter  
 8000-    ,32    ,   filter  ,100       ,highpass       
   。

      ,             ,          ,          ,    stretch     ,  ,           2 :

play file.wav stretch 2

           speed,            。 :

play file.wav speed 2

       1   (100  ),     :

play file.wav pitch 100