frequency shift slider in real time

8 views (last 30 days)
Mohamed Turkmani
Mohamed Turkmani on 8 Sep 2022
Commented: rumin diao on 9 Sep 2022
i have the following code that reads an audio file, adds a frequency (the bold line) to the file and plots it , my question is the value of the added frequency comes from a slider (changingvalue), after changing the value the plot is plotted , how can i plot as im changing the value kinda like in real time.
changingValue = event.Value;
app.RPMGauge_2.Value = changingValue;
sample = 44100;
[y,Fs] = audioread("Sound and 1000 new.wav");
dt = 1/sample;
StopTime = 20;
Nsamps = length(y);
t = (1/sample)*(1:Nsamps);
A = 0.017;
xfreq = A*sin(2*pi*changingValue*t);
xfreq(t>StopTime) = 0;
xfreq = xfreq';
mix = y + xfreq;
y_fft = abs(fft(mix));
y_fft = y_fft(1:Nsamps/2);
f = Fs*(0:Nsamps/2-1)/Nsamps;
plot(f, y_fft)
xlim([0 5000])
ylim([0 9000])

Answers (1)

rumin diao
rumin diao on 8 Sep 2022
if you add a slider in appdesigner:
you can get the current slider number by "app.Slider.Value" . "app.Slider" is the name and "Value" is the property.
you can see: Slider Properties for more information.
rumin diao
rumin diao on 9 Sep 2022
same, add a plot in the callback function:
% Value changed function: aSlider
function aSliderValueChanged(app, event)
value = app.aSlider.Value;
plot(app.UIAxes,value);%app.UIAxes is where you want to plot, in your code is app.axes3 maybe.

Sign in to comment.


Find more on Audio I/O and Waveform Generation in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!