frequency shift slider in real time

3 vues (au cours des 30 derniers jours)
Mohamed Turkmani
Mohamed Turkmani le 8 Sep 2022
Commenté : rumin diao le 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;
axes(app.axes3);
plot(f, y_fft)
xlim([0 5000])
ylim([0 9000])

Réponses (1)

rumin diao
rumin diao le 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.
  2 commentaires
Mohamed Turkmani
Mohamed Turkmani le 8 Sep 2022
you clearly didint read my question, i dont have any problems with slider my problem is when changing its value i want the plot to change in real time
rumin diao
rumin diao le 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.
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur Audio I/O and Waveform Generation dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by