|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Feb 2003
Città: genova
Messaggi: 130
|
gestione audio in c++
qualcuno mi può dare qualche indicazione?
non mi interessa riprodurre audio, vorrei invece ottenere ad esempio le linee di picco, per elaborazioni successive grazie ciao |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
Re: gestione audio in c++
Quote:
non ho capito se intendi leggere dal file picchi massimi e minimi!!! cmq, non è molto difficile |
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2003
Città: genova
Messaggi: 130
|
si, mi servono solo i picchi...
hai un link da darmi? grazie |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
http://people.msoe.edu/~taylor/examples/wav.xml
|
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Feb 2003
Città: genova
Messaggi: 130
|
grazie mille, ora lo guardo
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
tieni presente che una volta definite le strutture è abbastanza facile leggere i dati di un file WAV
il significato dei membri delle strutture lo trovi sul win32 SDK struct intestazione { char riff[4]; DWORD filesize; char rifftype[4]; } RiffHeader; struct identif_chunck{ char chunk_id[4]; DWORD chuncksize; } Chunck; struct resto{ WORD wFormatTag; WORD nChannels; DWORD nSamplesPerSec; DWORD nAvgBytesPerSec; WORD nBlockAlign; WORD wBitsPerSample; } WAVEFORMAT; struct dati_del_wav { char chunck_data[4]; DWORD nc; } intdati; aperto il file: fp = fopen("miowav.wav"rb"); if(!fp) return; Codice:
fread(&RiffHeader,sizeof(RiffHeader),1,fp); fread(&Chunck,sizeof(Chunck),1,fp); fread(&WAVEFORMAT,sizeof(WAVEFORMAT),1,fp); fread(&intdati,sizeof(intdati),1,fp); Codice:
for(i=0; i<intdati.nc/4; i++){
fread(&left,sizeof(left),1,fp); // canale sx
fread(&right,sizeof(right),1,fp); // canale dx
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:43.



















