Witam,
Do końca nie wiem czy to odpowiedni dział na to pytanie, ale odpowiedniejszego nie znalazłem..
Bawię się ostatnio strukturą wavehead zawierającą informacje dotyczące plików .wav. W programie (pisanym w C) plik taki można otworzyć za pomocą zwyczajnej funkcji otwierania pliku fread() i zapisać dane dźwiękowe do bufora typu char*. Po "zapisaniu pliku" w tablicy otrzymujemy w niej liczby z przedziału [-255, 255]. Gdy wykreślimy te liczby na wykresie dostaniemy przebieg, np. sinusoidę w przypadku prostych dźwięków.
Po tym wstępie mam pytanie, które mnie trochę dręczy.. Wiadomo, że na dźwięk składa się częstotliwość, amplituda i co bardzo ważne - barwa, która sprawia, że dźwięki choć o tej samej częstotliwości (wysokości) różnią się.. Możemy przecież mieć dźwięk np. C z pianina, skrzypiec czy fletu. Na barwę składa się jak wiadomo zawartość harmonicznych..
I tu moje pytanie.. Gdzie w odczytanym pliku wave jest informacja o właśnie barwie? W tym steku liczb, które przedstawią sinusoidę (i trochę szumu) gdzie znajduje się to co odróżni pomimo tej samej częstotliwości pianino od fletu, lub głos jednego człowieka od drugiego?
Chyba transformaty Fouriera nie dałoby się tu zastosować no bo jak.. Komp przecież jakoś za pomocą WinApi to odtwarza..
Nie wiem czy dobrze to sformułowałem, ale mam nadzieję, że ktoś z Was wie o co mi chodzi...
Do końca nie wiem czy to odpowiedni dział na to pytanie, ale odpowiedniejszego nie znalazłem..
Bawię się ostatnio strukturą wavehead zawierającą informacje dotyczące plików .wav. W programie (pisanym w C) plik taki można otworzyć za pomocą zwyczajnej funkcji otwierania pliku fread() i zapisać dane dźwiękowe do bufora typu char*. Po "zapisaniu pliku" w tablicy otrzymujemy w niej liczby z przedziału [-255, 255]. Gdy wykreślimy te liczby na wykresie dostaniemy przebieg, np. sinusoidę w przypadku prostych dźwięków.
Po tym wstępie mam pytanie, które mnie trochę dręczy.. Wiadomo, że na dźwięk składa się częstotliwość, amplituda i co bardzo ważne - barwa, która sprawia, że dźwięki choć o tej samej częstotliwości (wysokości) różnią się.. Możemy przecież mieć dźwięk np. C z pianina, skrzypiec czy fletu. Na barwę składa się jak wiadomo zawartość harmonicznych..
I tu moje pytanie.. Gdzie w odczytanym pliku wave jest informacja o właśnie barwie? W tym steku liczb, które przedstawią sinusoidę (i trochę szumu) gdzie znajduje się to co odróżni pomimo tej samej częstotliwości pianino od fletu, lub głos jednego człowieka od drugiego?
Chyba transformaty Fouriera nie dałoby się tu zastosować no bo jak.. Komp przecież jakoś za pomocą WinApi to odtwarza..
Nie wiem czy dobrze to sformułowałem, ale mam nadzieję, że ktoś z Was wie o co mi chodzi...