Newsgroup: it.comp.os.linux.software
Titolo: Lunghezza brani .mp3

Sto' cercando un  modo per ricavare la lunghezza  (Minuti:Secondi) di un
brano MP3.  Il fidato mpg123 non  sembra essere in grado  di farlo senza
aver prima "playato" il brano, freeamp meglio non parlarne, ...
Qualche   buon   consiglio   ?   Ah,  il   tutto   dovrebbe   essere
automatizzabile per migliaia, milioni, fantamiliardi di brani MP3 :)
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

 automatizzabile per migliaia, milioni, fantamiliardi di brani MP3 :)
Metti tutti gli mp3 in una stessa directory, modifica $mp3dir nello
script qui sotto e lancialo! Ah, ti serve il pacchetto
libmpeg-mp3info-perl (
http://www.perl.com/CPAN/modules/by-module/MPEG/
),
una decina di K non di più (e in debian c'è):
-------------------------------------------------------------------------
#!/usr/bin/perl
use MPEG::MP3Info;
$mp3dir = '/home/giambo/mp3';     ## MODIFICA!!! ##
opendir (DIR, $mp3dir);
@files=readdir DIR;
closedir DIR ;
shift(@files);
shift(@files);
foreach $file (@files) {
        if ($file =~ /.mp3/i) {
                my $info = get_mp3info("$mp3dir/$file");
		# Qui sotto iniziano le sporcherie! ;-)
                if ($info->{SS} =~ /\d{2}/ ) {
                        printf "$file --> %d:%d\n", $info->{MM}, $info->{SS};
                } elsif ($info->{SS} =~ /\d{1}/) {
                        printf "$file --> %d:0%d\n", $info->{MM}, $info->{SS};
                }
        }
}
---------------------------------------------------------------------------
Un po' (troppo!) sporco ma funziona!
Ciao
-- 
echo f 0:0 ffff 0 | debug
La leggerezza del VOLER essere ....

 automatizzabile per migliaia, milioni, fantamiliardi di brani MP3 :)
mp3info
se usi debian:
apt-get install mp3info
poi leggi la documentazione, e puoi crearti anche dei
formati di visualizzazione
Altro strumento utlie: mp3asm, che tenta di correggere mp3
bacati. Funziona... 
-- 
	     .
 ____      _ |   UIN:82766812  
|_\|_)  /o( -*-. Fiat500Web: 
http://www.poli.studenti.to.it/~f.sirna
 
|  \ \|\||_) |   mailto: farnis(at)libero(dot)it 
------------ .   On a 486DX/133 with Linux Debian 2.2 (Woody)

 automatizzabile per migliaia, milioni, fantamiliardi di brani MP3 :)
Vedi se questo soddisfa le tue esigenze :-)
-----------------------------------------------------------------------
#!/bin/sh
# Mostra la durata di in file mp3 - Giambo version :-)
BITRATE=$(echo `file "$1"` | cut -d":" -f2 | awk '{print $2}')
SEC=$(echo $(ls -l "$1" | awk '{print $5}') \* 8 / 1024 / $BITRATE | bc)
# <sporco trucco>
SEC=$[$SEC + 5]
# </sporco trucco>
MIN=$[$SEC / 60]
echo $1: $MIN.$[$SEC-$MIN*60]
-----------------------------------------------------------------------
E' un po' casareccio, non funziona con mp3 a bitrate variabile (presumo)
e ho dovuto usare il trucco dei 5 secondi. Ho provato un po' di mp3 e
confrontandolo con le durate di xmms sembra che tutto torni ;-)
Lascio a te controllare l'esistenza del parametro e se e' veramente un
mp3. 
-- 
Fabio   fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
 
"But what...is it good for?"
--Engineer at the Advanced Computing Systems Division of IBM commenting on 
  the microchip, 1968.

Vedi se questo soddisfa le tue esigenze :-)
Interessante.  Molto   interessante.  Arrivato  un   pochino  tardi,
putroppo: Lo script e' gia' in produzione e si appoggia mp3info.
Di sicuro la tua idea (GPL ?) verra' integrata in script2.0 :-) 
Cavolo, proprio non ci ero arrivato di utilizzare "file" per carpire
informazioni sul file ... Grazie mille !


 informazioni sul file ... Grazie mille !
Forse usando dd per leggere il byte del bitrate degli mp3 renderebbe il
tutto piu' veloce... Provero' :)
-- 
Fabio   fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
 
What happens if a big asteroid hits the Earth?  Judging from realistic
simulations involving a sledge hammer and a common laboratory frog, we
can assume it will be pretty bad.  -- Dave Barry

tutto piu' veloce... Provero' :)
Hmmmm, mi stimoli la mente :-) ...
Ah, il tuo  "sporco trucco" dei 5 secondi non  e' una regola fissa: 
Ho notato  che certi brani volgiono  un +6 secondi (Quasi  tutti) e 
certi pure un +7 secondi. Stavo  pensando di fare uno scriptino che 
mi  ricompatti tutti  i brani  dopo averli  "scompattati" in  .wav, 
cosi' da  poter eliminare  del "Junk" rilevato  da mpg123:  Cosa mi 
consigli come "compattatore" ? Per  ora uso bladeenc, c'e' qualcosa 
di meglio dal punto di vista prestazioni/qualita' ?                 


di meglio dal punto di vista prestazioni/qualita' ?                 
Qualitativamente lame é ottimo, ed é pure facile da compilare come libreria,
e per usarlo bastano 3 funzioni e un include. Ottimo.
Se vuoi maggiori prestazioni puoi usare gogo che però gira solo su i386. E
nel makefile non ho visto target per libreria. Inoltre non c'é
documentazione per le eventuali API.
--
  	Giuseppe "Cowo" Corbelli  -->>  Riding on Linux-2.2.14
    **ANTI-SPAM** -- **Substitute IHATESPAM with cowo to reply by mail**
  -<! Adding features does not necessarily increase functionality -- it just
		makes the manuals thicker. !>-

 di meglio dal punto di vista prestazioni/qualita' ?                 
Concordo con quello che ha scritto Giuseppe (scusa per il ritardo). 
Io uso gogo.
-- 
Fabio   fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
 
The UNIX Guru's View of Sex:
# unzip ; strip ; touch ; finger ; mount ; fsck ; more ; yes ; umount; sleep

Giambo <gia...@no.spam.please> wrote:
[...]
Dimenticavo: su 
www.wotsit.com
(org?) puoi trovare la struttura degli
header degli mp3, in caso ti servisse. (Solo quello purtoppo :-( ).
-- 
Fabio   fabio161616(at)
libero.it
 blackmagic(at)
penguinpowered.com
 
Q:  How did you get into artificial intelligence?
A:  Seemed logical -- I didn't have any real intelligence.