logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak stworzyć softwarowy dekoder MP3/WMA na ARM do pracy magisterskiej?

Myrek1 17 Lis 2007 13:54 5550 20
  • #1 4490778
    Myrek1
    Poziom 23  
    Posty: 875
    Pomógł: 17
    Ocena: 53
    Chce coś takiego zrobić na pracę magisterską. Ma to być odtwarzacz mp3, ale programowy, nie sprzętowy np na VS1001. Czy ktoś coś takiego wykonał? Chodzi mi o jakiś gotowy kod czy procedury, na których mógłbym się wzorować. Nie widzi mi się poznawania kodowania mp3 od początku i pisanie tego samemu, aż takiej wiedzy o programowaniu nie mam.

    Odtwarzacz byłby na ARMie, z jakimś DAC, LCD od Noki, obsługa MMC, SD, HDD, USB, pilota. Do tego analizator widma i korektor. Wszystko w miarę umiem zrobić poza tym softwarowym odtwarzaczem.
    Marzy mi się odtwarzacz filmików, ale o tym później... ;)

    Przeglądnąłem tematy na forum, ale o kodzie niema żadnych konkretów. Są informacje tylko o sprzętowych dekoderach.
  • #3 4493706
    Jacek31
    Warunkowo odblokowany
    Posty: 541
    Pomógł: 48
    Ocena: 9
    Łał ambitny plan, zwarzywszy że dziś można kupić bez problemu CPU z zintegrowanym dekoderem MP3,WMA, JPEG sterownikami SD/MMC, HDD i USB. Wszystko co trzeba zrobić to podłączyć przetwornik C\A i oprogramować. Taka zabawka jest na stronie ATMELa, i to na rdzenieu 8051. Ten procek to AT85C51SND3B. Życze sukcesu, potrzebujesz mocnego procka, najlepiej do DSP.
  • #5 4495500
    Myrek1
    Poziom 23  
    Posty: 875
    Pomógł: 17
    Ocena: 53
    Wiem, że jest w google, znalazłem to wcześniej. Ale pytałem czy ktoś ma takie coś działające. Do tego poczytałem i chyba nie zrobię takiej obsługi, jest to za trudne. Tu ludzie będący wyrafinowanymi programistami łamali sobie nad tym głowę, a co dopiero ja.
    No to chyba pozostaje zrobienie tego na procku ze sprzętowym dekoderem mp3 lub na VS1001.
    Nie uważacie, że będzie to za proste jak na pracę magisterską?
  • #6 4495625
    Klima
    Poziom 31  
    Posty: 1535
    Pomógł: 112
    Ocena: 180
    Myrek1 napisał:
    Nie uważacie, że będzie to za proste jak na pracę magisterską?

    Nie, nie będzie za proste.
    Ale skoro masz takie wątpliwości, to może lepiej ograniczyć się w innym zakresie? Zrób dekoder na ARMie + DAC, a źródło danych i sterowanie uprość. Na przykład tylko karta SD, odczytywanie z kolejnych sektorów (choć FAT nie jest już aż takim wyzwaniem), a sterowanie np poprzez RS z komputera (tylko najprostsze - start, stop). I zero bajerów.
    Jak to będzie działać, to zastanowisz się, co jeszcze dodać. A magisterka już będzie.
  • #7 4496018
    Konto nie istnieje
    Poziom 1  
  • #8 4497378
    upanie
    Poziom 22  
    Posty: 434
    Pomógł: 33
    Ocena: 7
    Samo napisanie procedur dekodujacych mp3 może i by się załapało na pracę magisterską, ale to o czym piszesz (zrobienie odtwarzacza na VS1001 czy podobnych) to są kpiny a nie praca magisterska. To zwykła rzemieślnicza robota i nie ma w niej cienia własnej inwencji. Przykro mi ale taka jest moja opinia.
    Natomiast co do procedur dekodowania strumienia mp3 to już był taki wątek i istnieje gotowy kod na ARM-a, który to zwie się helix. Nie trzeba być super programistą aby z niego skorzystać. Ja osobiście odpaliłem to na AT91SAM7S256 i potrzebowało 30 MHz na 320 kbps coby odtwarzać w czasie rzeczywistym. Zatem zostaje jeszcze całkiem sporo mocy procka na inne rzeczy.
    Niemniej jednak wykorzystanie takiego, gotowego kodu to również za mało jak na pracę magisterską.
    Moim zdaniem student kończący studia drugiego stopnia powinien w takiej pracy włożyć coś od siebie a nie tylko poskładać gotowe klocki.

    Pozdrawiam.
  • #9 4504450
    Myrek1
    Poziom 23  
    Posty: 875
    Pomógł: 17
    Ocena: 53
    No właśnie mnie tez wydaję się to za proste itp. Ale patrząc po projektach u innych to i tak jest to dość trudna sprawa w porównaniu z nimi. Np jedna praca na 2 osoby ma temat: mikroprocesorowe sterowanie silnikiem krokowym. I to na dwie osoby!! To ja takie coś mam zrobić na zaliczenie laboratoriów, a co dopiero na prace magisterską.
    Dlatego chciałem dodać coś więcej. Np korektor, pełne IDTAGi, jakieś animacje, analizator widma, sterowanie z PC itp.
    Ale chyba i tak będzie to za łatwe i to mnie dręczy.
    Co by można jeszcze dodać do takiego odtwarzacza?
    Chcę coś zrobić na ARMie, żeby się go nauczyć. Nie interesuje mnie proste sterowanie silnikami itp z uC, tylko pełne wykorzystanie peryferii uC. W takim wypadku propozycje prac mi nie wystarczają i chcę coś sam wymyślić z elektroniki, mimo że jestem na automatyce.
  • #10 4512375
    Klima
    Poziom 31  
    Posty: 1535
    Pomógł: 112
    Ocena: 180
    To ja może zadam pytanie od drugiej strony:

    Czy możliwa jest sensowna realizacja KODERA MP3 (choćby bardzo ograniczona) na ARM-ie (ale takim 7 albo Cortexie, a nie 9)?
  • #11 4512794
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Oczywiście ze jest możliwa i jak najbardziej sensowna

    Kolega januszcz22 podał nawet link do projektu odtwarzacza MP3/AAC na AT91SAM7S256 i obsługa kart SD/MMC:
    Cytat:
    Albo mnie wzrok myli albo znajomość obsługi google.pl zanika w naszym społeczeństwie, więc jeżeli naprawdę chodzi o odtwarzacz mp3 na ARM to warto spojrzeć na stronę: http://www.mikrocontroller.net/articles/ARM_MP3/AAC_Player fajny projekt.
  • #12 4512920
    pgp
    Poziom 19  
    Posty: 412
    Pomógł: 6
    Ocena: 17
    Niektóre tematy prac mgr są śmieszne. Ale jeżeli ktoś chwyta lutownice w rękę dopiero na ostatnim roku studiów to potem wychodzi coś takiego . Może zrób odczyt i zapis (!?) wav-a ? Albo postaw jakiegoś linuxa na tym ARMie i daj coś z wielowątkowości.
  • #13 4513886
    Myrek1
    Poziom 23  
    Posty: 875
    Pomógł: 17
    Ocena: 53
    pgp napisał:
    Niektóre tematy prac mgr są śmieszne. Ale jeżeli ktoś chwyta lutownice w rękę dopiero na ostatnim roku studiów to potem wychodzi coś takiego . Może zrób odczyt i zapis (!?) wav-a ? Albo postaw jakiegoś linuxa na tym ARMie i daj coś z wielowątkowości.


    Wypraszam sobie taki teksty! Wielu z kolegów wybiera sobie naprawdę śmieszne tematy, ja chcę wybrać coś lepszego i ambitnego. Nie trzeba mnie od razu jechać, że coś jest za łatwe, bo sam to powiedziałem. Jak coś to czekam na konkretne pomysły a nie tylko na krytykę.Na zaliczenie głupiego, jednego przedmiotu wybrałem sobie filtr analogowy 8 rzędu na procku ATmega i mam zamiar go wykonać (choć prowadzący mówił, że ten temat jest raczej na pracę magisterską), więc nie jest "mało ambitny"....
    Pytam bo chcę zrobić coś ambitnego i na poziomie.
    Ale widać, niektórym łatwiej jest "podcinać skrzydła" i wyrażać swoje "mądrości".
  • #14 4514341
    Konto nie istnieje
    Poziom 1  
  • #15 4518811
    Konto nie istnieje
    Poziom 1  
  • #17 4519399
    Konto nie istnieje
    Poziom 1  
  • #18 4519667
    Myrek1
    Poziom 23  
    Posty: 875
    Pomógł: 17
    Ocena: 53
    @atom1477
    Dzięki za rady. Dobrze piszesz z tymi tematami. Jakbym chciał to bym sobie wybrał jakąś łatwą, zaproponowaną przez dr ale ja chcę zrobić coś co mnie ucieszy, co będzie lepsze niż innych i co sprawia mi przyjemność. A programowanie do takich rzeczy należy. Ja jestem na Elektrotechnice, specjałka: automatyka, profil dyplomowania: komputerowe systemy sterowania.

    Jeśli chodzi o mp3 to oczywiście, że chce do tego zrobić LCD kolorowy, pełne IDTAGi, korektor, analizator widma. Po prostu to co jest w winampie czy IPODach. Więc jak firmy sprzedają takie rzeczy za grube pieniądze, to jeśli ja to zrobię w domu to chyba nie będzie takie trywialne ;)

    Skontaktuje się z promotorem i zaproponuje mu mp3, zobaczymy co powie. W sumie to mało ma wspólnego z automatyką, ale zobaczymy.

    Jeśli będę to robił to na bank zagłębię się w sam algorytm. MP3 jest trochę wyjaśnione w książce „Cyfrowe Przetwarzanie Sygnałów” Pana Zielińskiego.
  • #19 4520408
    Konto nie istnieje
    Poziom 1  
  • #20 4520767
    Myrek1
    Poziom 23  
    Posty: 875
    Pomógł: 17
    Ocena: 53
    Na razie myślałem nad projektem. Jeśli promotor go zatwierdzi to zabieram się za kompletowanie sprzętu i zbieranie informacji. Jeszcze na 100% nie wiadomo czy będę to robił.

    Obecnie podobają mi się procki ARM z rdzeniem Cortex-M3, nad takim myślę. Może jakiś Stellaris z LM

    EDIT:
    Poprawiłem błąd

Podsumowanie tematu

✨ Temat dotyczy realizacji programowego dekodera MP3/WMA na platformie ARM jako projektu pracy magisterskiej. Autor planuje stworzyć odtwarzacz MP3 w pełni programowy, bez użycia sprzętowych dekoderów takich jak VS1001, z obsługą DAC, kolorowego LCD (np. od Nokii), kart MMC, SD, HDD, USB oraz pilota, a także z funkcjami dodatkowymi jak analizator widma i korektor dźwięku. W dyskusji wskazano dostępne biblioteki i projekty open source, m.in. Helix, libmad oraz projekt odtwarzacza MP3/AAC na ARM (np. AT91SAM7S256), które mogą posłużyć jako baza kodu. Podkreślono, że implementacja programowego dekodera MP3 jest możliwa na procesorach ARM Cortex-M3 lub podobnych, ale wymaga znacznej mocy obliczeniowej (np. 30 MHz dla 320 kbps). Zwrócono uwagę na złożoność algorytmu MP3, obejmującego dekodowanie Huffmana, dekwantyzację, transformację iMDCT oraz obsługę różnych trybów stereo i bitrate. Dyskutowano też o poziomie trudności projektu w kontekście pracy magisterskiej, sugerując uproszczenie funkcji (np. obsługa tylko karty SD i prostego sterowania) lub dodanie własnych rozwiązań, by projekt był bardziej ambitny. Autor rozważa użycie procesora ARM Cortex-M3, np. z rodziny Stellaris firmy Luminary Micro (LM). Wskazano także literaturę, np. książkę „Cyfrowe Przetwarzanie Sygnałów” Pana Zielińskiego, oraz dokumentację MPEG. Podsumowując, projekt jest wykonalny, ale wymaga zaawansowanej wiedzy i optymalizacji, a wykorzystanie gotowych bibliotek może być punktem wyjścia do dalszego rozwoju i rozszerzenia funkcjonalności odtwarzacza.
Wygenerowane przez model językowy.
REKLAMA