Proszę o pomoc. Pisze program w C, dobieram się do pliku wav w ten sposób że ładuje do tablicy dane z 2 kanałów (stereo).
potem robię tablicę temp dla każdego kanału i w pętli chcę zastosować filtr:
Mój problem jest taki że jak otwieram plik przed filtrowaniem a potem z filtrem np mnożącym danel[i] x 2 w Adacity to widmo pomnożone przesówa się w górę!!!
To chyba źle. Mi się wydawało że robię w dziedzinie czasu (Amplituda(t) gdzie t=i). Czy się mylę??
Prosze o pomoc.
PS Jak zastosować do tych 2 kanałów filtr PITCHSHIFTER? proszę o jakąś najprostszą z możliwych funkcji. Dzięki!!
Cytat:unsigned char *danel= new unsigned char[rozmiarPliku];
unsigned char *danep= new unsigned char[rozmiarPliku];
potem robię tablicę temp dla każdego kanału i w pętli chcę zastosować filtr:
Cytat:for(int i=index; i<rozmiarPliku; i=i+2)
{
danel[j]=dane[i];
danep[j]=dane[i+1];
j++;
}
unsigned char *daneltemp = new unsigned char[rozmiarPliku];
unsigned char *daneptemp = new unsigned char[rozmiarPliku];
for( int i=0; i<rozmiarPliku-3; i++)
{
daneltemp[i]= //filtr na 1 kanał
daneptemp[i]=//filtr na 2 kanał
}
Mój problem jest taki że jak otwieram plik przed filtrowaniem a potem z filtrem np mnożącym danel[i] x 2 w Adacity to widmo pomnożone przesówa się w górę!!!
To chyba źle. Mi się wydawało że robię w dziedzinie czasu (Amplituda(t) gdzie t=i). Czy się mylę??
Prosze o pomoc.
PS Jak zastosować do tych 2 kanałów filtr PITCHSHIFTER? proszę o jakąś najprostszą z możliwych funkcji. Dzięki!!