Je recherche un fichier audio équivalent à ImageMagick's Identify Commande.
Par exemple, avec identify
, je peux avoir une brève information sur un tas d'images:
% identify b*
banner1.jpg JPEG 134x614 134x614+0+0 8-bit DirectClass 38.4kb
banner.jpg[1] JPEG 772x307 772x307+0+0 8-bit DirectClass 37.5kb
bg2.jpg[2] JPEG 103x1500 103x1500+0+0 8-bit DirectClass 43kb
bg_control_nav.png[3] PNG 13x39 13x39+0+0 8-bit DirectClass 1.73kb
bg_direction_nav.png[4] PNG 104x52 104x52+0+0 8-bit DirectClass 3.3kb
J'aimerais obtenir des informations similaires sur mes fichiers audio.
Mon objectif éventuel est de créer un script pour traverser toute ma bibliothèque MP3 et d'identifier ceux déchirés dans des débits plus bas, puis utilisez ces données pour rier mon CDS (ou acheter des versions de meilleure qualité depuis Amazon ou iTunes).
Solutions pour OS X/Linux préférées aux solutions Windows
Sur OS X, vous pourriez simplement utiliser mdls
ou mdfind
.
$ mdls 01\ Kindred.mp3
kMDItemAlbum = "Kindred EP"
kMDItemAudioBitRate = 320000
kMDItemAudioChannelCount = 2
kMDItemAudioSampleRate = 44100
kMDItemAudioTrackNumber = 1
kMDItemAuthors = (
Burial
)
kMDItemComment = "HDB059"
kMDItemContentCreationDate = 2012-03-19 21:20:59 +0000
kMDItemContentModificationDate = 2012-06-04 16:07:09 +0000
kMDItemContentType = "public.mp3"
kMDItemContentTypeTree = (
"public.mp3",
"public.audio",
"public.audiovisual-content",
"public.data",
"public.item",
"public.content"
)
kMDItemDateAdded = 2012-04-02 19:49:07 +0000
kMDItemDisplayName = "01 Kindred.mp3"
kMDItemDurationSeconds = 686.08
kMDItemFSContentChangeDate = 2012-06-04 16:07:09 +0000
kMDItemFSCreationDate = 2012-03-19 21:20:59 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = 0
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = 0
kMDItemFSLabel = 0
kMDItemFSName = "01 Kindred.mp3"
kMDItemFSNodeCount = 27457838
kMDItemFSOwnerGroupID = 20
kMDItemFSOwnerUserID = 501
kMDItemFSSize = 27457838
kMDItemFSTypeCode = ""
kMDItemKind = "MP3 audio"
kMDItemLogicalSize = 27457838
kMDItemMediaTypes = (
Sound
)
kMDItemMusicalGenre = "Dubstep"
kMDItemPhysicalSize = 27459584
kMDItemRecordingYear = 2012
kMDItemTitle = "Kindred"
kMDItemTotalBitRate = 320000
mdfind -onlyin ~/Music 'kMDItemFSName==*.mp3&&kMDItemAudioBitRate<=192000'
Edit: Il suffit de trouver un programme Linux
Sous Linux, mp3Info :
mp3info -p "%Q %L %v %o %r" test.mp3
output:
48000 III 1.000000 joint stereo
Je sais que vous voulez une solution Linux; Cependant, par la façon dont vous avez indiqué votre question, cela ressemble à une solution Windows n'est pas complètement sorti ...
Sous Windows, tag.exe fera le travail.
Exemple:
C:\mp3>tag.exe "test.mp3"
Tag - Automatic Tag from filename
Copyright (c) 2002-2003 Case. Minor additions by Neil Popham, 2004-2007
Version 2.0.52, Compiled 2007-05-04
C:\dl\test.mp3
Format: MPEG 1 Layer 3, Joint Stereo
Details: 44100 Hz Stereo, 128 kbps, playtime 05:24
Tag: ID3v2
Pour simplement obtenir le débit:
C:\mp3>tag.exe "test.mp3" 2>&1 | findstr /i "Details:"
Details: 44100 Hz Stereo, 128 kbps, playtime 05:24
Un utilitaire très simple est SOX
Le mien était préalable sur le système Linux.
soxi auidofile.wav
Sortir :
Input File : 'Yvette_Audin_F_70_7e.wav154.wav'
Channels : 2
Sample Rate : 44100
Precision : 24-bit
Duration : 00:00:10.01 = 441254 samples = 750.432 CDDA sectors
File Size : 2.65M
Bit Rate : 2.12M
Sample Encoding: 24-bit Signed Integer PCM
quelque chose de très utile à ce sujet était qu'il m'a permis de convertir une chaîne stéréo à 2 canaux en mono. J'avais besoin de former un modèle d'apprentissage de la machine pour les fichiers audio.
Modifier: Méthode plus facile Conversion 2 canaux audio au signal mono :
from pydub import AudioSegment
song = AudioSegment.from_wav("01.wav")
song = song.set_channels(1)
song.export("01.wav", format='wav')
FFProbe est votre ami (vous pouvez également utiliser AVCONV, MPLayer; toutes les informations de retour du support, mais FFProbe retourne simplement les informations dont vous avez besoin)
Avec flux:
ffprobe http://96.127.183.74:8604/live
Retour
...
Stream #0:0: Audio: aac (HE-AACv2), 44100 Hz, stereo, fltp, 31 kb/s
Avec fichier local:
ffprobe some_file.mp3
Retour
...
encoder : LAME 64bits version 3.99.5
...
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 320 kb/s