%% a) Generování a přehrání sinu 220 Hz clear, clc % parametry tónu fs = 22050; f = 220; T = 0.5; % časový vektor a generování sinusového signálu t = 0:1/fs:T-1/fs; y = sin(2*pi*f*t); % přehrání signálu sound(y,fs); %% b) Přehrání po stisku a + Enter clear, clc % vygenerujeme stejný tón jako v příkladu a) fs = 22050; f = 220; T = 0.5; t = 0:1/fs:T-1/fs; y = sin(2*pi*f*t); % program čeká na zadání znaku a potvrzení klávesou Enter key = input('Stiskni a a Enter: ','s'); % tón přehrajeme pouze tehdy, pokud byl zadán znak 'a' if key == 'a' sound(y,fs); end %% c) Přehrání po stisku a bez Enteru clear, clc, close all % opět vygenerujeme stejný tón fs = 22050; f = 220; T = 0.5; t = 0:1/fs:T-1/fs; y = sin(2*pi*f*t); % vytvoříme okno, které reaguje na stisk klávesy % WindowKeyPressFcn určuje funkci (callback), která se při stisku zavolá fig = figure( ... 'Name','Stiskni klávesu a', ... 'NumberTitle','off', ... 'WindowKeyPressFcn',@(src,event) keyPressed(event,y,fs)); % Callback pro stisk klávesy. % event obsahuje informaci o stisknuté klávese, % y a fs předáváme z hlavní části skriptu. function keyPressed(event,y,fs) % pokud byla stisknuta klávesa 'a', přehrajeme tón if event.Character == 'a' sound(y,fs); end % konec if end % konec funkce keyPressed