Traitement du son en ligne de commande

Prérequis

  • Le logiciel SOX

Réduction du bruit de fond (Noisegate)

la réduction de bruit ce fait en deux étapes. La première consiste a déterminer un échantillon de bruit de fond:

play source.wav trim 0 0.9 noiseprof noise.prof
  • trim 0 0.9 ⇒ sélectionne le sample de 0 seconde a 0.9 seconde
  • noiseprof ⇒ invoque le profiler de bruit
  • noise.prof ⇒ nom de fichier ou on stock le profile

La deuxième étape, on applique la réduction de bruit de fond selon le profile:

sox source.wav noise.wav noisered noise.prof 0.3
  • noise.wav ⇒ fichier de sortie
  • noisered ⇒ appel le filtre réducteur de bruit
  • noise.prof ⇒ fichier contenant le profile
  • 0.3 ⇒ nombre entre 0 et 1 qui indique la force de réduction (defaut 0.5)

il est bien évidement possible de chainer les deux etape:

sox noisy.wav −n trim 0 1 noiseprof | play noisy.wav noisered

Compresseur

contrast

la compression modifie un signal audio pour le rendre plus fort. Le montant de l'amélioration est un nombre compris entre 0 et 100. Notez que l'amélioration = 0 donne toujours une amélioration significative du contraste.

sox source.wav comp_0.wav contrast 0
Pour extraire une tranche:
sox source.wav comp_0.wav trim 0 3.5 contrast 0

Amplification

gain

Appliquer une amplification ou une atténuation au signal audio, ou, dans certains cas, à certains de ses canaux. Notez que l'utilisation de -e, -B, -b, -r, ou -n nécessite un espace de fichier temporaire pour stocker l'audio à traiter, et peut donc ne pas convenir à une utilisation avec de l'audio “en continu”.

Sans autres options, le gain-dB est utilisé pour ajuster le niveau de puissance du signal par le nombre de dB donné : amplifie positivement (attention à l'écrêtage), atténue négativement. Avec d'autres options, l'amplification ou l'atténuation du gain-dB est (logiquement) appliquée après le traitement dû à ces options.

Avec l'option -e, les niveaux des canaux audio d'un fichier multicanal sont “égalisés”, c'est-à-dire que le gain est appliqué à tous les canaux autres que celui ayant le niveau de crête le plus élevé, de sorte que tous les canaux atteignent le même niveau de crête (mais, sans donner également -n, le son n'est pas “normalisé”).

L'option -B (balance) est similaire à -e, mais avec -B, le niveau RMS est utilisé au lieu du niveau de crête. L'option -B peut être utilisée pour corriger le déséquilibre stéréo causé par une cartouche de platine d'enregistrement imparfaite. Notez que contrairement à -e, -B peut causer un certain écrêtage.

-b est similaire à -B mais dispose d'une protection contre l'écrêtage, c'est-à-dire que si nécessaire pour éviter l'écrêtage lors de l'équilibrage, l'atténuation est appliquée à tous les canaux. Notez cependant que, conjointement avec -n, -B et -b sont synonymes.

L'option -r est utilisée en conjonction avec une invocation préalable du gain avec l'option -h - voir ci-dessous pour plus de détails.

L'option -n normalise l'audio à 0dB FSD ; elle est souvent utilisée en conjonction avec un gain-dB négatif pour que l'audio soit normalisé à un niveau donné en dessous de 0dB. Par exemple, l'option -n

sox infile outfile gain −n

normalise a 0dB et

sox infile outfile gain −n -3

normalise a -3dB

l'option -l invoque un limiteur:

sox infile outfile gain −l 6

appliquera 6dB de gain mais jamais de clip (saturer). Notez qu'il n'est pas recommandé de limiter plus de quelques dB plus qu'occasionnellement (dans un morceau de son) car cela peut provoquer une distorsion audible. Voir l'effet compand pour un limiteur plus performant.

L'option -h est utilisée pour appliquer le gain afin de fournir une marge de manœuvre pour le traitement ultérieur. Par exemple, avec l'option

sox infile outfile gain −h bass +6

Une atténuation de 6dB sera appliquée avant l'effet d'amplification des basses, ce qui garantit qu'il n'y aura pas d'écrêtage. Bien sûr, avec les basses, il est évident de savoir quelle sera la marge de manœuvre nécessaire, mais avec d'autres effets (par exemple, le taux (rate), le tremblement(dither)), ce n'est pas toujours aussi clair. Un autre avantage de l'utilisation du gain -h plutôt que d'une atténuation explicite, est que si la marge de manœuvre n'est pas utilisée par les effets suivants, elle peut être récupérée avec le gain -r, par exemple :

sox infile outfile gain −h bass +6 rate 44100 gain −r

La chaîne d'effets ci-dessus garantit de ne jamais écrêter ni amplifier ; elle atténue si nécessaire pour éviter l'écrêtage, mais seulement autant qu'il est nécessaire pour le faire.

Le formatage de la sortie (dithering et réduction de la profondeur de bit) nécessite également une marge de sécurité (qui ne peut être “récupérée”), par exemple

sox infile outfile gain −h bass +6 rate 44100 gain −rh dither

Ici, la seconde invocation de gain, récupère autant de marge que possible des effets précédents, mais conserve autant de marge que nécessaire pour le traitement ultérieur. L'option globale SoX -G peut être donnée pour invoquer automatiquement le gain -h et le gain -r.

normaliser

norm

Normalise l'audio. La norme est juste un alias pour le gain -n ; voir l'effet de gain pour plus de détails.

sox infile outfile norm
 
sox infile outfile norm -3
 
sox infile outfile norm +3

Volume

vol

Appliquer une amplification ou une atténuation au signal audio. Contrairement à l'option -v (qui est utilisée pour équilibrer plusieurs fichiers d'entrée lorsqu'ils entrent dans la chaîne de traitement des effets SoX), le vol est un effet comme un autre qui peut donc être appliqué n'importe où, et plusieurs fois si nécessaire, pendant la chaîne de traitement.

La quantité de changement de volume est donnée par le gain qui est interprété, selon le type donné, comme suit : si le type est amplitude (ou est omis), alors le gain est un rapport d'amplitude (c'est-à-dire de tension ou linéaire), si power, alors un rapport de puissance (c'est-à-dire de wattage ou de tension au carré), et si dB, alors un changement de puissance en dB.

Lorsque le type est amplitude ou power, un gain de 1 laisse le volume inchangé, moins de 1 le diminue, et plus de 1 l'augmente ; un gain négatif inverse le signal audio en plus d'ajuster son volume.

Lorsque le type est en dB, un gain de 0 laisse le volume inchangé, moins de 0 le diminue, et plus de 0 l'augmente.

Attention à l'écrêtage lorsque le volume augmente.

Les paramètres de gain et de type peuvent être concaténés si vous le souhaitez, par exemple vol 10dB.

Une valeur de gain limite optionnelle peut être spécifiée et devrait être une valeur bien inférieure à 1 (par exemple 0,05 ou 0,02) et n'est utilisée que sur les pics pour éviter l'écrêtage. Si ce paramètre n'est pas spécifié, aucun limiteur ne sera utilisé. En mode verbeux -V, cet effet affichera le pourcentage de l'audio qui a dû être limité.

Voir aussi gain pour un effet de changement de volume avec différentes capacités, et compand pour un effet de compression/expansion/limitation de la gamme dynamique.

# utiliser l'option verbose (-V) pour avoir des inforamtion sur le clipping / sturation
 
# augmentation de l'amplitude
play infile vol 2
play infile vol 2amplitude
# avec limiteur
play infile vol 2amplitude 0.05
 
# augmentation de dB
play infile vol 2dB
# avec limiteur
play infile vol 2dB 0.05
 
# augmentation de la puissance
play infile vol 10power
# avec limiteur
play infile vol 10power 0.05

Equalizer

equalizer bass treble

Quelques base

Qu'il s'agisse de voix off ou de podcast, l'égalisation pour une voix parlée vise à maximiser la clarté. Le choix de la voix dépend de la voix utilisée. Il y a trois gammes de fréquences à prendre en compte :

  • Fondamentale, entre 80 et 250 hertz - la “note” de base de la voix de l'orateur.
  • Les voyelles, entre 350 et 2 000 Hz environ – la région de puissance maximale de la voix, qui donne la forme générale des mots.
  • Les sons de consonnes, entre 1 500 et 4 000 Hz environ – une composante de faible puissance de la voix de l'orateur, mais essentielle à la définition et à la clarté.

Couper les basses fréquences pour supprimer l'effet de proximité.

En gardant ces gammes à l'esprit, analysez la voix de votre enregistrement et planifiez les changements de QE.

  • Certains microphones exagèrent les basses fréquences si le haut-parleur est proche, un effet connu sous le nom de proximité des basses. Contrôlez cet effet en utilisant des coupes d'égalisation inférieures à 125 Hz.
  • Augmentez les fréquences entre 1 000 et 3 000 Hz pour un homme ayant une voix grave sans forte articulation des consonnes.
  • Ajoutez des égalisateurs entre 200 et 350 pour une femme dont la voix est claire mais fine.
  • Pour les voix avec beaucoup de sifflements, le “sifflement” qui accompagne les sons forts du “s” dans une voix, cherchez à couper entre 5 000 et 7 000 Hz.

/!\ En CONSTRUCTION /!\

play -V c75.wav bass -12 treble +2
sox -V eq.wav final.wav vol 3amplitude 0.05 norm -1
generateur de son
play -n synth sin 900 bend 0.3,800,1 bend 1.2,-150,1 trim 0 3.5 reverb -w 
 
play -qn synth 2 pluck G
for i in {G,C,E}; do play -qn synth 2 pluck $i; sleep .25; done
for i in {G,C,E}; do play -qn synth 2 pluck $i& sleep .25; done
# possible que le sleep ne fonctionne pas
 
for n in E2 A2 D3 G3 B3 E4; do play -n synth 4 pluck $n repeat 2; done

test voix

noisegate contrast 75 eq bass -12 treble +2 volume 3amplitude 0.05 norm -1

The audio effects/tools included in this release are as follows:

Tone/filter effects
    allpass: RBJ all-pass biquad IIR filter
    bandpass: RBJ band-pass biquad IIR filter
    bandreject: RBJ band-reject biquad IIR filter
    band: SPKit resonator band-pass IIR filter
    bass: Tone control: RBJ shelving biquad IIR filter
    equalizer: RBJ peaking equalisation biquad IIR filter
    firfit+: FFT convolution FIR filter using given freq. response (W.I.P.)
    highpass: High-pass filter: Single pole or RBJ biquad IIR
    hilbert: Hilbert transform filter (90 degrees phase shift)
    lowpass: Low-pass filter: single pole or RBJ biquad IIR
    sinc: Sinc-windowed low/high-pass/band-pass/reject FIR
    treble: Tone control: RBJ shelving biquad IIR filter

Production effects
    chorus: Make a single instrument sound like many
    delay: Delay one or more channels
    echo: Add an echo
    echos: Add a sequence of echos
    flanger: Stereo flanger
    overdrive: Non-linear distortion
    phaser: Phase shifter
    repeat: Loop the audio a number of times
    reverb: Add reverberation
    reverse: Reverse the audio (to search for Satanic messages ;-)
    tremolo: Sinusoidal volume modulation
    
Volume/level effects
    compand: Signal level compression/expansion/limiting
    contrast: Phase contrast volume enhancement
    dcshift: Apply or remove DC offset
    fade: Apply a fade-in and/or fade-out to the audio
    gain: Apply gain or attenuation; normalise/equalise/balance/headroom
    loudness: Gain control with ISO 226 loudness compensation
    mcompand: Multi-band compression/expansion/limiting
    norm: Normalise to 0dB (or other)
    vol: Adjust audio volume

Editing effects
    pad: Pad (usually) the ends of the audio with silence
    silence: Remove portions of silence from the audio
    splice: Perform the equivalent of a cross-faded tape splice
    trim: Cuts portions out of the audio
    vad: Voice activity detector

Mixing effects
    channels: Auto mix or duplicate to change number of channels
    divide+: Divide sample values by those in the 1st channel (W.I.P.)
    remix: Produce arbitrarily mixed output channels
    swap: Swap stereo channels

Pitch/tempo effects
    bend: Bend pitch at given times without changing tempo
    pitch: Adjust pitch (= key) without changing tempo
    speed: Adjust pitch & tempo together
    stretch: Adjust tempo without changing pitch (simple alg.)
    tempo: Adjust tempo without changing pitch (WSOLA alg.)

Mastering effects
    dither: Add dither noise to increase quantisation SNR
    rate: Change audio sampling rate

Specialised filters/mixers
    deemph: ISO 908 CD de-emphasis (shelving) IIR filter
    earwax: Process CD audio to best effect for headphone use
    noisered: Filter out noise from the audio
    oops: Out Of Phase Stereo (or `Karaoke') effect
    riaa: RIAA vinyl playback equalisation

Analysis `effects'
    noiseprof: Produce a DFT profile of the audio (use with noisered)
    spectrogram: graph signal level vs. frequency & time (needs `libpng')
    stat: Enumerate audio peak & RMS levels, approx. freq., etc.
    stats: Multichannel aware `stat'

Miscellaneous effects
    ladspa: Apply LADSPA plug-in effects e.g. CMT (Computer Music Toolkit)
    synth: Synthesise/modulate audio tones or noise signals
    newfile: Create a new output file when an effects chain ends.
    restart: Restart 1st effects chain when multiple chains exist.

Low-level signal processing effects
    biquad: 2nd-order IIR filter using externally provided coefficients
    downsample: Reduce sample rate by discarding samples
    fir: FFT convolution FIR filter using externally provided coefficients
    upsample: Increase sample rate by zero stuffing

+ Experimental or incomplete effect; may change in future.
    Multiple audio files can be combined (and then further processed with effects)     using any one of the following combiner methods:    
    
    concatenate
    mix
    merge: E.g. two mono files to one stereo file
    sequence: For playing multiple audio files/streams