1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| vector<int> amplitudes(QString Filename)
{
// Ouverture du fichier audio avec libsndfile
SF_INFO FileInfos;
SNDFILE* File = sf_open(Filename.toStdString().c_str(), SFM_READ, &FileInfos);
// Lecture du nombre d'échantillons et du taux d'échantillonnage (nombre d'échantillons à lire par seconde)
int NbSamples = FileInfos.channels * FileInfos.frames;
int SampleRate = FileInfos.samplerate;
// Lecture des échantillons audio au format entier 16 bits signé (le plus commun)
vector<int> Samples(NbSamples);
sf_read_int(File, &Samples[0], NbSamples) < NbSamples;
// Fermeture du fichier
sf_close(File);
return Samples;
} |