classdef app1 < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
playButton matlab.ui.control.Button
stopButton matlab.ui.control.Button
FrequenceSpinnerLabel matlab.ui.control.Label
FrequenceSpinner matlab.ui.control.Spinner
UIAxes matlab.ui.control.UIAxes
end
properties (Access = private)
fs = 44100;
Freq;
music;
music1;
signal;
y;
y1;
y2;
fs1;
end
methods (Access = private)
% Code that executes after component creation
function startupFcn(app)
[app.y1,app.fs] = audioread('music.mp3',[1 1433250]);
app.signal = app.y1;
app.y2 = app.y1;
title(app.UIAxes, 'Freq');
xlabel(app.UIAxes, 'Time(s)');
end
% Button pushed function: playButton
function playButtonPushed(app, event)
app.Freq= 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
% Value changing function: FrequenceSpinner
function FrequenceSpinnerValueChanging(app, event)
changingValue = event.Value;
app.FrequenceSpinner.Limits=[1 5];
app.Freq=app.FrequenceSpinner.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
% Button pushed function: stopButton
function stopButtonPushed(app, event)
stop(app.music);
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 640 480];
app.UIFigure.Name = 'UI Figure';
% Create playButton
app.playButton = uibutton(app.UIFigure, 'push');
app.playButton.ButtonPushedFcn = createCallbackFcn(app, @playButtonPushed, true);
app.playButton.Position = [14 391 202 44];
app.playButton.Text = 'play';
% Create stopButton
app.stopButton = uibutton(app.UIFigure, 'push');
app.stopButton.ButtonPushedFcn = createCallbackFcn(app, @stopButtonPushed, true);
app.stopButton.Position = [14 329 202 41];
app.stopButton.Text = 'stop';
% Create FrequenceSpinnerLabel
app.FrequenceSpinnerLabel = uilabel(app.UIFigure);
app.FrequenceSpinnerLabel.HorizontalAlignment = 'right';
app.FrequenceSpinnerLabel.FontName = 'AR Brush3 Bold';
app.FrequenceSpinnerLabel.Position = [14 284 64 15];
app.FrequenceSpinnerLabel.Text = 'Frequence';
% Create FrequenceSpinner
app.FrequenceSpinner = uispinner(app.UIFigure);
app.FrequenceSpinner.ValueChangingFcn = createCallbackFcn(app, @FrequenceSpinnerValueChanging, true);
app.FrequenceSpinner.Position = [93 280 123 22];
app.FrequenceSpinner.Value = 1;
% Create UIAxes
app.UIAxes = uiaxes(app.UIFigure);
title(app.UIAxes, 'Title')
xlabel(app.UIAxes, 'X')
ylabel(app.UIAxes, 'Y')
app.UIAxes.Position = [233 152 376 283];
end
end
methods (Access = public)
% Construct app
function app = app1
% 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