web-dev-qa-db-fra.com

Division en lots de grands fichiers FLAC en mp3 à l'aide de sox ou similaire

J'ai environ 50x fichiers flac d'une heure (livres audio), dont chacun doit être codé en segments d'environ 10 minutes à un point de silence pratique (+ ou - 30 secondes de chaque côté de 10 minutes). Le dernier segment peut être inférieur à 10 minutes (pour les fichiers flac qui ne font pas exactement une heure).

Reconnaissant pour toute suggestion d'une ligne de commande pour chaque flac, que je peux ensuite mettre dans un script bash. Merci.

2
abssorb

Juste pour vous faire savoir: si vous avez des feuilles de repère pour ces fichiers, vous pouvez les diviser par les informations fournies par la feuille de repère fichier.


Je ne connais pas les outils GUI pour ce travail, mais j'ai utilisé mp3splt pour une telle tâche dans le passé. Vous pouvez convertir tous ces fichiers en MP3 ou Vorbis (oggsplt), puis les alimenter en mp3splt.

Voici un exemple:

$ mp3splt -rS 5 hoaxcast122_versailles.mp3 
mp3splt 2.4.2 (13/05/12) - using libmp3splt 0.7.2
    Matteo Trotta <mtrotta AT users.sourceforge.net>
    Alexandru Munteanu <io_fx AT yahoo.fr>
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
 Processing file 'hoaxcast122_versailles.mp3' ...
 info: file matches the plugin 'mp3 (libmad)'
 info: found Xing or Info header. Switching to frame mode... 
 info: MPEG 1 Layer 3 - 44100 Hz - Mono - FRAME MODE - Total time: 41m.01s
 info: starting 'split in equal tracks' mode
   File "hoaxcast122_versailles_00m_00s__08m_12s_39h.mp3" created           
   File "hoaxcast122_versailles_08m_12s_39h__16m_24s_78h.mp3" created       
   File "hoaxcast122_versailles_16m_24s_78h__24m_37s_17h.mp3" created       
   File "hoaxcast122_versailles_24m_37s_17h__32m_49s_56h.mp3" created       
   File "hoaxcast122_versailles_32m_49s_56h__41m_01s_94h.mp3" created       
 Processed 94247 frames - Sync errors: 0
 split in equal tracks ok

Le paramètre r représente le découpage à l'aide de la détection du silence et S signifie le fractionnement en pistes de temps égal ou mieux lesdites parties (5 dans ce cas, ce qui entraînerait 10 minutes par fichier dans votre cas) .

Vous pouvez créer un dossier de projet contenant les fichiers mp3 convertis et exécuter le script bash suivant pour avoir tous les .mp3 fichiers divisés avec la commande:

for file in $(ls *.mp3); do mp3splt -rS 5 $file; done

Pour autant que je sache, les fichiers ne sont pas réencodés, il suffit de les diviser et de les réemballer dans un conteneur approprié.

1
LiveWireBT