Witam.
Szukałem jakiegoś działu typu algorytmika, ale nie znalazłem, więc zamieszczę pytanie w tym dziale.
Potrzebuje dokonać kompresji pliku wav, najlepiej tylko dane(format i nagłówek sobie wymyślę). Potrzebuje wgrać go do flash'a mikrokontrolera ARM, gdzie mam 54kB miejsca na muzyczkę. Nie chcę drastycznie zminiejszać jakości dźwięku.
Teraz mam fragment muzyki skonwertowany do postaci 8bitowej z próbkowaniem 8kHz, zmniejszając plik dobrej jakości wav(4s) z ok 350KB na 38KB, gdzie niestety jakość jest nie najlepsza.
Zadawalała by mnie jakość 8bit, i około 40kHz próbkowanie. Mam zamiar zastosować kompresje mp3, ale nie chcę Od razu skakać na głęboką wodę. Poszukuję prostego algorytmu kodującego i dekodującego, która umożliwiła by mi kompresje dźwięku. Oczywiście jakąś zrozumiałą dla człowieka(chce stopniowo zagłebić się w tajnikach kompresji dźwięku).
Mogą być jakieś sample w C.
Zna ktoś takie coś?
0
0
a 4bity@16kHz? polecam też ADPCM, a jeśli chcesz coś trochę bardziej ambitnego, to DPCM ze stworzonym przez Ciebie algorytmem predykcji.
0
Dzięki za odpowiedź.
Jeszcze mam takie małe pytanko. Czym na linuxie moge zmienić częstotliwość próbkowania i rozdzielczość pliku wav?
Jestem teraz zmuszony posiedzieć na linuxie, bo na windowsie dało się zwykłym rejestratorem dźwięku to zmienić :/
0
mencoder, audacity?
0
Mam audacity... niestety tam mogę przestawić częstotliwość próbkowania, a rozdzielczość już nie. Nie ma opcji aby ustawić 8bitową rozdzielczość. Na windowsa (vista) też nie moge znaleźć - myślałem że będzie łatwiej.
0
Rozdzielczość ustawisz przy zapisie. Jako typ pliku wybierasz "Other uncompressed files", a potem "Opcje..."