Skocz do zawartości

Dekodowanie plików JPEG na mikrokontrolerze


Pomocna odpowiedź

Dnia 21.02.2021 o 12:39, ethanak napisał:

Nie wnikałem w szczegóły (użyłem, działa i nie zaglądałem do kodu) ale zerknij do źródeł ESP8266Audio, konkretnie do libmad. Jeśli działa na ESP8266 to tym bardziej powinno działać na Pico.

Ok, na razie udało mi się uruchomić na Pico odtwarzanie dźwięku PCM z plików WAV (PWM i timer) oraz skompilować LibMAN. W wolnej chwili zabiorę się za próbę uruchomienia odtwarzania MP3. W międzyczasie chciałem zapytać, czy ktoś się orientuje jak wygląda kwestia formatu wyjściowego LibMAN. Z opisu biblioteki wygląda, że produkuje ona dane PCM 24bit. Ponieważ u mnie pracuje bardzo prosty 8 bitowy "DAC" na PWM, dałoby się ją jakoś skonfigurować, żeby na wyjściu produkowała takie dane? Czy muszę je ręcznie konwertować?

45 minut temu, atlantis86 napisał:

czy ktoś się orientuje jak wygląda kwestia formatu wyjściowego LibMAN.

E... libMAN czy może libmad?

Jesli libmad to o ile mi wiadomo trzeba po prostu skonwertować 24 bity na 8. Automatycznie, niekoniecznie ręcznie 🙂

46 minut temu, atlantis86 napisał:

odtwarzanie dźwięku PCM z plików WAV (PWM i timer)

A mnie zastanawia, czy da się do tego zaprząc DMA i PIO i wyprodukować Delta-Sigma... niestety muszę zająć się czymś innym i Pico leży i czeka 😞

2 minuty temu, ethanak napisał:

E... libMAN czy może libmad?

Jesli libmad to o ile mi wiadomo trzeba po prostu skonwertować 24 bity na 8. Automatycznie, niekoniecznie ręcznie 🙂

Libmad. Moja pomyłka. 😉

Czyli po prostu powinienem np. użyć funkcji map() celem przepisania wartości 24bitowych na zakres 0-255?

2 minuty temu, ethanak napisał:

A mnie zastanawia, czy da się do tego zaprząc DMA i PIO i wyprodukować Delta-Sigma... niestety muszę zająć się czymś innym i Pico leży i czeka 😞

Też jestem ciekaw. Na razie jeszcze nie bawiłem się z PIO,  w obecnie powstającym projekcie nie potrzebuję wysokiej jakości audio.

Przed chwilą, atlantis86 napisał:

Czyli po prostu powinienem np. użyć funkcji map() celem przepisania wartości 24bitowych na zakres 0-255?

O rety... a nie prościej po prostu upinkolić 16 bitów z prawej i dodać 128?

(edytowany)
13 minut temu, ethanak napisał:

O rety... a nie prościej po prostu upinkolić 16 bitów z prawej i dodać 128?

Hmm... W sumie racja.
Nie wiem czemu nie pomyślałem o najprostszej opcji. 🙂

Edytowano przez atlantis86

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...