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

[Bascom] Atmega 32 - Kłopoty z formatem zapisanego WAV na kartę SD

zuba1 02 Sty 2014 15:53 1746 16
REKLAMA
  • #1 13127119
    zuba1
    Poziom 13  
    Witam. Ostatnio naszła mię Taka myśl "Skoro dałem radę odczytywać WAV i to z dużą rozdzielczością to czemu by nie zapisywać". Tym bardziej że potrzebuję zbudować w miarę tani i mały sprzęt do nagrywania dźwięku. Jednak po paru próbach nie udało mi się doprowadzić formatu zapisu tak aby dało go się odczytać ponownie z komputera. Moja metoda dotychczas to zrobić za pomocą komputera na karcie SD plik WAV 32Khz 8bit mono (taka rozdzielczość tak na próbę potem zwiększę do 16 bit ponieważ zamierzam użyć zewnętrznego przetwornika) a następnie w mikrokontrolerze otworzyć plik i podpisywać kolejne próbki pod plikiem. Gdy otwieram plik na komputerze próbki są na miejscu lecz niestety odtwarzacz ich nie czyta. Problem najpewniej wynika ze złego formatu zapisu. Podaję skromny fragment kodu. Z góry dziękuję.
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Ps. Owocnego i Pogodnego roku 2014 =D
  • REKLAMA
  • #2 13127184
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 13127259
    zuba1
    Poziom 13  
    I właśnie na tym polega dill że, na komputerze tworzę plik WAV bez żadnych danych a potem go podpisuję lecz ten podpis ma najpewniej niezgodny podpis.
  • #4 13127274
    ASMnauka
    Poziom 12  
    Cytat:
    Nie wiem czy Bascom jest na tyle sprytny, aby dodać nagłówek do tworzonego pliku.

    Przepraszam bardzo, lecz to nie Bascom dodaje nagłówek, lecz programista.
    Co prawda nie interesuje mnie ten język, lecz ...
    zuba1 , oto przykładowy plik z Windowsa.
    Po otwarciu go zobaczysz w trybie tekstowym (za pomocą notatnika) między innymi...
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Kurde nie dodał znaku prostokąta.

    Otwórz nowy plik w trybie binarnym do zapisu, dodaj potrzebne informacje, następnie dane z ADC.

    Pozdro
  • #5 13127338
    Konto nie istnieje
    Poziom 1  
  • #6 13127343
    zuba1
    Poziom 13  
    Ok dzięki ale kłopot jest taki że dane nie sa zapisywane jedna za drugimi tylko każde pod każdymi.
    wygląda to tak
    RIFF2 WAVEfmt    } }   fact data 55
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56
    56

    Dodano po 2 [minuty]:

    No i jeszcze trzeba obczaić jak zmienić nagłuwek z poziomu bascoma.
  • #7 13127373
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #8 13127408
    zuba1
    Poziom 13  
    Dzięki tego mi było trzeba. Ale na pewno zaraz będę miał jakiś problem więc nie zamykam-zabieram się do modyfikowania. ps. Jak zaktualizować te dane??
  • REKLAMA
  • Pomocny post
    #9 13127437
    Konto nie istnieje
    Poziom 1  
  • #10 13127478
    ASMnauka
    Poziom 12  
    Marek, bardzo proszę, nie myl pojęć,
    Dobrze wiesz, że pisałem o nagłówku pliku WAV.
    Co więcej, jeśli programista potrafi to napisze również nagłówek do pliku BMP, JPG (o ile zna temat jego kompresji - GOOGLE).
    I nie ma znaczenia język, lecz umiejętności.
  • #11 13127489
    zuba1
    Poziom 13  
    Na chwilę obecną z pliku po zapisie wychodzi mi coś takiego :
    7 R ~ k + b 0 ‚ \ r Ž “ } ƒ 9  … N ‚ ? = k ' Ť <  0 : H 7 4 ! b 7 ^ & ^ j G L n 0 D 5 7 :  1 H > > = 9 5 7 8 7 8 8 8 8 8 8 8 8 8 8 8 8 8 : 7 8 8 8 6 8 8 8 8 8 8 9 6 9 7 9 7 7 8 8 8 3 8 8 8 7 9 : : 8 8 7 8 ? 5 < F 1 > < C 9 8 J 4 A ' D / : 8 8 6 7 8 8 8 8 8 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
    Przy kodzie który wygląda tak
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #12 13127503
    ASMnauka
    Poziom 12  
    Tworzyłbym też plik samodzielnie zamiast kombinacji z pustym plikiem na PC.
    Chwała Ci za to zdanie.
    Jeżeli Osoba ucząca się programowania sięga po coś, co sprawia Mu kłopot na AVR, i idąc na skróty sięga po plik z PC niczego się nie nauczy.
    zuba1, w przypadku AVR wszystko, co jest związane z pamięcią typu SD jest zwykłym DOS-em.
    Proponuję poczytać na ten temat.
  • #13 13127514
    zuba1
    Poziom 13  
    Jak ten nagłówek powinien wyglądać i którą wartość modyfikować przy zmianie długości??
  • #14 13127550
    ASMnauka
    Poziom 12  
    zuba1 , w tym kodzie widzę jedynie zapis wartości ADC.
    Poczytaj, co wcześniej napisałem.
  • Pomocny post
    #16 13127680
    ASMnauka
    Poziom 12  
    Cytat:
    Wie ktoś jak wpisywać i wyliczyć te dane??

    Szanowny użytkowniku tego forum.
    Podaliśmy wielce pomocne informacje.
    Jeśli Sądzisz, że ktoś poda Ci na tacy gotowy program, Jesteś w błędzie.
    Swoją drogą nie wiem,z jakiego powodu Twa chęć odczytu pliku WAV na PC jest Ci potrzebna.
    Lecz cóż, nie ma wola.
    Jeśli Czujesz taką potrzebę, przeanalizuj informacje, jakie Podaliśmy.

    Pozdrawiam
  • #17 13127741
    zuba1
    Poziom 13  
    Rozumiem i dziękuję za pomoc. Udało mi się zapisać dane i z sukcesem je odtworzyć (po odpowiedniej konwersji)
REKLAMA