%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % SYN - 4. laboratorní úloha: % Spektrální manipulace % 15. října 2025 % autor: Roman Čmejla %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Tento skript vyžaduje následující soubor: % 'why11.wav' % % ------------------------------------------------- % Teoretický úvod: % % Fázový vokodér je nástroj pro analýzu a syntézu signálů ve frekvenční oblasti. % Umožňuje samostatně manipulovat s časovou a frekvenční složkou zvuku, % aniž by docházelo k výraznému zkreslení spektrální struktury. % Princip spočívá v převodu krátkých segmentů signálu do frekvenční oblasti % pomocí krátkodobé Fourierovy transformace (STFT), % úpravě amplitud a fází jednotlivých spektrálních složek, % a následné rekonstrukci signálu pomocí inverzní transformace. % % Fázový vokodér je využíván například pro: % - časové roztažení nebo zkrácení zvuku bez změny výšky tónu, % - posun výšky tónu bez změny délky trvání, % - tvorbu speciálních efektů (např. „robot“ nebo „šepot“), % - nelineární manipulaci spektra, jako je potlačení šumu. % ------------------------------------------------- %% PŘÍKLAD 4.1: Filtrace ve frekvenční oblasti % Načtěte zvukový signál (např. 'why11.wav') a vygenerujte sinusový signál % o frekvenci 430 Hz a stejné délce jako původní nahrávka. % % a) Proveďte přímou resyntézu původního signálu. % b) Přičtěte 430Hz sinusoidu k audio signálu a poté tuto složku % potlačte ve frekvenční oblasti. % % Poslechněte si původní i resyntetizovaný signál % a zobrazte je v časové i frekvenční oblasti. %% PŘÍKLAD 4.2: Prodloužení času pomocí fázového vokodéru % Změňte délku zvukového signálu s využitím fázového vokodéru. % Postup zahrnuje: % - úpravu poměru kroků mezi analýzou (N1) a syntézou (N2), % - interpolaci amplitudových obálek, % - přičítání rozbalených fázových rozdílů k předchozímu oknu fáze, % - rekonstrukci signálu pomocí komplexní exponenciály. % % a) Prodloužení signálu o 100 % (zdvojnásobení délky). Poměr N2/N1 = 2. % b) Zkrácení signálu o 50 % (polovina délky). Poměr N2/N1 = 0.5. %% PŘÍKLAD 4.3: Posun výšky tónu (Pitch Shifting) % Změňte výšku tónu signálu bez změny jeho délky pomocí fázového vokodéru. % Postup: % 1) Časové prodloužení signálu (poměr N2/N1), % 2) Následné převzorkování (poměr N1/N2). % % a) Posuňte výšku tónu o jednu oktávu výše. % b) Posuňte výšku tónu o jednu oktávu níže. %% PŘÍKLAD 4.4: Speciální efekty pomocí fázového vokodéru % Vytvořte různé efekty pomocí změny fáze signálu: % % a) Efekt „Robot“ – "vynulujte" fázi. % b) Efekt „Šepot“ – generujte náhodnou fázi. %% PŘÍKLAD 4.5: Nelineární potlačení šumu pomocí fázového vokodéru % Demonstrujte nelineární potlačení šumu ve zvukovém signálu % prostřednictvím spektrální manipulace: % % a) Vygenerujte šum, přičtěte jej k signálu a vypočtěte poměr SNR před potlačením. % b) Aplikujte spektrální manipulaci k nelineárnímu potlačení šumu % a pozorujte vliv na kvalitu signálu.