GNU/Linux >> Tutoriales Linux >  >> Linux

Herramienta de línea de comandos para identificar especificaciones de archivos de audio

En OS X, puede usar mdls o 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'


Para una salida fácil de analizar, pruebe ffprobe -show_format 2>/dev/null de FFmpeg.

En OS X, puede instalarlo a través de Homebrew a través de brew install ffmpeg .

$ ffprobe *.mp3 -show_format 2>/dev/null
[FORMAT]
filename=02. Salvadoro Dali.mp3
nb_streams=2
format_name=mp3
format_long_name=MPEG audio layer 2/3
start_time=0.000000
duration=300.254667
size=7206112
bit_rate=191999
TAG:title=Salvadoro Dali
TAG:artist=Siela
TAG:track=2/10
TAG:album=Dali
TAG:date=2005
TAG:genre=Gothic rock
TAG:replaygain_album_peak=1.188815
TAG:replaygain_track_peak=1.178607
TAG:replaygain_track_gain=-9.00 dB
TAG:replaygain_album_gain=-9.12 dB
TAG:album_artist=Siela
[/FORMAT]

En un guión:

find -iname '*.mp3' | while read -r file; do
    bitrate=$(ffprobe "$file" -show_format 2>/dev/null |
              awk -F"=" '$1 == "bit_rate" {print $2}')
    if (( bitrate <= 128000 )); then
        echo "[$bitrate] $file"
    fi
done

EDITAR:acabo de encontrar un programa de Linux

Bajo Linux, mp3info:

mp3info -p "%Q %L %v %o %r" test.mp3
output:
48000 III 1.000000 joint stereo

Sé que quieres una solución Linux; sin embargo, por la forma en que planteó su pregunta, parece que una solución de Windows no está completamente descartada...

Bajo Windows, tag.exe hará el trabajo.

Ejemplo:

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

Para obtener solo la tasa de bits:

C:\mp3>tag.exe "test.mp3" 2>&1 | findstr /i "Details:"
Details: 44100 Hz Stereo, 128 kbps, playtime 05:24

Linux
  1. ejecutando un comando contra cada línea en un archivo de texto

  2. Comando Stat de Unix:cómo identificar atributos de archivo

  3. Ver archivo tabular como CSV desde la línea de comando

  4. Importación de PostgreSQL CSV desde la línea de comando

  5. Alternativa a la línea de comandos SSH de Ubuntu

Comando Diff en Linux con ejemplos

Copie un archivo a varios directorios desde la línea de comandos en Linux

Ver el contenido de un archivo en la línea de comandos de Linux

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

¿Reproductores de audio de línea de comandos?

5 comandos para ver el contenido de un archivo en la línea de comandos de Linux