Sponsored Content
Top Forums UNIX for Dummies Questions & Answers How to find untagged audio files? Post 302482153 by MrZehl on Monday 20th of December 2010 05:40:58 PM
Old 12-20-2010
Quote:
Originally Posted by radoulov
This should do it (I hope I got the braces right Smilie):
Code:
find -iname '*.mp3' -exec id3 -Rl {} + |
  awk -F: '/filename: / {
    if (f) print fn
    fn = $2; f = x
    }
    /^(((title|a(rtist|lbum)): *(|unknown|track.*))|track:) *$/ {
      f++
      }
    END {  
      if (f) print fn
      }' IGNORECASE=1

Could you post an example output from metaflac at least for two files: one to be printed and another one to be skipped?

---------- Post updated at 11:26 PM ---------- Previous update was at 11:20 PM ----------

Given your metaflac example above, the filename seem to be missing in the output, this means that we should process the files one by one, in order to get the name ...
This doesn't work yet. This is the output of a mp3 that should be detected, since the tracknumber isn't filled:
Code:
$ id3 -Rl alex\ roeka\ -\ 1999\ \ -\ wildernis/04\ -\ Alex\ Roeka\ -\ Help\ me\,\ ik\ ben\ echt.mp3 

Filename: alex roeka - 1999  - wildernis/04 - Alex Roeka - Help me, ik ben echt.mp3
Title: Help Me, Ik Ben Echt          
Artist: Alex Roeka                    
Album: Wildernis                     
Year:     
Genre: Other (12)
Comment: Het~Nachtdier

This FLAC is ok:
Code:
$ metaflac --export-tags-to=- 06.\ Diseases\ of\ The\ Band.flac 
ARTIST=Frank Zappa
TITLE=Diseases of The Band
ALBUM=You Can't Do That On Stage Anymore, Vol. 1, Disc 1
DATE=1988
TRACKNUMBER=06
GENRE=Rock
COMMENT=Track 6

These FLAC's are not ok:
Code:
$ metaflac --export-tags-to=- 01.\ The\ Florida\ Airport\ Tape.flac 
ARTIST=Frank Zappa
$ metaflac --export-tags-to=- 02.\ Once\ Upon\ A\ Time.flac 
$ metaflac --export-tags-to=- 03.\ Sofa\ #1.flac 
TITLE=track 1
ARTIST=Frank Zappa
ALBUM=You Can't Do That On Stage Anymore, Vol. 1, Disc 1
DATE=1988
TRACKNUMBER=03
GENRE=Rock
DESCRIPTION=Track 3
COMMENT=Track 3

From track 1 only the artist is filled. Title, album and tracknumber are missing.
From track2 none of the tags is filled, so nothing is returned
Track 3 is titled 'track 1'.
 

7 More Discussions You Might Find Interesting

1. Programming

Playing Audio files in C

Hi All, Looking for an assistance on how to access the speakers of my machine and play audio files using C. Any tutorials will be of great help. Regards, Sayantan. (1 Reply)
Discussion started by: Sayantan
1 Replies

2. UNIX for Dummies Questions & Answers

Find Audio Files With Specific Bandwidth?

Hi, I would like to write a shell script that will: -search the files of a specific user to find any audio files with a bandwidth iqual or greater than 192 kps - on the results i should see the file name along with all the whole file route and each file's size So I guess i should be using... (1 Reply)
Discussion started by: ubu-user
1 Replies

3. Shell Programming and Scripting

Script to list files not present in audio.txt file

I am having following folder structure. /root/audios/pop /root/audios/jazz /root/audios/rock Inside those pop, jazz, rock folders there are following files, p1.ul, p2.ul, p3.ul, j1.ul, j2.ul, j3.ul, r1.ul, r2.ul, r3.ul And I have a file named as "audio.txt" in the path /root/audios,... (11 Replies)
Discussion started by: gopikrish81
11 Replies

4. Shell Programming and Scripting

Manipulating audio files server side

Hi All, I have next to zero knowledge on what I am about to ask so I will just ask it in plain English :) I am wondering how best to go about manipulating audio files server side. The manipulations required are join files one after the other, eg, audio1 + audio2 + audio3 + audio4 = audio5 ... (0 Replies)
Discussion started by: linuxgoat
0 Replies

5. Slackware

Problems with audio recording in Audacity 2.0.5. Slackware64 14.1; Intel HD Audio.

I'm trying to record audio using Audacity 2.0.5 installed from SlackBuilds. My system is 64-bit Slackware 14.1 and a sound card is Intel HD Audio. I didn't change my sound system to OSS. (Default sound system in Slackware 14.1 is ALSA, isn't it?) First, I set Internal Microphone slider in KMix... (2 Replies)
Discussion started by: qzxcvbnm
2 Replies

6. UNIX for Dummies Questions & Answers

Remove untagged and junk data from an XML

Hi All , I have seen a lot of code samples which suggest how to remove the junk data from and XML , I need a code in unix which removes the junk characters as well as the valid characters those are not in XML tags , for example my XML is as follows : <?xml version="1.0"... (6 Replies)
Discussion started by: IshuGupta
6 Replies

7. Shell Programming and Scripting

Need a script for automation the convert a lot number audio files to another format

I have a lot number audio files in the MP3 proprietary format, I want to convert them to 'opus' the free and higher quality format, with keep metadata also. My selection command-line programs are SoX (Sound eXchange) for convert MP3 files to 'AIFF' format in order to keep quality and metadata*... (1 Reply)
Discussion started by: temp-usr
1 Replies
tagmp3(1)							    User manual 							 tagmp3(1)

NAME
tagmp3 - manipulate ID3v1 tags SYNOPSIS
tagmp3 [ -n ] mode [ format ] [ file ] ... DESCRIPTION
tagmp3 allows you to set and remove ID3v1 tags from mp3 files. Additionaly move mode can be used to move mp3 files according to their ID3v1 tag. An ID3v1 tag is a chunk of extra informations such as artist name, album and genre. ID3v1 tags are displayed by most mp3 players. MODE
show show file's ID3v1 tag. set sets file's ID3v1 tag according to format. move move file to a destination based on FORMAT. del remove file's ID3v1 tag if any. list displays numeric music genres along with their meaning. -h print a (not so) short help message. -v print version and exit. OPTIONS
-n Show what will be done, don't alter any file. FORMAT STRING
The format string is a character string composed of zero or more directives: ordinary characters (not %), which are not interpreted and conversion specifications, each of which results in the corresponding ID3v1 tag field substitution. Each conversion specification is introduced by the character %. The following lines describes each conversion specification along with its associated ID3v1 field. Special sequence %% is substituted with a single %. %A Artist Name %a Album Name %t Song Title %T Track Number %y Year %g Genre %c Comments format string for set mode For set mode the format string is a list of ID3v1 fields followed by a ':' (next chars are the field value) or a '?' (ask user for field value) example: tagmp3 set "%A:Pink Floyd %a:The Wall %t? %T?" *.mp3 For each mp3 of this directory, sets the artist name to Pink Floyd and the album to The Wall. For each file ask for the title and the track number. Leave the other fields untouched. Be aware that genre field require a numeric value. Known genres can be dis- played with the list mode. format string for move mode The format string is the destination path where each field identifier is substituted with the tag value. example: tagmp3 move "/home/foo/mp3/%A/%a/%T-%t.mp3" *.mp3 with the set example above will move all mp3 to "/home/foo/mp3/Pink Floyd/The Wall/{track}-{title}.mp3" If you prefer the "flat" naming scheme, you will use something like tagmp3 move "%A-%t.mp3" *.mp3 NOTES
move mode never overwrite files. move mode creates intermediate directories specified in the format string. Each directory creation is to be confirmed by the user. ID3v2 tags are not supported so far. If a file can't be moved ( wrong file type, ID3v1 tag absent or blank field , ...) then it is left untouched. Fake mp3 (i.e. Wave file with .mp3 extension) are moved into "fake-mp3/" directory in move mode. set mode refuses to tag them since this would add noisy artifact at the end of the song. BUGS
Plenty of :) For move mode, source and destination must reside on the same file system / partition. AUTHOR
Laurent Alacoque <laureck@users.sourceforge.net> CopyLeft 2001 Bugs, patch, infos, new releases, girls, money go to : http://mpgtx.sourceforge.net/ Linux APRIL 2001 tagmp3(1)
All times are GMT -4. The time now is 10:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy