ПредишенСледващото

Превърнете изображение в звука - за блог на програмиста

Нека се опитаме да направим доста безсмислено упражнение, а именно звукът от конкретна спектограма. Изведнъж поредица от любовници EGF съкратен, не се обиждай за феновете на филма "White Noise» 🙂
Нека започнем с моделиране на Matlab. Искаме алгоритъм за превод на звука спектрограмата в картина и обратно. Логично е да се започне с оценка на спектрограмата, в който ще се изчислява на изображението.

За да направите това, което отдавна е направил за нас от други, се използват поставям в рамка функция на библиотеката на гръкляна, предназначени за решаване на различни проблеми в разпознаване на реч. поставям в рамка функция само ви позволява да се намали сигнала в кадъра в предварително определен терен. дължина Frame ние вземаме вземе равна на дължината на преобразуване на Фурие (FFTLEN = 256) и стъпка - половината от тази стойност (128). Всички най-добрите традиции 🙂 Всеки кадър се прилагат прозорец Хенинг за елиминиране на странични листа в изчисляване на DFT. От кадрите се припокриват с половина, когато се налагат прозорци, сумата от теглата по припокриващите се части е равен на 1, и ние можем лесно да се възстанови сигнала в рамка половината от два съседни кадъра.

За фразата: "Защо не трябва да използвате аутсорсинг в страни с евтина работна ръка", за да се получи следния спектър:

Превърнете изображение в звука - за блог на програмиста

Оригиналният звук беше толкова (с онлайн играч все още не е разбрал за .wav файлове)

Естествено е, че ние еднозначно реконструира сигнал не могат. При получаване на всяка спектограма рамка снимка, направена сложни на еластичност - загубена информация фаза. Ето защо, ако вие просто събира възстановени половина, ще има два проблема:

  1. Там ясно се виждат граници на цикъл (както всички хармоници ще бъдат на една и съща фаза на всеки кадър
  2. Съставки с нечетен брой периоди на една синусоида не се държим заедно гладко

Първият проблем е все още да се реши на втория се опитах да затегне фазата на монтажа на половин рамки - в една полу-блок. Това беше направено по този начин:

След възстановяването, че се оказа, че

И сега остава само да се напише една малка функция на придобиване на спектограма на снимките. Изображение в черно-бяло, а след това мащабира до желаната височина измерение.

Малко излъгани, бод «образ = 1-образ;» вземане на негативен имидж на нашата мечка погледна ярки петна в тъмното, а не обратното. В противен случай - това би било твърде много шум.

Изходен код и всичко от статията, което трябва да бъде изтеглено от тук.

Готов програми за тези упражнения:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!