Fórum témák

» Több friss téma
Cikkek » SD kártyás zenelejátszó
SD kártyás zenelejátszó
Szerző: gabi20, idő: Márc 14, 2014, Olvasva: 22372, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   3 / 8

Disk Editor segítségével megnyitottam egy, az SD kártyán levő wav fájlt:

disk_editor.png

Az offset alatt láthatóak az adatokhoz tartozó 32 bites címek. Ez a fájl a 0x04CBB000 címen helyezkedk el. Minden wav fájl "RIFF"-el kezdődik. Ez alapján tudja az AVR megtalálni a kártyán a fájlok elejét.

Minden .wav kiterjesztésű fájl alapvetően 2 részből áll:

  • fejléc (ebben van kódolva a fájl mérete és formátuma)
  • adatblokk

riff.png

Nézzük a fejlécet a fenti példa esetében:

  • Chunk ID - konstans, 4 byte hosszú, értéke 0x52494646, ASCII kódban "RIFF"
  • Chunk Size - 4 byte hosszú, a fájlméretet tartalmazza bájtokban a fejléccel együtt, értéke 0x01D61A72 (decimálisan 30808690, vagyis a fájl mérete ~30,8 MB)
  • Format - konstans, 4 byte hosszú,értéke 0x57415645, ASCII kódban "WAVE"
  • SubChunk1 ID - konstans, 4 byte hosszú, értéke 0x666D7420, ASCII kódban "fmt "
  • SubChunk1 Size - 4 byte hosszú, a fejléc méretét tartalmazza, esetünkben 0x00000010
  • Audio Format - 2 byte hosszú, PCM esetében 0x0001
  • Num Channels - 2 byte hosszú, csatornák számát tartalmazza, esetünkben 0x0002
  • Sample Rate - 4 byte hosszú, mintavételezési frekvenciát tartalmazza, esetünkben 0x00007D00 (decimálisan 32000)
  • Byte Rate - 4 byte hosszú, értéke 0x0000FA00 (decmálisan 64000)
  • Block Align - 2 byte hosszú, az 1 mintában található bájtok számát tartalmazza - 0x0002
  • Bits Per Sample - 2 byte hosszú, felbontást tartalmazza bitekben, értéke 0x0008
  • Sub Chunk2 ID - konstans, 4 byte hosszú, értéke 0x64617461, ASCII kódban "data"
  • Sub Chunk2 Size - 4 byte hosszú, az adatblokk méretét tartalmazza bájtokban, értéke 0x01D61A1E

Ezután következik az adatblokk. Minden minta 2 bájtot tartalmaz, a felső bájt a bal csatorna értékét, az alsó bájt a jobb csatorna értékét tartalmazza. Nincs más dolgunk, mint megfelelő sebesség mellett olvasni ezeket az adatokat, majd átalakítani analóg jellé.


A cikk még nem ért véget, lapozz!
Következő: »»   3 / 8
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem