|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
come vengono rappresentati i file wav?
sto cercando di fare un codec audio, vorrei prima riuscire a capire come vengono rappresentati i file wav.
so che vengono campionati a 44 khz/sec con risoluzione a 16 bit, ecco quali informazioni vengono scritte all'interno del file wav?
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Conegliano (Treviso)
Messaggi: 1009
|
__________________
Non ho paura di nulla, non temo nessuno. Avete ragione, certo, non so ancora chi saranno i miei nemici. Ma so molto bene chi sono io!!! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
grazie ho capito alcune cose, l'unica cosa che mi resta da capire è quale informazione venga codificata a 16bit!
da quello che ho capito funziona cosi, la campionatura avviene 44100 volte al sec, x ogni campione viene memorizzata l'ampiezza del segnale audio! ecco dovrebbe essere l'ampiezza che viene codificata a 16 bit!
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
up
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2001
Città: Gavirate (Varese)
Messaggi: 7168
|
Quote:
l'ordinata (y) è il valore sample con fondo scala (in questo caso) di 16 bit, ovvero 65535
__________________
·.·´¯`·)»Davide«(·´¯`·.· edivad82:~#/etc/init.d/brain restart - edivad82:~# cd /pub && more beer |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
ciao, ok ho capito, il problema è che quando vado a leggere un file wav con un programmino fatto da me in c, mi trova dei numeri che superano di gran lunga i 65535, cioè il numero max rappresentabile con un intero a 16 bit!
è questo che nn riesco a capire!
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Aug 2003
Città: Legnano (MI)
Messaggi: 4901
|
Quote:
perché, a meno ché non sia in formato raw pcm, immagino che il wav avrà un header. btw, ogni numero a 16bit rappresenta il valore istantaneo della pressione acustica (sì, proprio la pressione dell'aria, perché come sai le onde sonore si propagano tramite vibrazioni nell'aria e quindi variazioni della pressione.) |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
dovrebbero essere in formato pcm! allora io leggo 2 byte alla volta, aspetta gli headers cosa sarebbero?
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
sono in formato wav, quindi ci sono gli headers, come faccio ad escludere tutti i byte che riguardano gli headers e a tenere i byte che codificano l'audio?
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Legnano (MI)
Messaggi: 4901
|
l'header è la testata, la parte dove c'è descritto il file, nel sito
http://mariottim.interfree.it/doc12b_i.htm viene spiegato a puntino. praticamente dovresti leggerti byte per byte i primi tot bytes, interpretarli (magari mettere un controllo per esser sicuro si tratti di un wav), e arrivato alla parte data potresti leggere due bytes alla volta per trarne un valore. come farlo praticamente non lo so, non tocco il c / c++ da tantissimo....... |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Mar 2002
Messaggi: 2438
|
ti ringrazio mi metto al lavoro, programmare nn è un prob sono un programmatore in c++, il programmino è già fatto, solo devo interpretare i byte che leggo dal file wav!
cmq ti ringrazio mi metto all'opera.
__________________
ho trattato con: Tandoi1, ziodamerica, enrico84, peppecbr, crl, M@t |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:54.



















