Newsgroup: it.comp.lang.visual-basic
Titolo: Split mp3

Salve a tutti.
Sto cercando di fare un programmino che prenda i tempi da freedb di un cd e
splitti un eventuale file unico mp3 poi scriva i tag con titoli, ecc...
Per la lettura del db non ho problemi, i tag li ho scritti, ma non riesco a
trovare il modo di calcolare la dimensione del file da splittare avendo la
durata.
In pratica quanti byte di un file devo prendere per fare 1 secondo?
Grazie a tutti.
Ciao,
Roberto

Dipende dall'mp3. Esiste un parametro nelle canzoni che ascoli... il famoso
Kbps ovvero... KiloBitPerSecond....
Un valore classico è 128Kbps... per cui...
Canzone di De André - Le Passanti (Spettacolare davvero, sentitela!)
Durata: 3 min 49 secondi = 229 secondi
128 Kbps
TEORIA:
128*1024 bit as secondo ==>  128*1024*229=30015488  bit per tutta la canzone
che dura 229 ==> 30015488/8 = 3751936 byte
Dunque abbiamo 3,751,936 Byte
PRATICA:
La canzone occupa esattamente 3,673,685.
Come vedi è un parametro piuttosto corretto... però non esattissimo. La
stima migliora se usi il K come 1000 anziché 1024 :o)))
Buona giornata
--
Antonio Cangiano
Webmaster di 
www.visualcsharp.it
Fondatore di free.it.comp.lang.csharp

Mi dispiace, ma questo non è corretto, perchè, come dici tu, il file
dovrebbe essere completamente occupato dai dati della canzone, mentre non è
cosi.
C'è un heder del file di una certa dimensione e poi ci sono i Tag, che
portano via lo spazio.
E poi c'è il problema del bitrate, che non è assolutamente certo che sia
costante, se si trattasse di un fille VBR (variable BitRate) il tuo discorso
cadrebbe.
Altro problema è che lui vuole splittare il file e quindi riscrivere molti
altri file mp3, quindi dovrebbe ricostruire la struttura del file.
A questo punto il mio consiglio è quello di convertire il file mp3 in Wave
(porta via molto spazio , lo so) e quindi, visto che il wave corrisponde
_quasi_ al bitmap del suono, c'è una corrispondenza univoca tra posizione in
Byte e Posizione in secondi e oltretutto è molto piu facile ricreare un file
wave, anche da vb. Poi ti appoggi su encoder free (lame e simili) e riencodi
ogni file wave. E' un po macchinoso, però sei certo del risultato, sia che
siano file VBR, CBR.
Bye
Teo

Un'osservazione: una conversione WAV->MP3 perde, anche se di poco, in
qualità.
"Teo" <teo79T...@interfree.itTOGLIMI> wrote in message
news:c8s19.156519$vm5.5...@news2.tin.it...



[SNIP]
Altra osservazione: una conversione WAV -> MP3 perde, e non pochi, MegaBytes
--
Ciao
   Sharkman
-----------------------------
Rimuovere NOSPAM per risposte

 wrote in message
news:fix19.17868$n04.5...@twister2.libero.it...


 Tutto chiaro??
[CUT]
Non vorrei sbagliarmi ma per slittare un file non è necessario convertirlo,
difatti esistono programmi freeware che eseguono split per ogni tipo di
file. Quindi non capisco la necessità delle conversioni...
P.S. = Il quoting....


 wrote in message
news:EFM19.20574$n04.5...@twister2.libero.it...


 Scusa, cosa intendi con quel PS = il quoting?
[CUT]
A parte che non sono io che lo voglio fare e comunque se anche fossi io la
mia obiezione non era volta al fatto di usare un programma di altri ma
voleva semplicemente chiarire che non è necessario effettuare conversioni di
formato per splittare il file come hai detto tu da MP3->Wav e viceversa. Un
file MP3 è splitabile così com'è e non necessita di conversioni.
Il PS erar riferito al tuo metodo di quotare, ovvero le risposte vanno
scritte dopo il testo originario (ma è solo un esempio, ci sono anche tante
altre regole per il quoting che ti consiglio di leggere).
