[elektro-etc] OT: allergia
Auth Gábor
auth.gabor at javaforum.hu
Mon Jan 8 09:50:08 CET 2007
Halihó!
2007. január 8. 01.51 dátummal jhidvegi ezt írta:
> Jójó, de elobb fourier analízisnek kéne kitenni, és az egyes frekiket
> külön-külön kéne négyszögesíteni, majd leosztani és újra összegezni. Ha az
> összeget négyszögesítjük, leosztjuk, akkor valami nagy zagyvaságnak kellene
> kijönnie, nem?
Az MP3 a következőt csinálja: a bejövő hangot kis frekvenciatávolságokkal
FFT-vel feldolgozza minden egyes hangmintában. Ebből előáll egy 20Hz-20kHz
közötti 1-10Hz (nagyobb frekvenciához nagyobb távolság) távolságokkal minden
egyes frekvenciaösszevető vagyis mintánként lesz kb. 10 ezer frekvenciasáv 16
bites amplitúdóval csatornánként. CD minőség esetén a kb. 176kBájt-ból lesz
így 40kBájt átlagos ember fül számára hallható információ. Ezek után az
algoritmus kezdi kiszedni a két csatornában azonos komponenseket, és ezeket
egy mono csatornában összegzi, aztán kiszedi az egymás melletti nagy
amplitúdójú összetevő melletti kicsit, mert azt úgysem halljuk meg. És így
tovább, a végén marad kb. 20kBájt információ másodpercenként, ami értékes a
tárolásra.
Ha megvan ez a csupaszítás, akkor letárolja a maradék - sok helyen nullát
tartalamazó - frekvencia-amplitúdó táblázatot, és ezt ICT (invert koszinusz
transzformáció) algoritmussal tömöríthetővé teszi, majd ezt Huffmann
algoritmussal tömöríti.
Lejátszáskor annyi történik, hogy a beolvasott frekvencia-amplitúdó
táblázatból elkészíti a hanghullámokat.
Kevésbé digitálisoknak úgy kell elképzelni, hogy teszünk egy meredek
sávszűrőt minden frekvenciára, és ezt egy-egy kivezérlésjelzőre kötjük. Lesz
10 ezer ilyen kivezérlésjelzőnk, minden egyes frekvencián egy-egy. Ezeknek az
értékeit leolvassuk másodpercenként sokszor és ebből később vissza tudjuk
állítani az eredeti hanghoz nagyon hasonló hangot... :)
Ha a frekvencia-amplitúdó táblázatot eltoljuk a frekvencia tengelyen
bármerre, akkor a hangok magassága változik, de a sebessége nem.
Gyakorlatilag így csinálják a rádióműsorokban a krampusz vagy az akármi
magasabb hangját, nem felgyorsítják, hanem csak a hangmagasságot emelik meg.
Természetesen real-time megy ez, az Audacity hangszerkesztő képes erre
például bármilyen hangmintán.
Annyira lesz érthetetlen a szöveg, mint egy jobb MP3 tömörítés után, vagyis
semennyire.
--
http://www.javaforum.hu -=- http://www.enaplo.hu
Auth Gábor -=- FreeBSD 5.4 -=- http://bsd.lap.hu
http://www.javaforum.hu/web/authgabor/
More information about the Elektro-etc
mailing list