This should do it (I hope I got the braces right ):
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
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'.
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT DEBIAN
pytags
PYTAGS(1) [FIXME: manual] PYTAGS(1)NAME
pytags - set and remove tags on media files from filename and options
SYNOPSIS
pytags [OPTIONS] file [file...]
DESCRIPTION
pytags is a simple, general-purpose tool for setting and removing media file tags. With no options, pytags prints a tag summary for all
files specified on the command line. Options can be used to set and remove tags on files.
Using --format, it is easy to change or create tags on by parsing metadata from filenames according to an arbitrary format string. This
makes it simple to tag files that are consistently named.
Additionally, tags can be manipulated directly with the --add, --set, and --remove options. These options are processed in order, so
options specified later on the command-line may cause values set by earlier options to be overwritten. These options must appear after the
--format, if it is used.
OPTIONS --add=EXPR
Append a tag value all files according to EXPR. EXPR should be an expression like "artist=Foo". May be specified multiple times to add
multiple values.
--format=FORMAT
Tag files with metadata extrapolated from filenames using format string FORMAT; see the section called "FORMAT STRINGS". This option
must be specified before --add, --set, or --remove.
--set=EXPR
Set a single tag on all files according to EXPR. EXPR should be an expression like "artist=Foo". May be specified multiple times to set
multiple tags. --set cannot be used to specify multiple values for a single tag. To do that, use --remove followed by multiple --add
options.
--remove=TAG
Remove tags named TAG. May be specified more than once to remove multiple tags.
-h, --help
Show summary of options and exit.
-v, --version
Show version of program and exit.
FORMAT STRINGS
The format string expected by --format is the same as that for pytagsfs. See the pytagsfs manual page for more information.
EXAMPLES
Remove the genre tag from all .ogg files in the current directory.
$ pytags --remove genre *.ogg
Set the artist and album tag on all .mp3 files, and remove the genre tag.
$ pytags --set artist=Foo --set album=Bar --remove genre *.mp3
Tag all of the .flac files in the current directory. All such files are assumed to be in the format "tracknum artist - trackname
[album].flac".
$ pytags --format '%n %a - %t [%l].flac' *.flac
BUGS
Please report bugs on launchpad at http://launchpad.net/products/pytagsfs/+bugs.
pytags relies on mutagen (the underlying Python tags library) to choose an appropriate tag format for the files being tagged. This cannot
currently be overridden.
SEE ALSO pytagsfs(1)AUTHOR
Forest Bond
Author.
COPYRIGHT
Copyright (C) 2007, 2008, 2009
[FIXME: source] 2009-12-04 PYTAGS(1)