music :
code:
classdef midterm_app < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
PauseButton matlab.ui.control.Button
ResumeButton matlab.ui.control.Button
StopButton matlab.ui.control.Button
UIAxes matlab.ui.control.UIAxes
SliderLabel matlab.ui.control.Label
Slider matlab.ui.control.Slider
PlayButton matlab.ui.control.Button
end
properties (Access = private)
fs = 44100;
filterOrder = 5;
cutOffFreq = 1000;
Freq;
music;
signal;
y;
y1;
y2;
end
methods (Access = private)
% Code that executes after component creation
function startupFcn(app)
[app.y1,app.fs] = audioread('Cant Take My Eyes Off Of You.mp3',[1 1433250]);
app.signal = app.y1;
app.y2 = app.y1;
title(app.UIAxes, 'Freq');
xlabel(app.UIAxes, 'Time(s)');
end
% Button pushed function: PauseButton
function PauseButtonPushed(app, event)
pause(app.music);
end
% Button pushed function: ResumeButton
function ResumeButtonPushed(app, event)
resume(app.music);
end
% Button pushed function: StopButton
function StopButtonPushed(app, event)
stop(app.music);
end
% Value changed function: Slider
function SliderValueChanged(app, event)
value = app.Slider.Value;
end
% Button pushed function: PlayButton
function PlayButtonPushed(app, event)
app.Freq=app.Slider.Value* app.fs;
app.music = audioplayer(app.signal,app.Freq);
play(app.music,app.Freq);
time = (1:length(app.signal))/app.Freq;
plot(app.UIAxes, time, app.signal);
end
end
% App initialization and construction
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure
app.UIFigure = uifigure;
app.UIFigure.Position = [100 100 760 576];
app.UIFigure.Name = 'UI Figure';
% Create PauseButton
app.PauseButton = uibutton(app.UIFigure, 'push');
app.PauseButton.ButtonPushedFcn = createCallbackFcn(app, @PauseButtonPushed, true);
app.PauseButton.FontSize = 36;
app.PauseButton.FontAngle = 'italic';
app.PauseButton.Position = [37 314 133 77];
app.PauseButton.Text = 'Pause';
% Create ResumeButton
app.ResumeButton = uibutton(app.UIFigure, 'push');
app.ResumeButton.ButtonPushedFcn = createCallbackFcn(app, @ResumeButtonPushed, true);
app.ResumeButton.FontSize = 36;
app.ResumeButton.FontAngle = 'italic';
app.ResumeButton.Position = [37 131 143 69];
app.ResumeButton.Text = 'Resume';
% Create StopButton
app.StopButton = uibutton(app.UIFigure, 'push');
app.StopButton.ButtonPushedFcn = createCallbackFcn(app, @StopButtonPushed, true);
app.StopButton.BackgroundColor = [1 1 1];
app.StopButton.FontSize = 36;
app.StopButton.FontAngle = 'italic';
app.StopButton.Position = [37 212 133 87];
app.StopButton.Text = 'Stop';
% Create UIAxes
app.UIAxes = uiaxes(app.UIFigure);
title(app.UIAxes, 'Title')
xlabel(app.UIAxes, 'X')
ylabel(app.UIAxes, 'Y')
app.UIAxes.Position = [206 147 521 410];
% Create SliderLabel
app.SliderLabel = uilabel(app.UIFigure);
app.SliderLabel.HorizontalAlignment = 'right';
app.SliderLabel.Position = [198 86 36 22];
app.SliderLabel.Text = 'Slider';
% Create Slider
app.Slider = uislider(app.UIFigure);
app.Slider.Limits = [0 2];
app.Slider.ValueChangedFcn = createCallbackFcn(app, @SliderValueChanged, true);
app.Slider.Position = [255 95 466 3];
% Create PlayButton
app.PlayButton = uibutton(app.UIFigure, 'push');
app.PlayButton.ButtonPushedFcn = createCallbackFcn(app, @PlayButtonPushed, true);
app.PlayButton.BackgroundColor = [0 1 0];
app.PlayButton.FontSize = 36;
app.PlayButton.Position = [37 413 133 144];
app.PlayButton.Text = 'Play';
end
end
methods (Access = public)
% Construct app
function app = midterm_app
% Create and configure components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
% Execute the startup function
runStartupFcn(app, @startupFcn)
if nargout == 0
clear app
end
end
% Code that executes before app deletion
function delete(app)
% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
end
demo: