Kapcsolja be a képet egy hang - mintegy programozó blogja

Próbáljunk csinálni egy meglehetősen értelmetlen, vagyis a hang egy adott spectrogram. Hirtelen egy sor EGF szerelmesek rövidített, nem bűncselekmény, hogy a rajongók a film „White Noise» 🙂
Kezdjük modellezés Matlab. Szeretnénk egy olyan algoritmust lefordítani a hang spektrogrammal a kép, és fordítva. Logikus kezdeni az értékelést a spectrogram, amelynél a kép kerül kiszámításra.
Ehhez mi már régóta tett értünk mások használják bekeretez függvényében voicebox könyvtár célja, hogy megoldja a különböző problémákat beszédfelismerés. bekeretez funkció csak lehetővé teszi, hogy csökkentsék a jelet egy előre meghatározott keretek pályán. Kerethossz veszünk vesszük megegyezik a hossza a Fourier-transzformáció (FFTLEN = 256), és a lépés - a fele, hogy értéke (128). Minden a legjobb hagyományok 🙂 Mindegyik keret kerül Hanning ablakot, hogy megszüntesse az oldalsó lebenyek a számítás a DFT. Mivel a keretek átfedésben van a fele, ha bevezetéséről ablakok, a súlyok összege alapján Az egymást átfedő részek egyenlő 1-gyel, és a mi könnyen visszaállítani a jel keretben felében két szomszédos kereteket.
A mondat: „Miért nem használja a kiszervezést országok olcsó munkaerő”, így a következő spektrum:

Az eredeti hang olyan (az online játékos még nem alakított ki .wav fájlok)
Természetes, hogy egyedülálló módon a jel helyreállításához nem. Kézhezvételét követően minden egyes képkocka spectrogram vett komplex modulus értékek - elveszett fázisinformációját. Ezért, ha csak összegyűjti a kinyert fél, nem lesz két probléma:
- Vannak jól látható kerethatárok (mint minden harmonikus lesz az azonos fázisban az egyes keretekben
- Components páratlan számú időszakok egy szinuszhullámhoz nem tapadnak össze simán
Az első probléma az is, hogy megoldja a második próbáltam húzza meg a szerelvényt fázis felezési kereteket - az egyik fél keretben. Ez úgy történt, mint ez:
Miután a helyreállítás, hogy kiderült, hogy
És most már csak azt kell írni egy kis funkció megszerzése spektrogramját a képeket. A fényképek egy fekete-fehér, majd méretezhető a kívánt magasságot dimenzió.
Egy kis csalt, öltés «image = 1-képet;», hogy egy negatív kép a mi medve nézett fényes foltok a sötétben, és nem fordítva. Ellenkező esetben - nem lenne túl nagy a zaj.
A forráskód és mindent meg kell a cikkből letölthető itt.
Ready programok ezeket a gyakorlatokat: