Witajcie. Mam problem z mikrofonem w aplikacji na WP, a raczej nie z mikrofonem a samymi danymi które otrzymuje.
A więc tak, mam sobie obiekt

Microphone microphone = Microphone.Default;

wywołuje na nim metodę microphone.GetData(buffer);

 gdzie buffer to <code class="csharp">byte[] buffer;

Z racji tego, że nagrywam próbki po 100ms dostaję 3200 różnych danych w tablicy. Na początku zacząłem wyświetlać je jako słupki o stałej szerokości a o wysokości równej konkretnemu elementowi tablicy, nie pasowało mi to, że elementy są max 255. Więc zacząłem je zamieniać na

int abuff = System.BitConverter.ToInt16(buffer, i * 2);

dane który otrzymuje w ten sposób wyświetlone w postaci słupków wyglądają już ciekawiej bo dostaje też liczby ujemne. Ale potem int abuff = System.BitConverter.ToInt32(buffer, i * 4);

 o dziwo wyglądają bardzo podobnie. Teraz moje pytanie. Co tak naprawdę jest w tej tablicy z 3200 elementami? Na co to zamieniać? 
Szukam i eksperymentuje aby wyjść w końcu do przeliczenia tych danych na częstotliwość. 
Proszę o jakieś wskazówki bo czuje się jak dzieci we mgle. Załączam screen z przykładowym wykresem dla ToInt16 http://screenshot.sh/mKLFlXJgdJ4rN wyniki dzielone przez max 100.
Tak wygląda ToInt32 wyniki dzielone przez blisko milion, żeby dało się je wyświetlić 
http://screenshot.sh/odv8WbPf24rWz

Bardzo proszę o jakieś wskazówki. BTW wiem, że nie powinienem zamieniać na int tylko double ale, jakoś miałem problemy z wyświetleniem tego i dane były bardzo dziwne, bardzo bardzo niskie wartości np 1.232323E-302.

Z rzeczy ważnych, korzystam z  
```csharp
using System.IO;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;