Comment puis-je diviser un fichier mp3?

35

J'ai un gros fichier mp3 qui vient d'extraire un CD complet. Je voudrais le scinder en un fichier par chanson. Il sera bon de trouver un logiciel capable de scinder le fichier automatiquement, en détectant le début et la fin de chaque chanson.

Contexte supplémentaire:

J'ai essayé mp3splt et audace. Le premier ne parvient pas à détecter automatiquement les chansons et l'audace semble être incapable de le faire.

Je voudrais graver les chansons sur un CD (format mp3) pour pouvoir les jouer ensuite dans mon autoradio. Il ne prend en charge aucune fonctionnalité sophistiquée, il n’a même pas de connecteur USB.

Javier Rivera
la source
Le cd était-il à l’origine un gros fichier d’un fichier, ou at-il des pistes individuelles lorsqu’il est dans un lecteur de CD?
djeikyb
Voir magicode.me/mp3-cut
dovid le
Une .cueautre possibilité consiste à utiliser un fichier pour charger ceci et lire chaque piste individuellement.
earthmeLon
Audacity peut détecter des chansons en identifiant des silences entre elles. Cependant, il est préférable de les séparer avec mp3splt afin qu'ils ne soient pas décodés + ré-encodés. Voir mon flux de travail comme une réponse ci-dessous.
Fairmiles

Réponses:

14

Vous pouvez diviser votre gros mp3 en petits morceaux en utilisant la fonction "scinder" ou "scinder un nouveau" dans audacity, puis séparer la partie de l'audio que vous souhaitez mélanger dans un autre fichier afin de l'exporter.

Dans la capture d'écran suivante, j'ai créé une nouvelle piste stéréo afin de mettre l'audio divisé en une piste différente (uniquement à des fins visuelles), puis j'ai déplacé la deuxième partie de l'audio vers cette piste et j'ai sélectionné une partie de l'audio. qui peut être exporté dans un nouveau fichier.

entrez la description de l'image ici

Vous n'avez pas besoin de séparer l'audio pour exporter la partie de l'audio dans un fichier différent, vous pouvez simplement sélectionner l'audio et choisir "Exporter la sélection" dans le menu Fichier.

Dans la capture d'écran suivante, je fais ce que j'ai dit dans les mots ci-dessus.

entrez la description de l'image ici

Si vous avez déjà le CD, vous pouvez extraire l'audio d'un fichier par chanson à l'aide de "Sound Juicer", qui vous permettra de choisir comment extraire le contenu du CD. De cette façon, vous aurez un fichier mp3 par chanson. Et Audacity se chargera facilement de mélanger toutes les chansons dans un fichier volumineux, au cas où vous en auriez besoin.

Sound Juicer peut être installé via Synaptic ou en plongeant sur le site Web à l'adresse suivante: http://burtonini.com/blog/computers/sound-juicer

Une capture d'écran est placée ici pour vous permettre de voir Sound Juicer en action. (Désolé, je n'ai pas de CD à extraire pour le moment, la liste de lecture est donc vide)

entrez la description de l'image ici

Geppettvs D'Constanzo
la source
48

Audacity est mauvais pour cela - puisqu'il ré-encode le mp3 et que la qualité est dégradée. J'utilise ffmpeg pour couper des mp3 - je crois que le réencodage n'est pas possible:

  • heure de début, durée:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile
    
  • heure de début, heure de fin:

    ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -to 00:01:32 OutputFile
    

on peut également inclure des millisecondes avec par exemple 00:00:00.000.

Adobe
la source
S'il vous plaît voir les commentaires à jet réponse.
Javier Rivera
On peut soutenir qu'un seul transcodage avec perte peut être entendu lorsqu'il est reproduit à partir d'un autoradio, mais cela devrait être la voie à suivre, quelle que soit l'utilisation.
Nit
2
FYI ces arguments fonctionneront presque avec "avconv", si vous êtes sur une distribution qui a remplacé ffmpeg avec libav. La mise en garde est que vous devez mettre l'argument -ss avant l'argument -i. En outre, notez que l'argument de -t est la durée, pas la recherche du temps.
ACK_stoverflow
@ Adobe J'aime cette approche. Savez-vous si vous pouvez spécifier une granularité en millisecondes? J'ai besoin de couper la première partie de plusieurs mp3 qui commencent tous par la même séquence indésirable.
frakman1
@ frakman1 voulez-vous dire en millisecondes? Comme ceci: ffmpeg -i a.ogg -ss 00:01:02.500 -t 00:01:03.250 -c copy x2.ogg( source )
Adobe
32

Vous dites que vous avez essayé mp3splt mais avez-vous lu la page de manuel complète ?

Je demande parce que le -smode silence peut prendre des paramètres pour l’aider à déterminer le silence.

Voici un exemple de page de manuel avec des paramètres optionnels:

mp3splt -s -p th=-50,nt=10 album.mp3
  • th: niveau seuil (dB) à considérer comme silence
  • nt nombre de pistes

Il existe également un -cmode de requête de base de données CDDB. S'il s'agit d'un CD connu, vous pouvez extraire la liste des pistes en ligne. Cela va également nommer les pistes correctement et (je pense) cela va même mettre les tags en place.

C’est un outil incroyablement puissant et l’une de vos meilleures options pour préserver la qualité ... Ne l’écrivez pas tout de suite.

Oli
la source
2
La vérité est que je viens d'utiliser l'interface graphique de mp3split-gtk. Je vais les regarder.
Javier Rivera
Malchance. La seule option non disponible dans l'interface graphique est de lui donner le nombre de pistes. Mais il l'a simplement ignoré et a trouvé le même nombre de pistes que dans l'interface graphique.
Javier Rivera
9

vous pouvez essayer quelque chose comme:

ffmpeg -i /path/music.mp3 -t 00:10:00 -ss 00:20:00 -acodec copy /path/save.mp3

jet
la source
Bien sûr, mais je vais devoir trouver manuellement chaque temps de chanson. Ce sera plus rapide de le faire avec audace, au moins je peux voir la vague.
Javier Rivera
Si vous voulez écrire un script, ffmpeg peut vous aider
jchook
2

mp3splt fonctionne bien. Cela dépend de ce que vous devez commencer et de ce que vous attendez pour obtenir des résultats. Plus d'entrées = plus de sorties. Si vous connaissez le nombre de chansons contenues dans les gros fichiers mp3, cela vous aidera à vous indiquer que le nombre de fichiers de sortie est correct. Vous DEVEZ avoir des sections de silence entre vos chansons dans le gros fichier mp3. La clé pour mp3splt est de trouver la valeur correcte pour "th". Si "th" est trop bas, vous pouvez avoir trop de sorties, donc toutes vos chansons sont fragmentées. S'il est trop élevé, vos chansons ne seront pas divisées et vous pouvez avoir plus d'une chanson par division. Supposons que vous avez un fichier volumineux et rien d’autre: par exemple, aucun index pour les titres ou les époques.

Mon fichier volumineux s'appelle "artist.ogg". Voici la commande que j'ai utilisée:

mp3splt -s -p th = -40 artiste.ogg

Cela a abouti à la séparation correcte de 34 chansons, chacune nommée en série comme artist_silence_01.ogg -xx.ogg etc.

Encore une fois, si vous avez trop de divisions, essayez "th = -48". Si trop peu, essayez "th = -36".

À partir de ces fichiers de sortie, vous devez maintenant les renommer en titres de chansons et ajouter des étiquettes aux propriétés du fichier. [Je ne connais aucune macro pour cela, donc cela doit être un processus manuel].

J'espère que cela t'aides.

mettre à jour PS. Jusqu'à présent, mp3splt fonctionne pour les fichiers mp3 et ogg. Je n'ai pas encore de succès pour les fichiers m4a.

rob grune
la source
2

Je peux recommander mp3DirectCut . Effectue une conversion sans perte et fonctionne correctement sous Wine:

Capture d'écran

ejboy
la source
1

La réponse suivante au dépassement de pile est probablement pertinente:

https://stackoverflow.com/questions/36074224/how-to-split-video-or-audio-by-silent-parts

En résumant cette réponse, vous pouvez utiliser ffmpeg pour identifier les régions silencieuses:

ffmpeg -i "input.mov" -af silencedetect=noise=-30dB,d=0.5 -f null - 2> vol.txt

Et divisez ensuite les fichiers en utilisant la recette d'Adobe:

ffmpeg -i InputFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 OutputFile

Cela nécessitera un peu d'analyse de votre part

Att Righ
la source
0

J'ai obtenu des résultats de qualité (bien que pas complètement automatiques) avec Audacity + mp3splt.

Si vous n'avez pas de fichier .cueou de .cddbfichier avec des limites de morceaux (par exemple, ce n'est pas un album reconnu), vous pouvez:

  1. Étiquetez manuellement la piste dans Audacity comme expliqué dans son manuel , probablement aidée par la détection automatique de silence précédente (avec Analyse> Silence Finder…, voir ici ) pour une première estimation des pauses notoires.
  2. Exportez les étiquettes (avec Fichier> Exporter les étiquettes…, voir ici ) dans un simple fichier texte, et
  3. Chargez le fichier .txt dans mp3splt sous option -A(as mp3splt -A labels.txt Album.mp3).

Il va rapidement (sans décodage ni réencodage) générer un fichier pour chaque segment en utilisant chaque nom de label comme nom de fichier.

Veillez simplement à utiliser des étiquettes de région (et non des étiquettes de point , voir ici ) pour marquer le début et la fin de chaque chanson dans Audacity.

FairMiles
la source