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

Odtwarzacz wav na ATmega8 i dźwięk z pwm

elektryk101 24 Lut 2011 21:54 4990 15
REKLAMA
  • #1 9199787
    elektryk101
    Warunkowo odblokowany
    Witam,
    mam taki oto problem: zbudowałem odtwarzacz wav na ATmega8 i karcie sd. Dźwięk jest z pwm, jest czysty ale nakłada się na niego szum kwantyzacji i jakiś dziwny metalowy dźwięk. Tu moje pytanie-czy można jakoś temu zaradzic?
    Dodam że próbowałem podłączac różne filtry LC i RC, ale to nie pomogło. Atmega8(L) jest taktowana kwarcem 14Mhz, a dźwięk przyspieszam w programie audacity do 150kHz.

    Z góry dzięki za pomoc, pozdrawiam.
  • REKLAMA
  • #2 9200484
    Duch__
    Poziom 31  
    Niestety nie pomogę ci w rozwiązaniu problemu, ale czy ja dobrze rozumiem... zaimplementowałeś obsługę SD bez AVRDOS? Jakieś specjalne wymagania są co do pliku umieszczanego na karcie?
  • REKLAMA
  • #4 9201600
    elektryk101
    Warunkowo odblokowany
    Duch__ napisał:
    Niestety nie pomogę ci w rozwiązaniu problemu, ale czy ja dobrze rozumiem... zaimplementowałeś obsługę SD bez AVRDOS? Jakieś specjalne wymagania są co do pliku umieszczanego na karcie?

    Nie ma żadnych specjalnych wymagań. Po prostu wgrywasz ten program do AVR, podłączasz kartę SD, przyciski i głośnik , zapisujesz na karcie kawałek przyśpieszony do 150kHz (poza tym musi być zapisany jako unsigned 8bit). A co najważniejsze [/b]bez żadnego AVR DOS[b] bo RAM ATmegi8 tego nie toleruje.
    Light-I :arrow: Dźwięk jest zapisany unsignet 8bit stereo i przyśpieszony do 150kHZ w programie audacity. Nie wiem skąd tobie wzięło się to RAW.
  • Pomocny post
    #5 9201630
    LordBlick
    VIP Zasłużony dla elektroda
    elektryk101 napisał:
    Light-I :arrow: Dźwięk jest zapisany unsignet 8bit stereo i przyśpieszony do 150kHZ w programie audacity. Nie wiem skąd tobie wzięło się to RAW.
    To tym bardziej tłumaczy te "zgrzyty" - fragmenty nagłówków pliku. Jak masz sformatowaną tą kartę ? FAT ? Skoro czytasz kartę bezpośrednio (czyli "czytanie RAW" karty), nie zważając na wszelką organizację logiczną danych (organizacja filesystemu, fragmentacja plików, metadane wav), to nie powinieneś być zdziwiony efektami dodatkowymi...
  • REKLAMA
  • #6 9203226
    elektryk101
    Warunkowo odblokowany
    Light-I :arrow: Kartę mam sformatowaną na FAT. Co mam dalej robic? Bo z twojej wypowiedzi można wywnioskowac ze mam zły kod... :|
  • #7 9203229
    regrom
    Poziom 16  
    Z ciekawości spytam, w jakim celu przyspieszasz dźwięk do 150 kHz?
  • Pomocny post
    #8 9203272
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #9 9203445
    elektryk101
    Warunkowo odblokowany
    regrom napisał:
    Z ciekawości spytam, w jakim celu przyspieszasz dźwięk do 150 kHz?

    Ponieważ jak zapiszę dźwięk z prędkością 44.1kHz(jakośc CD) to na moim odtwarzaczu jest on odtwarzany tak, jakby go zwolnic do kilkuset góra 1000 Hz.
  • Pomocny post
    #10 9204104
    LordBlick
    VIP Zasłużony dla elektroda
    elektryk101 napisał:
    Light-I :arrow: Kartę mam sformatowaną na FAT. Co mam dalej robic? Bo z twojej wypowiedzi można wywnioskować ze mam zły kod... :|
    Proponuję poczytać najpierw o FAT, albo pogmerać za jakąś kobylastą biblioteką do Baskom... Jeśli jednak masz tego dosyć, to przejdź na C... Tu masz projekt jak złoto w temacie :
    http://elm-chan.org/works/sd8p/report.html
  • #11 9252736
    elektryk101
    Warunkowo odblokowany
    Light-I :arrow: Coraz bardziej zaczynam wątpic czy to wina tego o czym pisałeś.
    Mam właśnie nagrany jeden jedyny na 20 kawałków na karcie, kawałek, który gra bez żadnego brzęczenia itp. Jakośc nawet zbliżona do MP3 :D (to prawda).
    Wrzuciłem na kartę też takie 2 kawałki, które grają bez basu- zamiast basu jest to ciągle przeszkadzające mi brzdąkanie.
    To musi byc wina kodu i PWM.
    Dodam jeszcze, że dolutowałem filtr LC, ale on wzmacnia bas i przy okazji tłumi trochę bit i wokal(ale z filtrem odtwarzacz gra lepiej niż bez filtru).
    Pozdrawiam i liczę że nakierujecie mnie na rozwiązanie problemu.
    Jeśli będzie potrzeba wrzucę nagrania za pomocą line-in komputera.
  • #12 9297134
    elektryk101
    Warunkowo odblokowany
    Ok, jak nie chcecie pomóc to może chociaż podpowiecie jak powinien wyglądac kod z podpiętą pod portd drabinką R2R taktowaną z Timer0/Timer2?
    Co wy na to?
  • #13 9298884
    asembler
    Poziom 32  
    Z twojego postu ciężko wywnioskować jak odczytujesz dane. Nie chcesz sam powiedzieć tego o co sie ciebie prosi a masz pretensje że nikt nie umie wpaśc na pomysł ze coś jest źle.
    Według mnie skoro jeden z utowrów gra dobrze a inne źle to może własnie potwierdzic to o czym mówi LIGHT-1
  • #14 9300364
    elektryk101
    Warunkowo odblokowany
    asembler napisał:
    Z twojego postu ciężko wywnioskować jak odczytujesz dane. Nie chcesz sam powiedzieć tego o co sie ciebie prosi a masz pretensje że nikt nie umie wpaśc na pomysł ze coś jest źle.

    No przecież wszystko wcześniej napisałem. Kod jest na początku, karta sformatowana na Fat, dźwięk zapisany w unsignet 8bit stereo i przyśpieszony z 44.1kHz do 150kHz.Tak jak napisał Light dane odczytywane bez żadnych zbędnych ceregeli i karta jest czytana "RAW".
  • Pomocny post
    #15 9311891
    LordBlick
    VIP Zasłużony dla elektroda
    elektryk101 napisał:
    Ok, jak nie chcecie pomóc
    To stwierdzenie mnie rozbraja swoją ignorancją - na karcie masz FAT, więc dorób jego obsługę, wtedy wszystko będzie działać jak powinno... Jeśli nie chcesz fat, to zapisuj pliki na karcie w jakiś inny zorganizowany sposób i też musisz mieć w kodzie procedurę odczytu tej organizacji danych oraz procedurę wyłuskiwania danych z pliku, bo plik Wav zawsze zawiera dodatkowe dane dotyczące kodowania, autora itp.
  • #16 9392408
    elektryk101
    Warunkowo odblokowany
    Problem rozwiązałem, nie było potrzeby pisac obsługi Fat. Dźwiek idzie z R-2R
    8bitów i planuję jeszcze podłączyc po SPI przetworni c/a na I2S.
    Poza tym to cały problem to było stereo.
REKLAMA