uC do kompresji dźwięku

Oct 15, 2011 9 Replies

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?


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