lire un wav avec libsndfile // lecture par bloc
Pour faire du traitement par lot sur un .wav, j'utilise libsndfile et je "read" par partie les données du fichiers, 16bit PCM Wav
J'ai un message d'erreur
Citation:
Soundlab has exited due to signal 11 (SIGSEGV).
quand j'utilise sf_readf sur un trop grand nombre de samples.
Ca marche
Code:
1 2 3 4 5 6
|
sf_count_t X;
int frames=FileInfos.frames;
vector<float> valuesample(frames);
X = sf_readf_float(filex, &valuesample[0], 100) |
Ca marche plus :
Code:
1 2 3 4 5 6
|
sf_count_t X;
int frames=FileInfos.frames;
vector<float> valuesample(frames);
X = sf_readf_float(filex, &valuesample[0], frames) |
J'ai essayé la même chose par lots/blocs :
Code:
1 2 3 4 5 6 7 8 9 10 11
| //// read content
sf_count_t X;
int frames=FileInfos.frames;
vector<float> valuesample(frames);
int sizebloc = 8600;
int i=0;
while(i<frames){
X = sf_readf_float(filex, &valuesample[i], sizebloc) ;
i+=sizebloc;
} |
Même message du a un Segmentation fault
Qu'est ce qui peut causer ca ?
Merci