IM2 | OQP

2007/07/24

Gagner du temps en écoutant des enregistrements audio

Filed under: Français, audio, communication, free software, french, logiciel-libre Robin @ 21:26 (3340 lectures)

Premièrement, j’aime pas trop le mot podcast parce qu’un enregistrement audio, c’est un enregistrement audio. Pas besoin d’un nouveau mot comme baladodiffusion non plus, m’enfin, c’est pas moi qui écrit les dictionnaires. Quand le Walkman est sorti, on n’écoutait pas des walktunes ! Mais ce n’est pas le sujet de ce billet, sujet sur lequel je ne m’attarderai pas d’ailleurs.

Donc, j’ai fais un petit script qui me permet d’écouter des enregistrements vocaux (sur la musique, ce n’est pas très recommandé, mais c’est une question de goût) en accélérant l’audio sans changer la fréquence. À deux fois la vitesse, c’est très difficile à écouter. À 1.67 fois, c’est un peu difficile à suivre, mais à 1.5 fois la vitesse, c’est très facile de tout comprendre.

Le script dépend surtout sur le logiciel libre wsola et accessoirement sur speexenc (vous connaissez probablement ma préférence pour le codec libre speex développé à Sherbrooke) et sur ffmpeg qui permet de convertir à peu près n’importe quoi en fichier wav.

wsola lui-même dépend de la librairie libsndfile qui ne supporte pas mp3 (et ne le supportera pas de sitôt) ni speex (ou les autres codecs de xiph) mais pour ce dernier, ça va venir, ce qui simplifierait un peu ce script.

Sauvez ce qui suis dans un fichier de votre choix (faster-audio.sh chez moi), assurez-vous qu’il soit exécutable (chmod u+x faster-audio.sh) et lancer la commande suivi du fichier que vous voulez accélérer, genre ./faster-audio.sh mon-fichier.ogg. Pour changer le taux d’accélération, modifier la variable SPEEDUP. Plus la valeur est petite, plus vite sera l’enregistrement.

-----8< -------
#!/bin/sh
# this script is in the public domain, originally by Robin Millette
# ce script est dans le domaine public, originalement by Robin Millette
# info : http://rym.waglo.com/wordpress/2007/07/24/gagner-du-temps-en-ecoutant-des-enregistrements-audio/
RATE=16000
CHANNELS=1
SPEEDUP=.67
nice ffmpeg -i "$1" -vn -ar $RATE -ac $CHANNELS "$1.16k.wav" && rm "$1"
nice wsola "$1.16k.wav" "$1.faster.wav" $SPEEDUP
rm "$1.16k.wav"
nice speexenc --vbr --agc --denoise "$1.faster.wav" "$1.spx" && rm "$1.faster.wav"
-----8< -------

Si on ne veut que convertir des fichiers mp3, on peut remplacer la ligne de ffmpeg avec ceci :

mpg321 --wav "$1.16k.wav" "$1"

Retirer aussi la ligne avec speexenc ainsi que les deux variables RATE et CHANNELS. Ça peut être un peu plus rapide même si ça va générer des fichiers temporaires plus gros.

On peut aussi retirer la ligne avec speexenc tout simplement si on ne compte pas conserver le fichier wav accéléré.

Le script comme tel, sur mon ordinateur AMD à 2 GHZ converti un fichier d’une heure en quinze minutes environ en comptant toutes les étapes. Mes logiciels sont assez désuets, j’avoue. Je crois qu’avec la même machine et des versions plus récentes des logiciels, la conversion serait plus rapide de 20 % peut-être.

2 Comments »

  1. C’est amusant d’accélérer des discours, et tout autant de les ralentir :)

    De mon côté, je n’ai plus tellement l’occasion d’en écouter depuis que je vais au travail en vélo. Avant que je change d’emploi, je pouvais me taper 1h30 par jour (trajet de 45 minutes aller-retour). Même quand l’hiver viendra et que je prendrerai à nouveau le transport en commun, j’aurais à peine 30 minutes (2 fois 15 minutes), ce qui est insuffisant même pour lire. Je préfère alors laisser mon esprit divaguer…

    Comment by Nicolas Marchildon — 2007/07/25 @ 00:04

  2. [...] to Mitch Joel’s Six Pixels of Separation #97 (I’m catching up, what can I say… at least it’s quick) when a few thoughts collided which I’ll hereby attempt to [...]

    Pingback by IM2 | OQP » Web esthetics versus audio quality — 2008/04/29 @ 21:32

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress