L'analyse de wav et le dessin graphique

Je suis en train d'imprimer une onde à partir d'un fichier wav,
mais je suis un peu perdu sur la façon dont la longueur je dois le prendre pour un échantillon.

c'est ce que j'aimerais obtenir (sans les couleurs):
L'analyse de wav et le dessin graphique

donc de la lecture dans mes données j'utilise le code suivant:

//first we need to read our wav file, so we can get our info:
byte[] wav = File.ReadAllBytes(filename);

//then we are going to get our file's info
info.NumChannnels = wav[22];
info.SampleRate = bytesToInt(wav[24], wav[25]);

//nr of samples is the length - the 44 bytes that where needed for the offset
int samples = (wav.Length - 44) / 2;

//if there are 2 channels, we need to devide the nr of sample in 2
if (info.NumChannnels == 2) samples /= 2;

//create the array
leftChannel = new List<float>();
if (info.NumChannnels == 2) rightChannel = new List<float>();
else rightChannel = null;

int pos = 44; //start of data chunk
for (int i = 0; i < samples; i++) {
    leftChannel.Add(bytesToFloat(wav[pos], wav[pos + 1]));
    pos += 2;
    if (info.NumChannnels == 2) {
        rightChannel.Add(bytesToFloat(wav[pos], wav[pos + 1]));
        pos += 2;
    }
}

BytesToFloat = Convertit 2 octets pour un flotteur entre -1 et 1

Alors maintenant, j'ai 2 listes de données, mais maintenant, comment puis-je combien de numéros que je dois prendre pour la création de 1er ligne?

ce qui me confond le plus:
lorsque vous jouez un morceau, vous pouvez le voir dans la plupart des lecteurs de musique les données suivantes, c'est à mes yeux la représentation de 1 ' échantillon.
L'analyse de wav et le dessin graphique

mais comment savez-vous la valeur de chacune de ces barres, et la façon dont de nombreux bars il y a dans un échantillon

sachant que votre # d'échantillons et la largeur de votre image ou de contrôle, il devient tout simplement une question de cartographie de n échantillons par pixel?
oui, mais la c'est pas le problème (je pense), j'ai ajouté un peu de texte pour expliquer un peu plus sur ce qui est déroutant moi
Je pense que vous êtes à la recherche d'un spectrogramme? il y a quelques fils sur ce qui pourra vous aider: stackoverflow.com/questions/8781556/spectrogram-and-what-it-is stackoverflow.com/questions/2133651/spectrogram-c-library etc...
Comme Gigasoft fondateur, nous avons une solution qui simplifie la création de graphiques audio wav de données et fournit un exemple de code pour jouer et graphique wav données comme adobe autdition ou nero wave editor. Voir notre petite 18meg v8 cartographie démo et à l'examen de la démo exemple 123. Le téléchargement inclut également WPF et MFC exe. La source pour la lecture, la création de graphiques, et de jouer wav ne pas répondre à toutes les bibliothèques dépendantes et est distillée à un minimum pour les lire.

OriginalL'auteur Kiwi | 2012-11-29