• Nem Talált Eredményt

A FELISMERÉSI MÓDSZEREK BEMUTATÁSA, ÖSSZEHASONLÍTÁSA

ERD Ő SY Dániel 1 , TÓTH Lajos 2

2. A FELISMERÉSI MÓDSZEREK BEMUTATÁSA, ÖSSZEHASONLÍTÁSA

A jelfeldolgozás tudományterülete számos olyan algoritmust használ, melyek alkalmasak idő -ben változó mennyiségek paramétereinek meghatározására. A zenei hangok olyan jelek me-lyeknek amplitúdója és frekvenciája az időben változik. Rengeteg erre a célra használható módszer létezik. Ezeknek egy részét az [5] szakirodalom ismerteti. A dolgozatban ezek közül a módszerek közül kiválasztottuk a leghatásosabbakat és tesztprogramok implementálásával és futtatásával összehasonlítottuk őket. A tesztprogramokhoz több, a számítógép hangkártyája által felvett minta hangokat használtunk, ezzel is biztosítva az összehasonlíthatóság stabil

91

alapját. A módszerek kimeneti pontosságának ellenőrzésére egyszerű szöveges megjelenítést, valamint grafikus megjelenítést használtunk. A program szöveges formában megjeleníti a felismert hangokat, valamint kijelzi a jel spektrumát a felismert frekvenciákkal. A megvalósí-tott algoritmusokban igyekeztünk hasonló megjelenítési elemeket használni, ezzel is kiszűrve az eltérő programozási módszerekből adódó eltéréseket. Minden program 5-ször futott le egymás után. A különböző futási időkből legjobb, legrosszabb, valamint átlag idő lett számol-va.

A zenei hangok frekvenciákhoz történő hozzárendelése az úgynevezett hangjegy-frekvencia táblázat alapján történt (1. Táblázat). Ebben a táblázatban az általunk használt ze-nei hangok jelölése is jól látható. Az eltérő hangolásból adódó pontatlanság kiküszöbölésére a kereséskor egy ±2,74 %-os tűrést engedtünk meg. A tesztek alapján az érték megfelelőnek bizonyult, mivel nem történt hangtévesztés.

1. Táblázat Hangjegy - Frekvencia táblázat [6]

A táblázatból kiolvasható, hogy a legmagasabb B7-es hang 3951.1 Hz frekvenciájú.

é > 2 ∗ (1)

ahol:

fmax a jelben előforduló maximális frekvenciájú összetevő

A Nyquist-Shannon mintavételezési törvény alapján (1), elegendő lenne a 8 kHz-es minta-vételi frekvencia alkalmazása [7]. Azonban, korunk gyors eszközei, programozási lehetőségei számára ennél nagyobb mintavételezési frekvencia használata sem jelent időbeli hátrányt. A pontosság javítása érdekében ettől nagyobb mintavételezési frekvenciát használtunk.

2.1. Az alap tesztprogram

Az algoritmusokat az Octave [8] nevű magas szintű matematikai programozási nyelv segítsé-gével valósítottuk meg. Az alap tesztprogram az összehasonlíthatóság alapjául szolgál. A hangfelismerés módszere ebben az esetben FFT alkalmazása a beolvasott fájlon. A program második lépésben a spektrumban található maximumok kikeresésével megadja a futás ered-ményét. Ennél a módszernél tökéletesítésre került a többi módszernél is felhasználásra kerülő kereső algoritmus.

A tesztprogrammal egy gitár által játszott C-dúr harmónia mintavételezett jelét (guitarC4_E4_G4_C5.wav) dolgoztattuk fel. A futás eredménye az 1. ábrán látható.

92

1. ábra. A tesztprogram kimeneti grafikonja és a szöveges eredmények

A diagramon jól látható, hogy az FFT analízis megtalálja a különböző harmonikusakat. Az elemzést nem az egész frekvencia tartományra végezte el a program, így az alaphangok fel-harmonikusai már nem látszódnak. Az eredményeket megvizsgálva megállapítható, hogy a program már nem észlelte a C5 hangot. Ez a hiba a csúcsértékeket kereső függvény nem meg-felelő beállításából adódott. Ebből az egyszerű tesztből pontosan látszik, hogy milyen prob-léma jelentkezik összetett zenei hangok analizálása esetén. A megszólaló C5 hang valós alap harmonikus és nem egyszerűen csak a C4 hang felharmonikusa. A fejlettebb analízis módsze-rek pont ezt a problémát próbálják kiküszöbölni.

2.2. Nullátmenet módszere

A módszer lényege, hogy megszámoljuk a jelben előforduló nulla átmenetek számát [9,10].

Elvben megfelelő mintavételezéssel egy egyszerű periodikus jel frekvenciája meghatározható ezzel a módszerrel. Viszont egy összetett jelnél, ami tele van felharmonikusokkal, gyakorlati-lag nem lehet visszafejteni a jelet alkotó különböző frekvenciákat. A nullátmenet módszer teszteredményei:

1. ábra - Nullátmenet módszer szöveges eredménye

A 2. ábrán jól látható, hogy a tesztprogram teljesen rossz eredményeket adott. Egyetlen előnye, hogy ez a legkisebb számítási igényű algoritmus. Ezért ez az alap tesztprogramhoz képest hamarabb lefutott. A továbbiakban ezt a módszert nem fogjuk használni, mert a célként definiált követelmények vizsgálatára nem felel meg.

93 2.3. Autokorreláció módszere

A módszer azon alapul, hogy egy periodikus jel egyetlen periódusa hasonlít a mellette lévő jel periódusára [11]. A jel időbeli eltolásával az eredeti és az eltolt jel különbsége meghatározza az alap harmonikust. Az autokorreláció elvégzése és annak deriválása után a kapott jelben a minimumok helye alapján lehet az alap harmonikust meghatározni. A tesztprogramot először egy C2 hangot tartalmazó zongora tesztfájllal próbáltuk ki.

2. ábra A megtalált hangok és a futásidő

A 3. ábrán a megtalált zenei hangok is olvashatók. Ezek alapján erre az egyszerű hangra a módszer jól működött. A futásidő még elfogadható. A nagyobb probléma itt is az összetett hangokkal van, mert az autokorreláció inkább egy adott frekvencia megkeresésére, nem pedig ismeretlen frekvenciák megkeresésére való.

2.4. Harmonikus szorzat spektrum (HPS)

A módszer lényege, hogy az alap jelet többször újramintavételezzük, majd ezeket a jeleket összeszorozva a felharmonikusok nagy része kiszűrhető. [11]

A módszer egyszerű programozhatóságának köszönhetően többféle változat kipróbálását is könnyedén meg lehetett valósítani. Az egyik teszt során a jelet 3-szor minta vételeztük újra és a kapott jeleket összeszoroztuk egymással. Ezen teszt során egy C4-es trombita hang volt a bemeneti hang. A teszteredmények az alábbiak lettek:

94

3. ábra HPS módszer teszteredményei, két alul mintavételezett jellel és szorzással A 4. ábrán jól látható, ahogyan a spektrumot „összetömörítette” a módszer. A segédvona-lak segítségével könnyedén nyomon követhető, amint a felharmonikusok a hozzájuk tartozó alap harmonikussal egy vonalba kerültek az újra mintavételezések hatására. A 4. ábrán jól látható, ahogy a felharmonikusok szinte teljesen eltűntek. Az apró zajokat is nagyon szépen kiszűrte az algoritmus, ami miatt az eredmény teljesen elfogadható. A grafikus eredmények mellett kijelzett szöveges eredményeket az 5. ábra mutatja.

4. ábra HPS módszer szöveges teszteredményei 2.5. Párhuzamosan kapcsolt fésű szűrők

A párhuzamosan kapcsolt fésű szűrők módszere azon az elven alapul, hogy egy megfelelően tervezett szűrő ott fogja a jelet leginkább csillapítani, ahol a jel és a szűrő frekvenciája meg-egyezik. Ha sok ilyen szűrőt egymás mellé helyezünk, elvben tetszőleges frekvencia felbontás lehetséges. A szűrők megfelelő hangolásával el lehet érni, hogy egy-egy szűrő a frekvenciájá-nak megfelelő egy-egy zenei hangot csillapítson a jelből. Ezeket a helyeket érzékelni lehet, melyek a „megtalált” hangokat jelentik [12, 13].

95 2.6. Cepstrum

A cepstrum módszer egy matematikailag egyszerű módszer, amely használható beszéd elem-zésre, hangfelismerésre. A módszer a spektrumban található periodicitások (ismétlődések) kimutatásához nyújt segítséget [14]. Az eljárás igazából mind a frekvencia, mind pedig az időtartományban is dolgozik. Az algoritmus lényege, hogy a bemeneti jel valós Fourier transzformáltjának vesszük a négyzetét, annak a 10-es alapú logaritmusát és végül annak az inverz Fourier transzformáltját. A cepstrum névhez hasonlóan a végeredménye egy független változó quefrencia, valamint az értékei a rahmonikusok [15].

Bár a szakirodalmak szerint a cepstrum segítségével lehetséges hangfelismerést elvégezni, de jelen célnak nem felelt meg. A program viszonylag gyorsan lefutott, a diagramok jellege hasonló az irodalmakban látható grafikonok jellegéhez.

2.7. Hallás modellezése

A hallás modellezése szó szerint az emberi hallás modellezésén alapul [16] Az eljárás megva-lósítása rendkívül bonyolult. Az élőlények hallása egy biológiai folyamat, ennek a programba történő átültetése még bonyolultabb. Nem véletlen, hogy a WIV LLC által létrehozott prog-ram működéséről [17] is nagyon kevés információt található. A hallás modellezéssel működő hangfelismerő program megalkotása túlmutat a jelen publikáció célkitűzésein.