Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaKarola Kisné Megváltozta több, mint 10 éve
1
Önálló laboratórium II. - 2005. május 23.1 Mobiltelefonon futtatható program készítése Hegedűs Iván Mihály Pázmány Péter Katolikus Egyetem Információs Technológiai Kar
2
Önálló laboratórium II. - 2005. május 23.2 Feladat Működő programok készítése Időkeretek kialakítása Beszédmintákból spektrális jellemzők kinyerése megfelelő algoritmussal Mit sikerült megvalósítani?
3
Önálló laboratórium II. - 2005. május 23.3 Audio input stream A készülék beépített mikrofonját használja a felvétel készítéséhez. Alkalmassá tehető valós idejű felvétel készítésére. Közvetlenül a készülék pufferében szakaszonként tárolja a mintákat, amelyekből az adatokat szeretnénk kinyerni. Alkalmas még a rögzített hang visszajátszására is. Támogatja UIQ platformot is megfelelő kiegészítő csomaggal
4
Önálló laboratórium II. - 2005. május 23.4 Audio input stream módosítások Több mintavétel Puffer méret Zero-Crossing és puffer maximum Dinamikus tömb 32 bites konverzió const TInt KBufferSize = 2048; // A buffer mérete, 1024 minta. … int meret = aBuffer.Size(); meret=meret/2; TReal32 * mintabe = new TReal32[meret]; // A dinamikus tömb. for (int i=0;i<aBuffer.Size()/2;i++) { tmp= aBuffer[i*2]+aBuffer[i*2+1]*256; mintabe[i]=TReal32(tmp); // Értékek átvétele }
5
Önálló laboratórium II. - 2005. május 23.5 FFT - Fast Fourier Transformation Rendelkezésünkre állt egy négyzetes FFT Implementáció: C kód Objektumorientáltság Symbian Köszönet Bárdi Tamásnak! Emulátor vs. Készülék
6
Önálló laboratórium II. - 2005. május 23.6 FFT és Audió input stream int meret = aBuffer.Size(); meret=meret/2; TReal * x = new TReal[meret];// saját tömb FFT * f = new FFT(); TInt16 tmp, // átmeneti buffer infó mx=0, // maximális buffer érték zc=0, // zero-crossing elo=0; // előző for (int i=0;i<aBuffer.Size()/2;i++) { tmp=aBuffer[i*2]+aBuffer[i*2+1] *256; x[i]=TReal(tmp); if (elo*tmp < 0) zc++; if (abs(tmp) > mx) mx=abs(tmp); elo=tmp; } f->itkRealFFT(x,meret); for(i=0;i<meret;i++){ if (x[i]>0) buf.AppendNum(x[i],TRealFormat()); i=meret+1; } A két program egyesítése a cél A felvett mintákon FFT alkalmazása Emulátoron működik Készülékre nem fordul A Series 60 rejtélye?
7
Önálló laboratórium II. - 2005. május 23.7 Rekurzív FFT algoritmus Lassú és erőforrás igényes!!!
8
Önálló laboratórium II. - 2005. május 23.8 WavPayer Saját fejlesztés „CMdaAudioPlayerUtility” egyszerű hangkezelést biztosít Egy wav fájl lejátszása Tovább fejlesztési lehtőség Recorder és Lejátszandó fájlok kiválasztása
9
Önálló laboratórium II. - 2005. május 23.9 Összegzés Sajnos még vannak emulátor és készülék problémák (kódeltérés) Vannak bíztató eredményeink! Saját programok! Sikerült megvalósítani a mintaelemzést! Jó csapatmunka gyömölcse!
10
Önálló laboratórium II. - 2005. május 23.10 Köszönöm a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.