Die Analyse von wav-und zeichnen ein Diagramm

Ich versuche, drucken Sie eine Welle aus einer wav-Datei,
aber ich bin irgendwie verloren, wie die Länge ich nehmen sollte für eine Probe.

dies ist, was ich lieben würde, zu erreichen (ohne die Farben):
Die Analyse von wav-und zeichnen ein Diagramm

also für das Lesen meiner Daten ich verwende den folgenden code:

//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 = Wandelt 2 bytes in ein float zwischen -1 und 1

So, jetzt habe ich 2 Listen von Daten, aber jetzt, wie ich, wie viele zahlen ich nehmen soll für die Erstellung von 1 Zeile?

was verwirrt mich am meisten:
wenn Sie einen song Abspielen, können Sie sehen, in den meisten Musik-Playern die folgenden Daten, dies ist in meinen Augen die Darstellung von 1 sample.
Die Analyse von wav-und zeichnen ein Diagramm

aber wie Sie wissen, der Wert jeder dieser bars, und wie viele bars gibt es in einer Probe

  • zu wissen, Ihre # Muster und die Breite des Bildes oder die Steuerung, es wird eine Frage der Zuordnung n samples pro pixel?
  • ja, aber das ist nicht das problem (denke ich), ich fügte hinzu, ein wenig text zu erklären, ein bisschen mehr auf, was mich verwirrend
  • Ich denke was du suchst ist ein Spektrogramm? es gibt ein paar threads auf, SO dass könnte dir helfen: stackoverflow.com/questions/8781556/spectrogram-and-what-it-is stackoverflow.com/questions/2133651/spectrogram-c-library etc...
  • Als Gigasoft Gründer, wir haben eine Lösung, die vereinfacht charting wav-audio-Daten und enthält Beispiel-code, um zu spielen und chart die wav-Daten ähnlich wie adobe autdition oder der nero wave-editor. Sehen Sie unsere kleine 18meg v8 charting demo und abgeben demo-Beispiel 123. Der download enthält auch WPF und MFC-exes. Die Quelle für das Lesen, Diagramm und spielen wav nicht Antworten auf alle abhängigen Bibliotheken und destilliert wird, bis ein minimum für das Lesen-Fähigkeit.
InformationsquelleAutor Kiwi | 2012-11-29
Schreibe einen Kommentar