Witam. Potrzebuję kompresować mowę aby przesłać ją po RS-485. Zastanawiam się, jakiego użyć mikrokontrolera, aby mógł w czasie rzeczywistym wykonywać kompresję i dekompresję (komunikacja dwustronna). Może jakiś Blackfin i kompresja MP3? A może da się to zrobić na STM32 korzystając z jakiegoś mniej skomplikowanego kodeka, np. GSM? Czy ktoś z Was przerabiał temat?
uC do kompresji dźwięku
Oct 15, 2011
9 Replies
W dniu 2011-10-15 15:29, Grzegorz Niemirowski pisze:
A dlaczego musisz kompresować? RS-485 bez problemu (w odpowiednich warunkach) ciągnie takie prędkości, żeby mowę (czyli wystarczy próbkowanie 8KHz i 8bitów, czyli *8 to 64kbps plus jakiś narzut protokołu) przesłać na parę kilometrów.
BartekK snipped-for-privacy@NOSPAMdrut.org napisał(a):
Też się nad tym zacząłem zastanawiać. Co prawda tam mają być więcej niż dwie stacje i ma być kilka-kilkanaście rozmów jednocześnie (dane przesyłane w slotach czasowych) ale chyba faktycznie będzie się mogło obejść bez kompresji.
W dniu 15.10.2011 16:17, Grzegorz Niemirowski pisze:
Jak potrzeba większej jakości niż 8-bit (przy zachowaniu 8-bitowej przesyłanej informacji), to można dołożyć aLaw/uLaw. Poprawia stosunek sygnału do szumu dla cichych partii. Potrzebna moc obliczeniowa praktycznie zerowa, prosta tablica wystarcza do kompresji.
Pozdrawiam, Paweł
Paweł Hadam snipped-for-privacy@p.p napisał(a):
O, wygląda fajnie. Dzięki.
W dniu 2011-10-15 22:04 Paweł Hadam napisał(a):
To trudno nazwać nawet kompresją, bo "skompresowanie" 12-16 bitowych próbek do 8-bitowych nie pozwoli zaoszczędzić znacznie pasma.
Proponuję raczej zastosować taniego ARMa i kompresować dzwięk darmowym kodekiem Vorbis (ogg). Sama biblioteka jest na licencji BSD więc można ją całkowicie dowolnie używać nawet w rozwiązaniach komercyjnych. Jedną z lepszych gotowych implementacji jest Tremor.
Wlasnie,
Czy nie lepiej wziac plyte z ARM-em i linuxem. Podlaczyc konwerter RS232<->RS485 i wysylac kodowany stream na RS232 ?
---- Bartlomiej Grzeskowiak
W dniu 2011-10-17 10:12, elonica.pl pisze:
Ale płytki z ARMem i linuksem to co najmniej 200-300zł i rozmiary zbliżone do płyty ITX. Małe - jak DIMM-PC kosztują znacznie więcej a hucznie zapowiadana Raspberry przesuwana jest na koniec roku i ciekawe czy będzie faktycznie za 25$. Brak małych i tanich płytek z ARMem pod linuksa odpowiadających np Arduino. Tzn. tanich i przygotowanych do realizacji własnych wdrożeń.
ATSD pisz pod cytowanym tekstem i popraw delimiter. Powinny być dwie kreski i spacja.
Dnia 15-10-2011 o 15:29:05 Grzegorz Niemirowski snipped-for-privacy@poczta.onet.pl> napisał(a):
Ja się jak zwykle wtrącę z rozwiązaniem od Microchipa na PIC32 lub dsPIC33F z kompresją Speex. Taniej raczej tego nie zrobisz.
formatting link
?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en023610 Więcej o Speex:
formatting link
Pozdrawiam, Andrzej Ekiert
W dniu 2011-10-17 10:12 elonica.pl napisał(a):
A po co do tego Linux? Tania płytka z kilkudziesięciomegahercowym ARMem
7TDMI (albo nawet jakimś małym Cortexem) da radę. Poczytaj o wymaganiach wydajnościowych algorytmu Vorbis.Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required